MCP-MCP

Um meta-servidor para descobrir e provisionar outros servidores MCP a partir de um grande banco de dados.

Documentação

MCP-MCP: Servidor Meta-MCP

Servers Python 3.13+ License: MIT Build Status PyPI

MCP-MCP: An MCP server that helps discover other MCP servers

MCP-MCP é um Servidor Meta-MCP que atua como um serviço de descoberta e provisionamento de ferramentas para o Model Context Protocol (MCP). Quando um assistente de IA precisa de uma capacidade que não está disponível no momento, ele pode pedir ao MCP-MCP para descobrir e sugerir servidores MCP apropriados a partir de um banco de dados abrangente com mais de mil servidores agregados de múltiplas fontes selecionadas.

Pense nele como uma "lista telefônica" para servidores MCP — uma ferramenta para encontrar todas as outras ferramentas.

🗃️ 2.874+ Servidores MCP Disponíveis

O MCP-MCP fornece acesso a um banco de dados abrangente agregado de múltiplas fontes selecionadas, incluindo:

  • Servidores MCP Oficiais (modelcontextprotocol/servers)
  • Coleções da Comunidade (listas awesome do Punkpeye e Appcypher)
  • Deduplicação Inteligente garante que não haja duplicatas entre as fontes

O banco de dados é atualizado automaticamente a cada 3 horas com os servidores mais recentes da comunidade.

Motivação

Agentes Só Querem Ter Ferramentas

  • Agentes sabem o que precisam: Assistentes de IA conseguem articular claramente requisitos como "verificar disponibilidade de domínio" ou "obter dados meteorológicos"
  • A busca na web nem sempre é suficiente: Resultados de busca genéricos nem sempre fornecem dados em tempo real
  • Ferramentas de CLI exigem configuração: Muitas ferramentas precisam de instalação complexa, configuração e chaves de API — agentes precisam repetir essa configuração toda vez que precisam concluir uma tarefa
  • Servidores MCP estão espalhados: Ótimas ferramentas existem, mas descobri-las exige pesquisa manual em GitHub, fóruns e documentação

Por que fazer agentes (e usuários) caçarem ferramentas quando podemos trazer as ferramentas até eles?

Início Rápido

Configuração do Claude Desktop

Adicione o MCP-MCP ao seu arquivo de configuração do Claude Desktop:

Localização do Arquivo de Configuração:

  • macOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Configuração:

{
  "mcpServers": {
    "mcp-mcp": {
      "command": "uvx",
      "args": ["mcp-mcp"]
    }
  }
}

Alternativa com pipx:

{
  "mcpServers": {
    "mcp-mcp": {
      "command": "mcp-mcp"
    }
  }
}

Configuração do Claude Code

Adicione o MCP-MCP ao seu arquivo de configuração do Claude Code:

claude mcp add mcp-mcp uvx mcp-mcp

Exemplos de Uso

Após a configuração, você pode pedir ao Claude Desktop para descobrir servidores MCP usando linguagem natural:

  • "Encontre um servidor MCP para dados meteorológicos"
  • "Preciso de um servidor para verificar disponibilidade de domínio"
  • "Busque por servidores MCP relacionados a dados do mercado de ações"
  • "Quais servidores MCP estão disponíveis para web scraping?"

Desenvolvimento

Pré-requisitos

  • Python 3.13+
  • Gerenciador de pacotes uv
  • direnv (opcional, para configuração automática do ambiente)
  • just (opcional, para comandos de desenvolvimento convenientes)

Configuração

# Clone the repository
git clone https://github.com/your-username/mcp-mcp.git
cd mcp-mcp

# Install dependencies
uv sync

# Run tests
uv run pytest

# Run the server
uv run main.py

Instalação via uvx (para testes)

Para testar o pacote instalado:

uvx mcp-mcp

Isso instala e executa o servidor MCP-MCP diretamente via uvx.

Comandos de Desenvolvimento (com justfile)

Este projeto inclui um justfile para tarefas comuns de desenvolvimento:

# List all available commands
just help

# Development with auto-reload
just dev      # STDIO mode with file watching
just dev-http # HTTP mode with file watching

# Running without auto-reload
just run-stdio # STDIO mode
just run-http  # HTTP mode

# Testing
just test             # Unit tests only
just test-integration # Include GitHub integration tests

