mcpfold
Conecte todos os servidores MCP sem pagar o imposto da janela de contexto.
Documentação
Conecte todos os servidores MCP sem pagar o imposto da janela de contexto.
Uma configuração canônica, distribuída para cada cliente — carregando apenas as ferramentas que cada agente precisa,
e resolvendo referências secretas references em vez de codificar valores.
Demonstração regenerada a partir da CLI real com pnpm demo:record (um asciinema cast + este SVG; um GIF é renderizado no CI via demo/mcpfold.tape). Os nomes de servidores exibidos são exemplos — nenhum endosso é implícito.
v1.0.0 está no ar. A CLI local-first e o núcleo são estáveis e gratuitos para sempre, licenciados sob MIT — instale abaixo. O cloud hospedado opcional (contas, sincronização de configuração, equipes) pode ser auto-hospedado. A documentação completa está em
docs/; o histórico de construção por etapas está emprd.json.
Por que mcpfold
O imposto da janela de contexto
Cada servidor MCP que você conecta despeja o esquema completo de suas ferramentas na janela de contexto do seu agente a cada
turno — usado ou não. O proxy local do mcpfold seleciona o conjunto de ferramentas por cliente. Em um
benchmark reproduzível — github (20 ferramentas), supabase (15), playwright (10),
45 ferramentas no total — selecionar para as 9 realmente necessárias reduz os tokens de esquema de ferramentas em ~80%
(7.476 → 1.497), sem configuração extra porque o shim já no caminho de inicialização faz a filtragem.
…e uma configuração para cada cliente
A configuração MCP se espalha entre clientes (Claude Code, Cursor, VS Code, Windsurf, Zed, …), e os formatos
divergiram silenciosamente: VS Code usa a chave raiz servers, Zed usa context_servers, todos os outros
usam mcpServers. Segredos ficam codificados em texto puro JSON. O mcpfold mantém um arquivo canônico e
o distribui para cada cliente — resolvendo referências de segredos (nunca valores) e selecionando quais servidores
e ferramentas cada cliente carrega.
- Uma única fonte de verdade — um
mcp.config.jsonccomentado, seguro para versão e validado pelo editor. - Seguro para segredos — configurações carregam referências
${scheme:path}; valores resolvidos nunca tocam o disco. - Menos tokens — curadoria de ferramentas por cliente e por agente via um proxy local.
- Portátil — saída determinística e byte-estável para cada formato de cliente.
Instalação
Cada canal resolve para a mesma versão para uma determinada release (uma verificação de CI garante paridade), então misture-os entre máquinas. Detalhes completos em docs/install.md.
npm / npx — sem instalação necessária para experimentar:
npx mcpfold init
npm install -g mcpfold # or: pnpm add -g mcpfold (installs `mcpfold` + the `mcpf` alias)
Homebrew (macOS / Linux):
brew install dj-pearson/tap/mcpfold
Scoop (Windows):
scoop bucket add mcpfold https://github.com/dj-pearson/scoop-bucket
scoop install mcpfold
curl | sh (macOS / Linux) — binário autônomo, sem Node, verificado por checksum:
curl -fsSL https://mcpfold.com/install.sh | sh
Binário autônomo — baixe para sua plataforma na
última release (macOS arm64/x64, Linux
x64/arm64, Windows x64), verifique o .sha256, e coloque-o no seu PATH.
mcpfold --version
Início rápido
Requer Node 20+ (para a instalação npm/npx; os binários não precisam de nada). O mcpfold detecta automaticamente
quais clientes MCP você tem instalados.
mcpfold init # 1. scaffold a commented mcp.config.jsonc (+ $schema for editor autocomplete)
mcpfold import # 2. scan installed clients and merge their servers into the canonical file
mcpfold sync # 3. fold the canonical config out to every detected client (native formats)
mcpfold diff # preview what sync would change, per client, before applying
mcpfold doctor # health-check config, clients, and secret references
Outros comandos: secret (gerenciar referências secretas), run (iniciar o proxy de curadoria), status,
add. Veja o Início rápido completo e a referência de comandos.
Reduza o imposto de tokens com curadoria
As economias acima vêm da curadoria — expondo apenas as ferramentas que um agente realmente usa. O curate
escreve uma lista de permissões; o sync distribui cada servidor curado como um shim de proxy mcpfold run, então os clientes
só carregam o conjunto de ferramentas enxuto:
mcpfold add fs --package @modelcontextprotocol/server-filesystem # add a server
mcpfold curate fs --tools read_text_file,write_file,list_directory # keep only what you use
# → fs: keeping 3 of 14 tools, ~3.2k → ~684 tokens (approx)
mcpfold sync # fold it out (writes a proxy shim)
Já está rodando seus servidores? O mcpfold curate puro lê o trilho de auditoria local e
recomenda a lista de permissões a partir do seu uso real de ferramentas. Verifique as economias medidas no seu próprio
configuração a qualquer momento com mcpfold status.
Clientes suportados
18 clientes, cada um lido e escrito em seu próprio formato nativo a partir de uma única fonte de verdade:
Claude Code · Claude Desktop · Cursor · VS Code · Visual Studio · Windsurf · Zed · Cline · Continue · Roo Code · Gemini CLI · Codex CLI · Copilot CLI · JetBrains · Goose · LM Studio · Warp · opencode
Novos adaptadores são uma rampa de um PR.
Autocompletar do editor (JSON Schema)
O mcpfold init adiciona uma linha $schema para que os editores ofereçam autocompletar + validação inline:
{
"$schema": "https://mcpfold.com/schema/v1.json",
"version": 1,
// …
}
O esquema é gerado a partir da fonte zod (packages/schema); uma verificação de CI falha se o mcp.config.schema.json comprometido
se desviar — regenere com
pnpm --filter @mcpfold/schema generate.
Como é construído
| Pacote | Finalidade |
|---|---|
packages/core | @mcpfold/core — motor puro, sem I/O: esquema, resolução, deriva, diff. |
packages/adapters | @mcpfold/adapters — um módulo por cliente (render nativo ↔ parse canônico). |
packages/secrets | @mcpfold/secrets — env / dotenv / infisical / keychain / 1Password. |
packages/proxy | @mcpfold/proxy — proxy MCP local para curadoria em nível de ferramenta. |
packages/cli | mcpfold — o binário CLI (init/import/sync/diff/doctor/…). |
packages/schema | Esquema JSON publicado para mcp.config.jsonc. |
apps/web | Editor visual React/TS + diretório (Cloudflare Pages). |
services/edge | Serviço de borda Deno — autenticação de código de dispositivo, push/pull de configuração, equipes. |
Pureza do núcleo é garantida: packages/core não pode importar node:fs, node:os, node:path, ou qualquer
biblioteca de rede/processo. Todo I/O é injetado através de ClientAdapter / SecretProvider. Protegido por uma
regra ESLint no-restricted-imports e o gate de CI scripts/check-core-purity.mjs.
Segurança
Valores secretos nunca tocam o disco ou logs — apenas referências (${scheme:path}) são armazenadas, e
valores são resolvidos em memória na inicialização. Cada propriedade de segurança é pareada com o teste ou trabalho de CI
que o prova no livro de Postura de segurança (protegido por CI para que uma afirmação
não sobreviva à sua evidência); as páginas narrativas Segurança e
Modelo de ameaças cobrem as superfícies e limites honestos.
Desenvolvimento
Requer Node 20+ e pnpm 10+ (corepack enable).
pnpm install # install workspace deps
pnpm lint # eslint + core-purity check
pnpm typecheck # tsc --noEmit across packages
pnpm test # vitest (unit + fixture snapshots)
pnpm -r build # build every package
pnpm verify_all # lint + typecheck + test + build (the full gate)
CI roda verify_all em uma matriz Windows/macOS/Linux × Node 20 — resolução de caminhos é central para este
produto, então a matriz multi-OS é inegociável. Novos adaptadores de clientes, provedores de segredos e
verificações doctor são especialmente bem-vindos — veja CONTRIBUTING.md.
Preços, financiamento e roteiro
A CLI e tudo local são gratuitos para sempre e licenciados sob MIT; o cloud hospedado é a superfície paga (e você pode auto-hospedá-lo gratuitamente). Veja o modelo de preços, o roteiro público, e como o projeto é gerido em governança.
Apoie o projeto
Se o mcpfold economiza seu tempo, você pode ajudar a financiar o trabalho contínuo:
- Recorrente — GitHub Sponsors ou Open Collective
- Pontual — doar via Stripe
Patrocínios financiam o núcleo gratuito e de código aberto. Obrigado 🙏
Licença
MIT para o núcleo packages/* + CLI. A camada de nuvem (apps/web, services/edge) é comercial/fechada.
Veja prd.json meta.license.