MCP-MCP: Meta-MCP Server for dynamic MCP server discovery and provisioning
Project description
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.
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
Install via uvx (Recommended)
uvx mcp-mcp
This installs and runs the MCP-MCP server directly via uvx.
Claude Desktop Configuration
Add MCP-MCP to your Claude Desktop configuration file:
Configuration File Location:
- macOS:
~/Library/Application\ Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Configuration:
{
"mcpServers": {
"mcp-mcp": {
"command": "uvx",
"args": ["mcp-mcp"]
}
}
}
Alternative with pipx:
{
"mcpServers": {
"mcp-mcp": {
"command": "mcp-mcp"
}
}
}
Claude Code Configuration
Add MCP-MCP to your Claude Code configuration file:
claude mcp add mcp-mcp uvx mcp-mcp
Usage Examples
Once configured, you can ask Claude Desktop to discover MCP servers using natural language:
- "Find me an MCP server for weather data"
- "I need a server for checking domain availability"
- "Search for MCP servers related to stock market data"
- "What MCP servers are available for web scraping?"
Development
Prerequisites
Setup
# 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
Development Mode
For development and testing, use HTTP transport (easier to stop with Ctrl+C):
# HTTP mode (accessible at http://localhost:8000)
uv run main.py --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
Building
# Build package
uv 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
# Run all unit tests (fast, no network)
uv run pytest
# Run specific module tests
uv run pytest db/ -v
# Run GitHub integration tests (optional, requires network)
MCP_MCP_TEST_GITHUB_INTEGRATION=1 uv run pytest db/test_precomputed_data_workflow.py::test_real_github_download -v -s
# Run with coverage
uv run pytest --cov=db
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 1296+ servers.
Roadmap
Current Status: PoC Complete
- ✅ Multi-source discovery (3 curated MCP server lists)
- ✅ Semantic search with precomputed embeddings
- ✅ Configuration string generation
- ✅ FastMCP integration
Next: MVP Foundation
- Multi-source discovery (GitHub API)
- Docker integration for server execution
- MCP protocol proxy
- Server lifecycle management
Future Enhancements
- Private registry support
- Dependency resolution
- Performance monitoring
- Web UI for server management
Contributing
We welcome contributions! Please see our development setup and:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Guidelines
- Follow Python 3.13+ best practices
- Add tests for new functionality
- Update documentation as needed
- Use semantic commit messages
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Model Context Protocol team at Anthropic
- Open source MCP server maintainers and contributors
- MCP Server Lists:
Made with ❤️ for the MCP ecosystem
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_mcp-0.1.1.tar.gz.
File metadata
- Download URL: mcp_mcp-0.1.1.tar.gz
- Upload date:
- Size: 347.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bfb2fc77bcc37406b599f720eec1f6669ef31b26e019111e36a5baf1ecd6da6
|
|
| MD5 |
f29e6f7681ef95a2c675db5a0ce12136
|
|
| BLAKE2b-256 |
cb363d53957fa93e7fbe1902a7393e87370c7aa79c701c2ae94e22d7d00c9555
|
File details
Details for the file mcp_mcp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: mcp_mcp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 34.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dfe60c4ff03d97180e6bebd6626d716413e2b0ca4e2c9bc634c1c6478991484b
|
|
| MD5 |
5c3835f68446fb0e1bfbe31919ad74a5
|
|
| BLAKE2b-256 |
dd029baa8b6eeed6f39ace32963f7061a58b1db8b12878637a90abb421fac42e
|