# Building and publishing
just build           # Build package
just publish-test    # Publish to Test PyPI
just publish-prod    # Publish to Production PyPI

# Utilities
just version # Show version
just clean   # Clean build artifacts

Modo de Desenvolvimento

Para desenvolvimento e testes, use transporte HTTP (mais fácil de interromper com Ctrl+C):

# HTTP mode (accessible at http://localhost:8000)
uv run main.py --http
# OR with justfile:
just run-http

# With auto-reload during development
just dev-http

# Custom host/port
uv run main.py --http --host 0.0.0.0 --port 3000

# STDIO mode (for MCP clients like Claude Desktop)
uv run main.py  # Note: To stop STDIO mode, use Ctrl+D (EOF), not Ctrl+C
# OR with justfile:
just run-stdio

# With auto-reload during development
just dev

Compilação

# Build package
uv build
# OR with justfile:
just build

# Test local installation
uvx --from ./dist/mcp_mcp-0.1.0-py3-none-any.whl mcp-mcp

Opções de Linha de Comando

mcp-mcp --help
OpçãoDescriçãoPadrão
--transport {stdio,http}Método de transportestdio
--httpUsar transporte HTTP-
--host HOSTHost para transporte HTTPlocalhost
--port PORTPorta para transporte HTTP8000

Testes

# Run all tests (unit + integration)
uv run pytest
# OR with justfile:
just test

# Run only unit tests (fast, no network)
uv run pytest db/ -v
# OR with justfile:
just test-unit

# Run only integration/e2e tests
uv run pytest tests/ -v
# OR with justfile:
just test-integration

# Run GitHub integration tests (optional, requires network)
MCP_MCP_TEST_GITHUB_INTEGRATION=1 uv run pytest tests/
# OR with justfile:
just test-integration-github

# Run all tests including GitHub integration
MCP_MCP_TEST_GITHUB_INTEGRATION=1 uv run pytest
# OR with justfile:
just test-all

# Run with coverage
uv run pytest --cov=db

Estrutura de Testes:

  • Testes Unitários: Localizados em db/ junto com o código que testam (estilo Go)
  • Testes de Integração/E2E: Localizados no diretório tests/

Testes de Integração: Defina MCP_MCP_TEST_GITHUB_INTEGRATION=1 para testar downloads reais do GitHub e verificar a experiência completa de integração do primeiro usuário. Esses testes garantem que os usuários tenham inicialização rápida (< 5 segundos) com 2.874+ servidores.

Roadmap

Status Atual: MVP Completo ✅

  • ✅ Descoberta multi-fonte (3 fontes selecionadas, 2.874+ servidores únicos)
  • ✅ Busca semântica com embeddings pré-computados para resposta em menos de um segundo
  • ✅ Distribuição de produção via uvx/pipx com lançamentos automatizados
  • ✅ Segurança reforçada com middleware de validação de origem
  • ✅ Cobertura abrangente de testes (65+ testes)
  • ✅ Documentação completa e fluxo de trabalho de desenvolvimento

Melhorias Futuras (Além do MVP)

  • Integração com Docker para conteinerização automática de servidores
  • Proxy de protocolo MCP para execução contínua de servidores
  • Integração com a API do GitHub para descoberta de servidores em tempo real
  • Gerenciamento do ciclo de vida de servidores e limpeza
  • Suporte a registros privados
  • Resolução de dependências
  • Monitoramento de desempenho
  • Interface web para gerenciamento de servidores

Contribuições

Aceitamos contribuições! Consulte nossa configuração de desenvolvimento e:

  1. Faça um fork do repositório
  2. Crie um branch de funcionalidade (git checkout -b feature/amazing-feature)
  3. Faça commit das suas alterações (git commit -m 'Add amazing feature')
  4. Envie para o branch (git push origin feature/amazing-feature)
  5. Abra um Pull Request

Diretrizes de Desenvolvimento

  • Siga as melhores práticas do Python 3.13+
  • Adicione testes para novas funcionalidades
  • Atualize a documentação conforme necessário
  • Use mensagens de commit semânticas

Licença

Este projeto é licenciado sob a Licença MIT — consulte o arquivo LICENSE para detalhes.

Agradecimentos


Feito com ❤️ para o ecossistema MCP