/ 디렉터리 / 플레이그라운드 / MetaMCP
● 커뮤니티 metatool-ai ⚡ 바로 사용

MetaMCP

제작: metatool-ai · metatool-ai/metamcp

모든 클라이언트 구성에서 15개의 MCP 항목을 저글링하지 마세요. MetaMCP는 하나의 네임스페이스 엔드포인트 뒤에 서버를 집계하는 자체 호스팅 게이트웨이입니다.

MetaMCP는 Dockerized MCP 수집기, 조정자 및 게이트웨이입니다. 관리 UI에 N개의 업스트림 MCP 서버를 등록합니다. 클라이언트(Claude Desktop, Cursor 등)가 연결하는 단일 SSE/Streamable-HTTP 엔드포인트로 노출됩니다. 도구 이름은 네임스페이스로 지정되므로 서로 다른 루트를 가리키는 두 개의 파일 시스템 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개의 구성 대신 팀에 하나의 MCP URL을 제공하세요.

👤 Claude Desktop / Cursor를 조직 전체에 출시하는 플랫폼 팀 ⏱ ~45 min intermediate

언제 쓸까: Your team wants filesystem, github, postgres, sentry, slack, notion all available — but you don't want every engineer maintaining 6 tokens in JSON files that leak.

사전 조건
  • A server that runs Docker — Any Linux box / VM with Docker Compose; ~1 CPU / 1GB RAM is plenty
  • Upstream credentials stored server-side — Put GITHUB_TOKEN, DB_URL, etc. in MetaMCP's .env — they never reach laptops
흐름
  1. Bring up MetaMCP
    git clone github.com/metatool-ai/metamcp && cp example.env .env && docker compose up -d✓ 복사됨
    → Admin UI reachable at http://host:12008; default login works
  2. Register upstream servers
    In the MetaMCP admin UI, add filesystem, github, postgres, notion as namespaces '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

결과: New hires onboard in 90 seconds; token rotation happens once, server-side.

함정
  • 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 읽기

🐙 열린 이슈 보기

🔍 400+ MCP 서버 및 Skills 전체 보기