What is MCP-MCP is a Meta-MCP Server that acts as a tool discovery and provisioning service for the Model Context Protocol (MCP).?
MCP-MCP is a Meta-MCP Server that acts as a tool discovery and provisioning service for the Model Context Protocol (MCP). It helps AI assistants discover appropriate MCP servers from a comprehensive database of over a thousand servers aggregated from multiple curated sources. The database is automatically updated every 3 hours with the latest servers from the community.
Documentation
MCP-MCP: Meta-MCP Server
MCP-MCP is a Meta-MCP Server that acts as a tool discovery and provisioning service for the Model Context Protocol (MCP). When an AI assistant needs a capability that isn't currently available, it can ask MCP-MCP to discover and suggest appropriate MCP servers from a comprehensive database of over a thousand servers aggregated from multiple curated sources.
Think of it as a "phone book" for MCP servers - one tool to find all other tools.
🗃️ 1,660+ MCP Servers Available
MCP-MCP provides access to a comprehensive database aggregated from multiple curated sources, including:
Official MCP Servers (modelcontextprotocol/servers)
Community Collections (Punkpeye & Appcypher awesome lists)
Intelligent Deduplication ensures no duplicates across sources
The database is automatically updated every 3 hours with the latest servers from the community.
Motivation
Agents Just Wanna Have Tools
Agents know what they need: AI assistants can clearly articulate requirements like "check domain availability" or "get weather data"
Web search isn't always enough: Generic search results don't always provide realtime data
CLI tools require setup: Many tools need complex installation, configuration, and API keys - agents have to repeat this setup every single time they need to complete a task
MCP servers are scattered: Great tools exist but discovering them requires manual research across GitHub, forums, and documentation
Why make agents (and users) hunt for tools when we can bring the tools to them?
Quick Start Claude Desktop Configuration
Add MCP-MCP to your Claude Desktop configuration file:
direnv (optional, for automatic environment setup)
just (optional, for convenient development commands)
Setup
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
Install via uvx (for testing)
For testing the installed package:
uvx mcp-mcp
This installs and runs the MCP-MCP server directly via uvx.
Development Commands (with justfile)
This project includes a justfile for common development tasks:
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
Development Mode
For development and testing, use HTTP transport (easier to stop with Ctrl+C):
uv run main.py --http\n\n# 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\n\n# OR with justfile:
just run-stdio
# With auto-reload during development
just dev
Building
uv build\n\n# OR with justfile:
just build
# Test local installation
uvx --from ./dist/mcp_mcp-0.1.0-py3-none-any.whl mcp-mcp
Command Line Options
mcp-mcp --help
Option
Description
Default
--transport {stdio,http}
Transport method
stdio
--http
Use HTTP transport
-
--host HOST
Host for HTTP transport
localhost
--port PORT
Port for HTTP transport
8000
Testing
uv run pytest\n\n# OR with justfile:
just test
# Run only unit tests (fast, no network)
uv run pytest db/ -v\n\n# OR with justfile:
just test-unit
# Run only integration/e2e tests
uv run pytest tests/ -v\n\n# OR with justfile:
just test-integration
# Run GitHub integration tests (optional, requires network)
MCP_MCP_TEST_GITHUB_INTEGRATION=1 uv run pytest tests/\n\n# OR with justfile:
just test-integration-github
# Run all tests including GitHub integration
MCP_MCP_TEST_GITHUB_INTEGRATION=1 uv run pytest\n\n# OR with justfile:
just test-all
# Run with coverage
uv run pytest --cov=db
Test Structure:
Unit Tests: Located in db/ alongside the code they test (Go-style)
Integration/E2E Tests: Located in tests/ directory
Integration Tests: Set MCP_MCP_TEST_GITHUB_INTEGRATION=1 to test real GitHub downloads and verify the complete first-user onboarding experience. These tests ensure users get fast startup (< 5 seconds) with 1,660+ servers.