1MCP

Um servidor MCP unificado que agrega múltiplos servidores MCP em um único endpoint.

Documentação

1MCP

NPM Version NPM Downloads CodeQl GitHub Repo stars Docs DeepWiki License

O 1MCP é o runtime MCP unificado. O 1mcp serve agrega seus servidores MCP, e o modo CLI adiciona um fluxo de trabalho mais enxuto voltado a agentes para Codex, Claude, Cursor e agentes similares que usam ferramentas.

Por que 1MCP

A maioria das configurações MCP acaba enfrentando dois tipos de proliferação:

  • Proliferação de configuração: cada cliente precisa de sua própria conexão MCP, escolhas de autenticação e regras de filtragem.
  • Proliferação de agentes: sessões autônomas carregam ferramentas e esquemas demais no contexto logo de início.

O 1MCP resolve ambos:

  • O 1mcp serve oferece um runtime agregado na frente de vários servidores MCP.
  • O modo CLI permite que agentes descubram ferramentas progressivamente com instructions, inspect e run.
  • Servidores estáticos podem carregar na inicialização, enquanto servidores de template são criados a partir do contexto por cliente ou por sessão.
  • Presets, filtros e agregação de instruções mantêm o mesmo runtime adaptável entre clientes e projetos.
AbordagemMelhor paraCompensação
Modo CLI do 1MCPCodex, Claude, loops de agentesRequer uma instância 1mcp serve em execução
Proxy stdio do 1MCPCompatibilidade máxima entre clientesAinda depende de serve, e clientes HTTP com suporte a autenticação têm um caminho mais direto
HTTP streamable diretoClientes HTTP nativos de MCPSem contexto de projeto, sem .1mcprc, e uma superfície de ferramentas mais ampla é exposta diretamente
Proxy personalizadoShims de compatibilidade pontuaisVocê é responsável por descoberta, filtragem, autenticação e ciclo de vida do runtime

Início Rápido para Usuários de Agentes

Esta página é otimizada para usuários de agentes de IA. O resultado em 5 minutos é simples: inicie um runtime 1mcp serve real, conecte seu agente com cli-setup e verifique o fluxo de trabalho instructions -> inspect -> run.

Instale o 1MCP, adicione um servidor upstream e inicie o runtime:

npm install -g @1mcp/agent
1mcp mcp add context7 -- npx -y @upstash/context7-mcp
1mcp serve

Em um segundo terminal, conecte seu agente ao modo CLI:

1mcp cli-setup --codex
# or
1mcp cli-setup --claude --scope repo --repo-root .

Em seguida, verifique o fluxo de trabalho do agente:

# shell 1
1mcp serve

# shell 2
1mcp instructions
1mcp inspect context7
1mcp inspect context7/query-docs
1mcp run context7/query-docs --args '{"libraryId":"/mongodb/docs","query":"aggregation pipeline"}'

Se você quiser o passo a passo completo (com critérios de sucesso e saídas alternativas), use o guia de Início Rápido.

Para um determinado agente, escolha apenas um modo. Se você mudar esse agente para o modo CLI, remova antes a configuração MCP direta antiga.

Por que o Modo CLI Existe

O modo CLI é o fluxo de trabalho principal para sessões no estilo agente. Ele mantém o MCP como protocolo de backend, mas reduz o que o agente vê em cada etapa:

  • O instructions explica o runtime atual e o fluxo recomendado
  • O inspect permite que o agente descubra apenas o servidor ou a ferramenta de que precisa
  • O run executa uma ferramenta selecionada após a inspeção do esquema

Isso dá aos loops de agentes uma superfície de trabalho menor sem abrir mão do runtime unificado por trás do 1mcp serve.

Escolha Outro Caminho

Proxy Stdio

Use 1mcp proxy quando quiser a mais ampla compatibilidade de clientes sem abrir mão do contexto de projeto.

É o fallback recomendado após o modo CLI porque ele:

  • funciona com o transporte stdio que a maioria dos clientes de IA já suporta
  • mantém o contexto de projeto por meio do .1mcprc
  • suporta servidores MCP de template resolvidos a partir do contexto de projeto ou sessão
  • é mais fácil de implementar com configuração global única mais configuração por projeto

