mcpcut
Proxy local na frente de qualquer servidor MCP: registra cada chamada de ferramenta com segredos ocultos, retém chamadas arriscadas para sua aprovação, coloca em quarentena ferramentas alteradas; o registro é à prova de adulteração com uma âncora externa.
Documentação
mcpcut
Veja cada chamada de ferramenta que seu agente de IA faz via MCP, segure as arriscadas para sua aprovação e mantenha um diário com segredos ocultos que é à prova de adulteração com uma âncora externa.
Auto-hospedado · Apache-2.0 · Node.js 24+ · duas dependências de runtime. Comece com um servidor no seu laptop; cresça até um plano de controle para muitos agentes.

Início rápido
Requer Node.js 24+ (node -v); em Node mais antigo, o mcpcut imprime uma linha e sai — instale o Node 24 com nvm, fnm ou volta. Nada mais para instalar.
Veja. Coloque o mcpcut na frente de um servidor — aqui para Claude Code; em qualquer outro cliente, o comando do servidor se torna npx -y mcpcut@0.2.4 wrap -- <your server>:
claude mcp add fs -- npx -y mcpcut@0.2.4 wrap --server fs -- npx -y @modelcontextprotocol/server-filesystem ~/project
O primeiro início baixa o mcpcut e o servidor; se seu cliente desistir, inicie mais uma vez. Deixe o agente trabalhar, depois npx -y mcpcut@0.2.4 sessions e npx -y mcpcut@0.2.4 show <id>: cada requisição e resposta, com segredos ocultos (com uma política, também cada decisão). --server fs nomeia o servidor nas decisões que uma política escreve no diário e na fila de aprovações.
Pare. Salve isso como policy.json — leituras passam, todo o resto espera por você (a quarentena de novas ferramentas está desligada, então o primeiro minuto mostra um portão: veja Quarentena) — e re-adicione o servidor com --policy "$PWD/policy.json" logo após wrap (claude mcp remove fs primeiro):
{ "version": 1, "defaultDecision": "require-approval", "classDefaults": { "read": "allow" },
"quarantine": { "enabled": false } }
Uma escrita agora espera. Aprove-a de outro terminal dentro da espera do agente (60 s; depois disso, a nova tentativa do agente passa) — nenhum token é necessário até você adicionar seu primeiro administrador (Aprovações):
npx -y mcpcut@0.2.4 approvals list
npx -y mcpcut@0.2.4 approvals approve <id>
Prove. Assine o histórico, exporte-o e verifique-o offline — com nada além do diretório:
npx -y mcpcut@0.2.4 keygen && npx -y mcpcut@0.2.4 export --report --out ./report
npx -y mcpcut@0.2.4 verify --report ./report
npx -y mcpcut@0.2.4 verify --sign
A última linha assina o topo da cadeia: guarde o que ela imprime em algum lugar que este host não possa reescrever — a âncora fora de banda é o que torna o diário à prova de adulteração, não apenas os hashes.
Cresça. npm install -g mcpcut, depois mcpcut: um assistente de configuração, depois um registro de servidores, chaves e concessões por agente, um cofre de credenciais, uma interface web, um console de terminal e um endereço por agente (Instalação e primeira execução).
O que você obtém
- Diário — cada requisição, resposta e decisão, com segredos ocultos antes de qualquer gravação. Opcionalmente, falha fechada: sem registro, sem chamada.
- Política por ferramenta —
allow,denyourequire-approvalpor servidor, nome de ferramenta ou classe de ferramenta; ferramentas somente leitura podem passar sozinhas. - Aprovações — uma chamada arriscada espera até que alguém a aprove pela CLI, interface web ou console de terminal.
- Quarentena — uma nova ferramenta, ou uma cuja descrição ou esquema mudou depois que você a confiou, é retida até revisão, com um diff do que mudou.
- Agentes e concessões — um registro de servidores, uma chave por agente, concessões por ferramenta, grupos e um cofre criptografado, para que credenciais de servidor nunca fiquem na configuração de um agente.
- Um endereço por agente — cada servidor que um agente tem acesso atrás de um endpoint; conceda ou revogue sem tocar no cliente.
- Evidência — uma cadeia de hashes com um topo assinado e um relatório de auditoria que qualquer um pode verificar offline com uma chave pública.
- Interface de administração e console de terminal — administradores nomeados com papéis de
owner,operatoreviewer; cada mudança é atribuída no diário.
Como funciona
AI agent ── stdio or HTTP ──▶ mcpcut ──────────────────▶ MCP servers
(Claude Code, grants → policy → (filesystem,
Cursor, …) quarantine → approval GitHub, …)
│
▼
journal.db — redacted, hash-chained
│ export --report
▼
verify offline, anywhere
Três formas de entrada, um portão:
wrap— na frente de um servidor, sem configuração e sem identidade: o Início rápido acima.connecteserve— servidores nomeados do registro, uma chave por agente, credenciais do cofre.- O pool (
/mcp) — um endereço por agente para cada servidor que ele tem acesso;connect --urlfaz a ponte de um cliente stdio em outra máquina para ele.
O quadro completo, com os limites de confiança: docs/ARCHITECTURE.md.
Documentação
| Guia | Abrange |
|---|---|
| Instalação e primeira execução | npm ou fonte, o assistente de configuração, o primeiro proprietário, alcançar o serviço por IP |
| Envolvendo um servidor e lendo o diário | wrap, sessions, show, .mcp.json, registro com falha fechada, limites conhecidos |
| Políticas, aprovações e quarentena | policy.json, classes de ferramentas, aprovações, quarentena, filtragem tools/list |
| Registro, agentes e o cofre | servidores, chaves e concessões de agentes, grupos, revogação de acesso, o cofre |
| Agentes HTTP e o pool | serve, um endereço por agente, connect --url |
| Interface de administração | o console web, administradores e papéis, seu modelo de ameaças |
| O console de terminal | mcpcut em um terminal, o console remoto |
| Serviços, Docker e backups | start/stop/status, systemd e launchd, Docker, backup e restauração |
| Relatórios de auditoria e retenção | export --report, verify --report, a âncora fora de banda, prune |
| Referência da CLI | cada comando e flag |
| Status | o que é entregue e a evidência por trás de cada linha |
Status
O mcpcut é 0.x. O núcleo — proxy, política, aprovações, quarentena, diário, relatório de auditoria, interface de administração e console — é entregue e coberto por testes; Status lista cada capacidade com sua evidência.
- Pré-visualização: o console remoto (
mcpcut --remote) e a ponteconnect --url. Eles funcionam e são testados contra um VPS via TLS, mas colocam um token na rede, tiveram apenas uma revisão de segurança interna e podem mudar dentro do 0.x. - À prova de adulteração significa com uma âncora externa. Um processo rodando como o mesmo usuário do SO pode reescrever o diário e re-assiná-lo; apenas um topo de cadeia registrado em algum lugar que este host não possa escrever expõe isso. O mcpcut não é à prova de adulteração, e se um relatório satisfaz uma auditoria é decisão do auditor.
- Um freio para erros, não uma sandbox. Um agente que também tem um shell como seu usuário pode alcançar o mesmo
approvals approveque você executa: um token de administrador registra quem aprovou, não impede o mesmo usuário do SO (Aprovações). O erro que uma chamada retida retorna diz ao agente que um humano deve aprovar e nunca nomeia o comando.
Segurança
Por favor, relate vulnerabilidades em privado — SECURITY.md diz como. Todo o produto teve uma auditoria de segurança interna em setembro de 2026; nenhuma auditoria independente foi feita ainda.
Contribuindo
Issues e pull requests são bem-vindos — veja CONTRIBUTING.md.
Licença
Apache-2.0 — veja NOTICE.