/ ディレクトリ / プレイグラウンド / MetaMCP
● コミュニティ metatool-ai ⚡ 即起動

MetaMCP

作者 metatool-ai · metatool-ai/metamcp

すべてのクライアント構成で 15 個の MCP エントリをやりくりするのはやめましょう。MetaMCP は、1 つの名前空間エンドポイントの背後にサーバーを集約するセルフホステッド ゲートウェイです。

MetaMCP は、Dockerized MCP アグリゲーター、オーケストレーター、およびゲートウェイです。 N 個の上流 MCP サーバーを管理 UI に登録します。 これらは、クライアント (Claude Desktop、Cursor など) が接続する単一の SSE/Streamable-HTTP エンドポイントとして公開されます。 ツール名には名前空間が設定されているため、異なるルートを指す 2 つのファイルシステム MCP を安全に実行できます。 OAuth 2.1、エンドポイントごとの API キー、ユーザーごとのレート制限、デバッグ用の組み込みインスペクターがすべて含まれています。 チームや 5 つ以上の MCP をインストールしている人に最適です。

なぜ使うのか

主な機能

ライブデモ

実際の動作

metamcp.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "metamcp": {
      "command": "uvx",
      "args": [
        "mcp-proxy",
        "http://localhost:12008/metamcp/default/sse"
      ],
      "env": {
        "API_ACCESS_TOKEN": "mm_..."
      }
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "metamcp": {
      "command": "uvx",
      "args": [
        "mcp-proxy",
        "http://localhost:12008/metamcp/default/sse"
      ],
      "env": {
        "API_ACCESS_TOKEN": "mm_..."
      }
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "metamcp": {
      "command": "uvx",
      "args": [
        "mcp-proxy",
        "http://localhost:12008/metamcp/default/sse"
      ],
      "env": {
        "API_ACCESS_TOKEN": "mm_..."
      }
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "metamcp": {
      "command": "uvx",
      "args": [
        "mcp-proxy",
        "http://localhost:12008/metamcp/default/sse"
      ],
      "env": {
        "API_ACCESS_TOKEN": "mm_..."
      }
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "metamcp",
      "command": "uvx",
      "args": [
        "mcp-proxy",
        "http://localhost:12008/metamcp/default/sse"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "metamcp": {
      "command": {
        "path": "uvx",
        "args": [
          "mcp-proxy",
          "http://localhost:12008/metamcp/default/sse"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add metamcp -- uvx mcp-proxy http://localhost:12008/metamcp/default/sse

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: MetaMCP

ラップトップごとに 15 の構成ではなく、1 つの MCP URL をチームに提供します

👤 プラットフォーム チームが組織全体に Claude Desktop / Cursor を展開 ⏱ ~45 min intermediate

使うタイミング: あなたのチームは、ファイルシステム、github、postgres、sentry、slack、notion をすべて利用できることを望んでいますが、漏洩する JSON ファイル内の 6 つのトークンをすべてのエンジニアが管理することは望ましくありません。

前提条件
  • Dockerを実行するサーバー — Docker Compose を備えた Linux ボックス/VM。 ~1 CPU / 1GB RAM で十分です
  • 上流の資格情報はサーバー側に保存されます — GITHUB_TOKEN、DB_URL などを MetaMCP の .env に配置します。ラップトップには決して到達しません。
フロー
  1. MetaMCP を起動する
    git clone github.com/metatool-ai/metamcp && cp example.env .env && docker compose up -d✓ コピーしました
    → 管理 UI は http://host:12008 でアクセス可能です。 デフォルトのログインは機能します
  2. 上流サーバーの登録
    MetaMCP 管理 UI で、ファイルシステム、github、postgres、notion を名前空間「fs」、「gh」、「db」、「notion」として追加します。✓ コピーしました
    → Each appears in the endpoint's tool list with prefix
  3. Give the team one config
    Publish the Claude Desktop config snippet — one mcp-proxy entry pointing at /metamcp/team-default/sse — to internal docs.✓ コピーしました
    → Every engineer paste-and-goes

結果: 新入社員は 90 秒で入社します。 トークンのローテーションはサーバー側で 1 回だけ行われます。

注意点
  • Claude Desktop can't do SSE natively — Use mcp-proxy (uvx mcp-proxy <sse-url>) on the client side — MetaMCP docs include this snippet
  • Namespaces collide or are ugly — Rename tools in MetaMCP's override UI; e.g. 'fs.read_text_file' → 'repo.read'
組み合わせ: filesystem · github · postgres

Audit which MCP tools your agents actually call — and throttle the noisy ones

👤 Security / platform engineers ⏱ ~20 min intermediate

使うタイミング: You need to know what tools are invoked, how often, and which user. Per-server rate limits are not enough — you want aggregate visibility.

フロー
  1. Turn on request logs
    In MetaMCP settings, enable per-request logging and endpoint-level rate limits (e.g. 10 req/s per user).✓ コピーしました
    → Logs appear in the admin UI
  2. Replay a suspicious trace
    Pull the last hour of tool calls for user 'marketing-bot'. Anything hitting the github write tools?✓ コピーしました
    → Tabular audit; write calls highlighted
  3. Throttle abusive tools
    Set 'notion.create_page' to 1 req/min for the 'marketing-bot' endpoint. Apply now.✓ コピーしました
    → Rate limit visible in config; takes effect immediately

結果: Governance surface without writing custom middleware.

Route dev/staging/prod MCP traffic through one gateway

👤 Teams with environment-specific credentials ⏱ ~30 min advanced

使うタイミング: You want the same Claude Desktop config to hit staging-postgres at work and prod-postgres only with an explicit flag — no editing JSON.

フロー
  1. Create endpoints
    Create 3 MetaMCP endpoints: /dev, /staging, /prod. Wire each to the right upstream credentials.✓ コピーしました
    → Three endpoint URLs
  2. Per-endpoint auth
    Give prod its own API key and enable OIDC SSO for that endpoint only.✓ コピーしました
    → dev/staging open with shared key, prod behind SSO
  3. Test via inspector
    Use MetaMCP's inspector UI: call a read-only query through /prod as yourself; confirm auth works.✓ コピーしました
    → Successful tool call in the inspector

結果: Accident-proof environment switching.

組み合わせ: postgres

組み合わせ

他のMCPと組み合わせて10倍の力を

metamcp + filesystem + github + postgres

Hide the per-tool sprawl behind one gateway URL

Configure MetaMCP with fs, gh, db namespaces; point Claude Desktop at the gateway; stop pasting tokens into JSON.✓ コピーしました
metamcp + claude-desktop

Claude Desktop speaks stdio, MetaMCP speaks SSE — use mcp-proxy as the bridge

In claude_desktop_config.json, wrap MetaMCP's SSE URL with uvx mcp-proxy.✓ コピーしました
metamcp + sentry

Send MetaMCP request logs/errors into Sentry for alerting

Wire MetaMCP's OpenTelemetry/logs into Sentry; alert on 5xx rate > 1%.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
(dynamic) Depends on which MCP servers you've registered — tools are forwarded with a namespace prefix Any time — it's a transparent proxy with auth + rate-limit added free (local gateway + upstream's own cost)

コストと制限

運用コスト

APIクォータ
None — self-hosted
呼び出しあたりのトークン
Same as upstream tools; MetaMCP adds ~1–3ms of proxy latency
金額
Free (MIT); you pay for the VM
ヒント
One small VPS ($5/mo) runs MetaMCP + a couple upstream servers; no need for Kubernetes until traffic > 100 req/s

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: MetaMCP .env holds all upstream credentials; clients never see them
データ送信先: Only to the upstream MCPs you've registered. Nothing phones home.
絶対に付与しない: Expose the admin UI to the public internet without SSO or auth proxy

トラブルシューティング

よくあるエラーと対処法

Claude Desktop shows 'server failed to start'

Claude Desktop uses stdio, not SSE. Configure with uvx mcp-proxy http://host:12008/metamcp/<endpoint>/sse, not a direct URL.

確認: Try the same URL in MetaMCP's inspector first — if it works there, the issue is stdio-to-SSE bridging
Tools missing or not namespaced

Check the endpoint config — namespaces are per-endpoint, not global. Re-sync tool discovery after adding an upstream.

確認: In admin UI, click 'Re-sync tools' on the endpoint
401 at the gateway

API_ACCESS_TOKEN env must match the endpoint's API key; OAuth endpoints need a completed consent flow first.

確認: curl -H 'Authorization: Bearer $TOKEN' http://host:12008/metamcp/<ep>/mcp
Upstream MCP server keeps restarting

Check the upstream container's logs via docker logs; MetaMCP will mark it unhealthy and surface errors to clients.

確認: docker compose logs <upstream>

代替案

MetaMCP 他との比較

代替案代わりに使う場面トレードオフ
IBM mcp-context-forgeEnterprise deployment with stronger IAM/governance needsHeavier stack; more config surface
mcp-use/mcp-useYou want a framework to build AI agents + servers, not just a proxyMore code; more surface; more power
Direct per-client configsYou run ≤3 MCPs and don't share configs with anyoneNo governance, no auth, tokens on every laptop

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る