Scope by Ouroboros Apps
Escopo de trabalho freelance, tarifas, prazos e ordens de alteração
Servidor MCP hospedado
npx add-mcp 'https://scope-continuity2.vercel.app/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
Escopo
O Scope mantém o escopo aprovado, as taxas, os prazos e as ordens de alteração de um freelancer, e permite que um assistente leia esse registro antes de responder. Um assistente não pode inventar um desconto ou prometer trabalho que não foi aprovado.
Ele funciona com ChatGPT, Claude, Gemini, Grok e Cursor, além de qualquer outro cliente MCP que suporte Streamable HTTP e OAuth. Não é um plugin exclusivo do ChatGPT.
Entre com sua conta Scope quando o assistente abrir o OAuth. Não cole uma chave de API ou senha em um cabeçalho. O Scope suporta registro dinâmico de clientes: deixe o client id e o secret vazios. Os metadados do recurso protegido em /.well-known/oauth-protected-resource/mcp apontam os clientes para o emissor OAuth, que os registra.
As ferramentas do Scope exigem Pro ou uma avaliação ativa. Uma nova assinatura inclui uma avaliação de 14 dias. Esta página não lista um valor. O checkout mostra o intervalo de cobrança e os termos de pagamento.
Execute o servidor você mesmo e use a URL base que você configurar. O endereço MCP local padrão é http://127.0.0.1:3000/mcp.
Servidor hospedado
- URL do servidor MCP:
https://scope-continuity2.vercel.app/mcp(Streamable HTTP, login OAuth) - Documentação: https://ouroborosapps.com/docs/scope
- Status: acesso antecipado. Cole a URL no modo desenvolvedor do Claude, Cursor, Grok ou ChatGPT.
- Nome do registro:
io.github.LAHutchins91/scope
O que o assistente pode fazer
Após você aprovar a conexão, o servidor expõe estas ferramentas:
- list_engagements
- create_engagement
- get_approved_record
- save_scope_item
- save_rate
- save_deadline
- approve_scope
- file_change_order
- approve_change_order
get_approved_record é a leitura que o assistente deve fazer antes de responder. Termos em rascunho não são um compromisso aprovado. Uma ordem de alteração proposta não altera o registro. Após o escopo ser aprovado, save_rate recusa uma taxa menor, e save_scope_item recusa trabalho novo. Essas alterações passam por file_change_order e depois por approve_change_order, e somente quando você aprovar explicitamente essa ordem.
O assistente só chama essas ferramentas quando você e o host permitirem.
Conectar
Cursor, em ~/.cursor/mcp.json ou em um projeto .cursor/mcp.json:
{
"mcpServers": {
"scope": {
"url": "http://127.0.0.1:3000/mcp"
}
}
}
Não adicione um bloco de cabeçalhos. O Cursor registra um cliente e abre o login.
Claude Code:
claude mcp add --transport http scope http://127.0.0.1:3000/mcp
Não passe um cabeçalho Authorization. Outros clientes usam o mesmo endereço, escolhem OAuth e deixam client id e secret vazios. As etapas para ChatGPT, Claude, Gemini, Grok e Cursor estão na página de conexão em /connect.
Os metadados do registro deste servidor estão em server.json (io.github.LAHutchins91/scope). A URL remota pública lá é https://scope-continuity2.vercel.app/mcp.
Executar
npm install
npm test
npm run typecheck
npm run build
npm start
Quando stdin é um terminal, o Scope serve Streamable HTTP na porta 3000. Quando stdin não é um terminal, ele fala MCP via stdio e ainda abre a porta HTTP. Os logs durante o modo stdio vão para stderr para não se misturarem com o protocolo.
Os registros são armazenados de forma durável em um arquivo JSON. O caminho padrão é ~/.scope/scope.json. Defina SCOPE_DATA_PATH para movê-lo. Um processo do servidor é dono desse arquivo.
O OAuth usa a mesma ideia de um servidor de autorização Supabase com registro dinâmico de clientes. Defina estas variáveis no processo do servidor, não em um cabeçalho MCP:
APP_BASE_URL(padrãohttp://localhost:3000)SUPABASE_URLSUPABASE_ANON_KEYSTRIPE_SECRET_KEYSTRIPE_WEBHOOK_SECRETSTRIPE_PRICE_MONTHLYeSTRIPE_PRICE_YEARLY(IDs de catálogo do Stripe, não valores)OPENAI_APPS_CHALLENGE(opcional). Quando definido,GET /.well-known/openai-apps-challengeretorna esse token como texto simples para verificação de domínio da OpenAI. Quando não definido, a rota responde com404e o textoVerification is not configured.
Chamadas de ferramentas que não sejam de descoberta exigem uma conta conectada cujo status de assinatura seja active ou trialing.
Mais da Ouroboros: https://ouroborosapps.com