SuperAPI AI Directory

metatool-app

MetaMCP: unified middleware MCP server that manages your MCP connections through a GUI.

Open website

About this tool

MetaMCP is an MCP proxy that allows you to dynamically aggregate multiple MCP servers into a unified MCP server and apply middleware. MetaMCP itself is an MCP server, so it can be easily connected to any MCP client.

Core Concepts

  • MCP Server: A configuration that tells MetaMCP how to start an MCP server. For STDIO MCP servers, three ways of handling environment variables and secrets are supported: raw values, environment variable references (${ENV_VAR_NAME} syntax), and automatic matching.
  • MetaMCP Namespace: Groups one or more MCP servers, can enable/disable at the MCP server or tool level, applies middleware, overrides tool names/titles/descriptions, and attaches custom MCP annotations.
  • MetaMCP Endpoint: Create an endpoint and assign namespaces to the endpoint; multiple MCP servers in the namespace will be aggregated into a single MetaMCP endpoint. Supports API key authentication or standard OAuth, over SSE or Streamable HTTP transport.
  • Middleware: Intercepts and transforms MCP requests and responses at the namespace level. The built-in example "Filter Inactive Tools" can optimize the LLM's tool context.
  • Inspector: Similar to the official MCP Inspector, but with saved server configurations, allowing immediate debugging of MetaMCP endpoints.
  • Tool Overrides and Annotations: Edit tool names/titles/descriptions inline, or provide JSON annotations; annotation overrides are merged with the metadata returned by the upstream MCP server.

Key Capabilities

  • Group MCP servers into namespaces, host them as a meta MCP, and assign public endpoints (SSE or Streamable HTTP) with authentication. Switch an endpoint's namespace with one click.
  • When mixing MCP servers, select only the tools you need, and apply pluggable middleware (observability, security, etc., coming soon).
  • Use as an enhanced MCP Inspector with saved server configurations, and check whether MetaMCP endpoints are working properly.
  • Planned Elasticsearch for MCP tool selection (coming soon).
  • Developers can use MetaMCP as infrastructure to host dynamically composed MCP servers through a unified endpoint and build agents on top of it.

Usage

Quick Start

Docker Compose is recommended: clone the repository, prepare the .env file, and start docker compose. You can also use Dev Containers (VSCode/Cursor) to build a development environment, or develop locally.

Connecting to MetaMCP

MetaMCP endpoints are remote-only (SSE, Streamable HTTP, OpenAPI). Clients that only support stdio (such as Claude Desktop) require a local proxy. mcp-proxy is recommended. The API key authentication format is sk_mt_..., and the best practice is to use it in the Authorization: Bearer <API_KEY> header.

Authentication

  • The frontend and backend use Better Auth, and session cookies enforce secure internal MCP proxy connections.
  • API key authentication is used for external access.
  • MCP OAuth: Exposed endpoints can optionally use standard OAuth.
  • Multi-tenancy: Supports private and public access scopes.
  • Registration control: Administrators can independently control UI registration and SSO/OAuth registration.

Traffic Management

  • Endpoint rate limiting: Applies to all clients, shares counters, and returns 503 when exceeded.
  • User rate limiting: Sets counters for each user and endpoint, and returns 429 when exceeded.

OIDC Support

Supports OpenID Connect authentication and integrates with enterprise SSO (Auth0, Keycloak, Azure AD, etc.).

Use Cases

  • Developers who need to aggregate multiple MCP servers into a unified endpoint for use by AI agents.
  • Teams that want to dynamically compose MCP servers and apply middleware (such as observability and security).
  • Organizations that need enterprise-grade features such as multi-tenancy, authentication, and rate limiting.

Limitations

  • Some features (such as observability middleware and Elasticsearch tool selection) have not yet been launched.
  • Clients that only support stdio require an additional proxy.
  • Cold start issue: By default, 1 idle session is preallocated for each MCP server, but a custom Dockerfile may be needed to reduce cold start time.
  • Environment variable references are resolved from the MetaMCP container environment.
  • The documentation does not provide specificpricing or cost information.