Skip to main content
Glama

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,874+ 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.

Related MCP server: Magg

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

Roadmap

Current Status: MVP Complete āœ…

  • āœ… Multi-source discovery (3 curated sources, 2,874+ 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

Available Tools

1 tool
find_mcp_toolA

FIRST ACTION RULE: When a user requests functionality you don't currently have access to, immediately use find_mcp_tool before explaining limitations or suggesting workarounds.

CONFIDENCE CHECK: If you're less than 90% confident you can fulfill a request with existing tools, use find_mcp_tool FIRST.

IMMEDIATE SEARCH TRIGGERS:

  • Real-time data (weather, stocks, crypto, exchange rates, news)

  • Web scraping, browser automation, or content extraction

  • Complex calendar operations (recurring events, scheduling, meeting coordination)

  • File format conversions (PDF, video, audio, image processing)

  • External service integrations (email sending, SMS, webhooks, messaging platforms)

  • Database operations (SQL queries, data imports/exports, vector databases)

  • Domain/DNS/network tools (availability, WHOIS, ping, traceroute)

  • Social media APIs (posting, analytics, profile data)

  • Data analysis beyond basic calculations (statistical analysis, ML, visualization)

  • Geographic/mapping services (geocoding, routing, location data)

  • Cloud platform management (AWS, Azure, Kubernetes, infrastructure)

  • Authentication and security operations (OAuth, API keys, security scanning)

  • Version control beyond basic Git (advanced operations, repository management)

  • Communication platforms (Slack, Discord, Telegram integration)

  • Blockchain and cryptocurrency operations (wallet management, DeFi interactions)

  • Code execution in sandboxed environments

  • Voice/speech generation and processing

  • Project management and productivity tools integration

  • Art, culture, and museum database access

  • Customer data platform queries

  • Developer tooling: automated testing (Playwright, Selenium), debugging, profiling, performance analysis

  • Development environments: game engines (Godot, Unity), IDEs, simulators, device testing

  • Build and deployment: CI/CD pipelines, Docker containers, package management, infrastructure as code

  • Code quality: linting, formatting, static analysis, security scanning, code review automation

  • API development: testing, documentation generation, mock servers, API monitoring

  • Mobile development: iOS/Android tooling, app store integration, device farms

  • Monitoring and observability: APM, logging systems, error tracking, metrics collection

  • Any request involving "create", "manage", "integrate", "automate", "query", "scrape", "deploy", "test", "debug", "build", "monitor", or "connect to"

WORKFLOW: User request → Check confidence → If <90% confident → Use find_mcp_tool → Present solution

SUCCESS PATTERNS: User: "Create recurring calendar events" → Use find_mcp_tool for calendar integration (don't just create basic iCal)

User: "What's the weather in Tokyo?" → Use find_mcp_tool for weather server (don't say "I can't access weather")

User: "Check if example.com is available" → Use find_mcp_tool for domain checker (don't suggest manual checking)

This tool searches a curated database of MCP servers and returns the complete README documentation from the repository. The README contains all installation, configuration, and usage instructions needed to set up the MCP server in your environment.

IMPORTANT: After finding a server, read the provided README content carefully to understand:

  • Installation requirements (npm, uvx, pip, etc.)

  • Configuration steps for Claude Desktop or Claude Code

  • Required API keys or environment variables

  • Available tools and their usage

Args: description: Natural language description of the functionality you need example_question: Example of how you would use this capability (helps with matching)

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionYes
example_questionNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the disclosure burden. It clearly states that the tool returns README documentation from a curated repository, not that it performs the requested operation itself. It also explains what to do with the returned README. It doesn't address no-results or error behavior, but the core read-only search behavior is well conveyed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The actual tool behavior is summarized in one sentence, but that sentence is preceded by a very long trigger list, workflow, and success patterns that are often repetitive. The description is structured with headings, but it is disproportionately large for such a simple tool and not front-loaded with the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given two parameters, no output schema, and no annotations, the description is reasonably complete: it explains the return value (README docs), what to do with it, and both parameter purposes. It lacks explicit handling of no-match cases, but it provides enough context for an agent to invoke the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must define the parameters. It does: description is 'Natural language description of the functionality you need' and example_question is 'Example of how you would use this capability (helps with matching)'. This adds meaningful context beyond the bare schema fields and tells the agent what to pass.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

After the usage preamble, the description clearly states it searches a curated database of MCP servers and returns the complete README documentation. This gives a specific verb, resource, and scope. While it doesn't need to differentiate from siblings (none exist), the core purpose is buried late in a lengthy description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description is essentially a usage policy: it gives a FIRST ACTION RULE, a confidence check, a long list of immediate search triggers, a workflow, and concrete success patterns. This makes when-to-use guidance extremely explicit and actionable, even though no alternative tools are named because there are no siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4.1/5.0
Disambiguation5/5

Only one tool exists, so there is no possibility of confusion between tools. The tool's purpose is clearly defined as searching for MCP servers.

Naming Consistency5/5

The single tool name follows a clear verb_noun pattern (find_mcp_tool). With only one tool, there is no inconsistency or mixed conventions to penalize.

Tool Count3/5

The server has only one tool, which feels thin for a server that could reasonably support additional discovery-related operations. However, given its narrow meta-purpose of finding MCP servers, the count is borderline but not unreasonable.

Completeness4/5

The tool fully covers the search-and-return README workflow for its stated purpose. Minor gaps exist, such as the inability to list all available servers or filter by category, but these are not essential for the core functionality.

Maintenance

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    A meta-MCP server that manages and aggregates other MCP servers, enabling LLMs to dynamically extend their own capabilities by searching for, adding, and configuring tool servers.
    16
    142
    AGPL 3.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    A meta-MCP server that acts as a universal gateway, allowing users to discover and execute tools from thousands of other MCP servers through semantic search. It dynamically loads servers on demand and provides standardized functions for searching, discovering, and running tools across the entire MCP ecosystem.
    6

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wojtyniak/mcp-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server