O modo stdio direto não é o caminho recomendado. Ele é útil principalmente para depuração, pois a inicialização do 1MCP é mais lenta que uma configuração stdio autônoma enxuta.

Anexo MCP Direto

O anexo MCP direto ainda é suportado para clientes que desejam se comunicar com o runtime agregado via HTTP streamable.

Exemplos:

{
  "mcpServers": {
    "1mcp": {
      "url": "http://127.0.0.1:3050/mcp?app=cursor"
    }
  }
}
claude mcp add -t http 1mcp "http://127.0.0.1:3050/mcp?app=claude-code"

Use este caminho se o seu cliente já fala MCP nativamente, pode trabalhar sem contexto de projeto e você não quer o modo CLI. Para Codex, Claude, Cursor e loops de agentes similares, prefira o modo CLI primeiro e o proxy em segundo lugar.

Operadores de Runtime

Use a documentação mais aprofundada se você estiver configurando ou implantando o próprio runtime:

Contribuidores

Como Funciona

flowchart LR
    A[User or Agent] --> B[1mcp serve]
    B --> C[Static servers loaded at startup]
    B --> D[Template servers resolved from client or session context]
    A --> E[CLI mode: instructions -> inspect -> run]
    E --> B
    F[Direct streamable HTTP client] --> B
    G[stdio-compatible client] --> H[1mcp proxy]
    H --> B

O 1MCP roda como um runtime agregado por trás do 1mcp serve. Servidores estáticos são preparados a partir da configuração de inicialização, servidores de template são materializados quando o contexto do cliente é conhecido, e o runtime pode usar carregamento assíncrono para disponibilidade antecipada do listener HTTP e lazy loading para uma superfície de ferramentas estável. A agregação de instruções, presets e notificações ficam ao lado desse runtime, e não fora dele.

O lazy loading é um modo de compatibilidade de superfície de ferramentas estável e opcional. Ele mantém a superfície de descoberta e invocação do backend em tool_list, tool_schema e tool_invoke para que agentes capazes possam descobrir ferramentas progressivamente sem substituir sua tabela de ferramentas MCP. Quaisquer ferramentas de gerenciamento interno explicitamente habilitadas permanecem diretamente expostas. O lazy loading reduz a carga inicial de esquema, mas não reduz conexões ou processos de backend, não faz a inicialização síncrona vincular mais cedo nem repara processos proxy órfãos. Veja #392 para o contrato de visibilidade assíncrona de servidores tardios.

Capacidades Principais

  • Runtime unificado para muitos servidores MCP por trás de um processo serve
  • Modo CLI para descoberta progressiva com 1mcp instructions, 1mcp inspect <server>, 1mcp inspect <server>/<tool> e 1mcp run <server>/<tool> --args '<json>'
  • Servidores de template para resolução por cliente ou por sessão
  • Carregamento assíncrono opcional para disponibilidade antecipada do listener HTTP quando os clientes podem reconciliar mudanças de capacidade
  • Lazy loading opcional para uma superfície de ferramentas estável com descoberta progressiva e esquemas iniciais menores
  • Recuperação automática opcional para backends stdio próprios, com visibilidade de saúde/status e controles de reinicialização pelo operador
  • Agregação de instruções entre servidores estáticos e baseados em template
  • Presets, filtros e notificações de mudança de preset
  • proxy para máxima compatibilidade com contexto de projeto e suporte a servidores de template
  • Acesso MCP HTTP streamable direto para clientes HTTP nativos que não precisam de contexto de projeto

Casos de Uso Comuns

  • Dar a um agente de codificação um runtime estável, mas com uma superfície de trabalho menor.
  • Compartilhar o mesmo inventário MCP entre Cursor, Claude Code, Codex e ferramentas internas.
  • Expor servidores de template específicos de contexto por repositório, branch ou sessão.
  • Centralizar autenticação, filtragem, presets e ciclo de vida do runtime em vez de reconstruí-los em scripts ad hoc.

Contribuição / Licença

Contribuições são bem-vindas. Veja CONTRIBUTING.md para o fluxo de trabalho de desenvolvimento e LICENSE para a licença Apache 2.0.