Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

MCP-MCP: Meta-MCP Server

Servers Python 3.13+ License: MIT Build Status PyPI

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

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.

🗃️ 2,289+ 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:

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

  • Python 3.13+
  • uv package manager
  • direnv (optional, for automatic environment setup)
  • just (optional, for convenient development commands)

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

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:

# 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

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

Building

# 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

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

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 2,289+ servers.

Roadmap

Current Status: MVP Complete ✅

  • ✅ Multi-source discovery (3 curated sources, 2,289+ unique servers)
  • ✅ Semantic search with precomputed embeddings for sub-second response
  • ✅ Production distribution via uvx/pipx with automated releases
  • ✅ Security hardened with origin validation middleware
  • ✅ Comprehensive test coverage (65+ tests)
  • ✅ Complete documentation and development workflow

Future Enhancements (Beyond MVP)

  • Docker integration for automatic server containerization
  • MCP protocol proxy for seamless server execution
  • GitHub API integration for live server discovery
  • Server lifecycle management and cleanup
  • Private registry support
  • Dependency resolution
  • Performance monitoring
  • Web UI for server management

Contributing

We welcome contributions! Please see our development setup and:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. 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


Made with ❤️ for the MCP ecosystem

Metadata

Release files for iflow-mcp_wojtyniak-mcp-mcp 0.2.1.dev145

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_wojtyniak-mcp-mcp 0.2.1.dev145
File Size Uploaded
iflow_mcp_wojtyniak_mcp_mcp-0.2.1.dev145.tar.gz 378.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_wojtyniak-mcp-mcp 0.2.1.dev145
File Interpreter ABI Platform
iflow_mcp_wojtyniak_mcp_mcp-0.2.1.dev145-py3-none-any.whl Python 3 none any Details

Total release size: 416.6 kB

Release files / iflow_mcp_wojtyniak_mcp_mcp-0.2.1.dev145.tar.gz

Download URL iflow_mcp_wojtyniak_mcp_mcp-0.2.1.dev145.tar.gz
Size 378.9 kB
Tags Source
SHA-256 checksum
How to use checksums
aa90c4b8d3d05b81a4005d9f40f75e5c3ebfeab2bd176b1af6811f2743661a65
BLAKE2b-256 checksum
How to use checksums
e2591382f256c0fa31e20cc9ef1540d667a09875a77bb38a0d5164dd70d5d17b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_wojtyniak_mcp_mcp-0.2.1.dev145-py3-none-any.whl

Download URL iflow_mcp_wojtyniak_mcp_mcp-0.2.1.dev145-py3-none-any.whl
Size 37.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
59512abefd147e2dfb4c47a0c6d095ddf88812ca0614b213180a8cec6deaaa74
BLAKE2b-256 checksum
How to use checksums
1eb24567e7295c8cf964e1a5d114adc9a75f359c26ed0afe924dc71ecb06002c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.2.1.dev145 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page