MCP-MCP

Un meta-servidor para descubrir y aprovisionar otros servidores MCP desde una gran base de datos.

Documentación

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 es un servidor Meta-MCP que actúa como un servicio de descubrimiento y aprovisionamiento de herramientas para el Model Context Protocol (MCP). Cuando un asistente de IA necesita una capacidad que no está disponible actualmente, puede pedirle a MCP-MCP que descubra y sugiera servidores MCP apropiados de una base de datos completa de más de mil servidores agregados de múltiples fuentes curadas.

Piénsalo como una "guía telefónica" para servidores MCP: una herramienta para encontrar todas las demás herramientas.

🗃️ 2,874+ Servidores MCP Disponibles

MCP-MCP proporciona acceso a una base de datos completa agregada de múltiples fuentes curadas, incluyendo:

  • Servidores MCP Oficiales (modelcontextprotocol/servers)
  • Colecciones de la Comunidad (listas awesome de Punkpeye y Appcypher)
  • Deduplicación Inteligente garantiza que no haya duplicados entre fuentes

La base de datos se actualiza automáticamente cada 3 horas con los últimos servidores de la comunidad.

Motivación

Los Agentes Solo Quieren Tener Herramientas

  • Los agentes saben lo que necesitan: Los asistentes de IA pueden articular claramente requisitos como "verificar disponibilidad de dominio" u "obtener datos meteorológicos"
  • La búsqueda web no siempre es suficiente: Los resultados de búsqueda genéricos no siempre proporcionan datos en tiempo real
  • Las herramientas CLI requieren configuración: Muchas herramientas necesitan instalación compleja, configuración y claves API; los agentes tienen que repetir esta configuración cada vez que necesitan completar una tarea
  • Los servidores MCP están dispersos: Existen grandes herramientas, pero descubrirlas requiere investigación manual en GitHub, foros y documentación

¿Por qué hacer que los agentes (y usuarios) busquen herramientas cuando podemos llevarles las herramientas a ellos?

Inicio Rápido

Configuración de Claude Desktop

Añade MCP-MCP a tu archivo de configuración de Claude Desktop:

Ubicación del archivo de configuración:

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

Configuración:

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

Alternativa con pipx:

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

Configuración de Claude Code

Añade MCP-MCP a tu archivo de configuración de Claude Code:

claude mcp add mcp-mcp uvx mcp-mcp

Ejemplos de uso

Una vez configurado, puedes pedirle a Claude Desktop que descubra servidores MCP usando lenguaje natural:

  • "Encuéntrame un servidor MCP para datos meteorológicos"
  • "Necesito un servidor para verificar disponibilidad de dominio"
  • "Busca servidores MCP relacionados con datos del mercado de valores"
  • "¿Qué servidores MCP están disponibles para web scraping?"

Desarrollo

Requisitos previos

  • Python 3.13+
  • uv gestor de paquetes
  • direnv (opcional, para configuración automática del entorno)
  • just (opcional, para comandos de desarrollo convenientes)

Configuración

# 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

Instalación mediante uvx (para pruebas)

Para probar el paquete instalado:

uvx mcp-mcp

Esto instala y ejecuta el servidor MCP-MCP directamente mediante uvx.

Comandos de desarrollo (con justfile)

Este proyecto incluye un justfile para tareas comunes de desarrollo:

# 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 desarrollo

Para desarrollo y pruebas, usa transporte HTTP (más fácil de detener con 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

Compilación

# 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

Opciones de línea de comandos

mcp-mcp --help
OpciónDescripciónPor defecto
--transport {stdio,http}Método de transportestdio
--httpUsar transporte HTTP-
--host HOSTHost para transporte HTTPlocalhost
--port PORTPuerto para transporte HTTP8000

Pruebas

# 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

Estructura de pruebas:

  • Pruebas unitarias: Ubicadas en db/ junto al código que prueban (estilo Go)
  • Pruebas de integración/E2E: Ubicadas en el directorio tests/

Pruebas de integración: Establece MCP_MCP_TEST_GITHUB_INTEGRATION=1 para probar descargas reales de GitHub y verificar la experiencia completa de incorporación del primer usuario. Estas pruebas aseguran que los usuarios obtengan un inicio rápido (< 5 segundos) con 2,874+ servidores.

Hoja de ruta

Estado actual: MVP completo ✅

  • ✅ Descubrimiento multi-fuente (3 fuentes curadas, 2,874+ servidores únicos)
  • ✅ Búsqueda semántica con embeddings precomputados para respuesta en menos de un segundo
  • ✅ Distribución de producción mediante uvx/pipx con lanzamientos automatizados
  • ✅ Seguridad reforzada con middleware de validación de origen
  • ✅ Cobertura completa de pruebas (65+ pruebas)
  • ✅ Documentación completa y flujo de trabajo de desarrollo

Mejoras futuras (más allá del MVP)

  • Integración con Docker para contenerización automática de servidores
  • Proxy de protocolo MCP para ejecución fluida de servidores
  • Integración con la API de GitHub para descubrimiento de servidores en vivo
  • Gestión del ciclo de vida de servidores y limpieza
  • Soporte de registros privados
  • Resolución de dependencias
  • Monitoreo de rendimiento
  • Interfaz web para gestión de servidores

Contribuciones

¡Agradecemos las contribuciones! Consulta nuestra configuración de desarrollo y:

  1. Haz un fork del repositorio
  2. Crea una rama de características (git checkout -b feature/amazing-feature)
  3. Realiza tus cambios (git commit -m 'Add amazing feature')
  4. Empuja a la rama (git push origin feature/amazing-feature)
  5. Abre una Pull Request

Directrices de desarrollo

  • Sigue las mejores prácticas de Python 3.13+
  • Añade pruebas para nuevas funcionalidades
  • Actualiza la documentación según sea necesario
  • Usa mensajes de commit semánticos

Licencia

Este proyecto está licenciado bajo la Licencia MIT; consulta el archivo LICENSE para más detalles.

Agradecimientos


Hecho con ❤️ para el ecosistema MCP