mcpfold

Conecte todos os servidores MCP sem pagar o imposto da janela de contexto.

Documentação

mcpfold

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.

npm version downloads VS Code Marketplace Open VSX CI license node

mcpfold demo: init → import → sync → diff, cutting tool-schema tokens ~80%

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á em prd.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.jsonc comentado, 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

PacoteFinalidade
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/climcpfold — o binário CLI (init/import/sync/diff/doctor/…).
packages/schemaEsquema JSON publicado para mcp.config.jsonc.
apps/webEditor visual React/TS + diretório (Cloudflare Pages).
services/edgeServiç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:

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.