프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. Google로 로그인하면 리뷰를 쓸 수 있어요.프로토타입 · 30분마다 업데이트
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

mcp-broker

제작자: doricstack버전 2.1.1i★ 6i내 컴퓨터에서 실행
레지스트리 이름io.github.doricstack/mcp-broker

설치 방법

What it does

Local MCP broker that exposes one compact entry for many upstream servers.

  • Connects 내 컴퓨터에서 실행
  • Account or key No key needed
  • Category 기타

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

검사 3/3 통과 · 내 컴퓨터에서 실행돼요

먼저: 어떤 AI를 쓰시나요?

쓰는 앱을 고르면 아래에 단계가 나옵니다.

Claude에 연결할 수 있지만 먼저 준비가 필요해요

먼저 컴퓨터에 Python (uv)를 설치하세요 (한 번만) · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요

  1. Python (uv) 설치

    한 번만 하면 Python (uv)가 필요한 모든 서버에 쓸 수 있어요

    Python (uv) 다운로드 페이지 열기 ↗

  2. 컴퓨터용 Claude 앱 설정 파일 열기

    SettingsDeveloperEdit Config

  3. 이 설정을 붙여 넣고 저장

    명령을 확인하는 중 · 확인을 통과하면 복사 버튼이 나타나요

  4. Claude를 끄고 다시 열기

  5. 해 보기

    mcp-broker을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Claude가 mcp-broker을 쓰고 있다고 하거나 답에 mcp-broker 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

ChatGPT는 아직 mcp-broker에 연결할 수 없어요

mcp-broker는 내 컴퓨터에 설치해서 쓰지만 ChatGPT는 웹에서 도는 서버만 연결할 수 있어요

대신 이렇게 할 수 있어요

A · mcp-broker에 연결되는 앱 쓰기

  • 먼저 컴퓨터에 Python (uv)를 설치하세요 (한 번만) · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요
  • 먼저 컴퓨터에 Python (uv)를 설치하세요 (한 번만)
  • 먼저 컴퓨터에 Python (uv)를 설치하세요 (한 번만)
  • 먼저 컴퓨터에 Python (uv)를 설치하세요 (한 번만)

B · 기타에서 ChatGPT에 연결되는 다른 서버

같은 분류에서 많이 쓰는 것 중 키 없이 주소만으로 연결되는 것을 골랐어요

Claude Code에 연결할 수 있지만 먼저 준비가 필요해요

먼저 컴퓨터에 Python (uv)를 설치하세요 (한 번만)

  1. Python (uv) 설치

    한 번만 하면 Python (uv)가 필요한 모든 서버에 쓸 수 있어요

    Python (uv) 다운로드 페이지 열기 ↗

  2. 터미널 열기

    Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기

  3. 이 명령을 붙여 넣고 Enter

    명령을 확인하는 중 · 확인을 통과하면 복사 버튼이 나타나요

  4. Claude Code에서 /mcp 입력

    mcp-broker이 목록에 있고 연결됨으로 보이면 돼요

  5. 해 보기

    mcp-broker을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Claude Code가 mcp-broker을 쓰고 있다고 하거나 답에 mcp-broker 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

Cursor에 연결할 수 있지만 먼저 준비가 필요해요

먼저 컴퓨터에 Python (uv)를 설치하세요 (한 번만)

  1. Python (uv) 설치

    한 번만 하면 Python (uv)가 필요한 모든 서버에 쓸 수 있어요

    Python (uv) 다운로드 페이지 열기 ↗

  2. 이 버튼으로 Cursor 열기

    명령을 확인하는 중 · 확인을 통과하면 복사 버튼이 나타나요

  3. Cursor에서 AI 채팅을 Agent 모드로 열기

  4. 해 보기

    mcp-broker을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Cursor가 mcp-broker을 쓰고 있다고 하거나 답에 mcp-broker 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

VS Code에 연결할 수 있지만 먼저 준비가 필요해요

먼저 컴퓨터에 Python (uv)를 설치하세요 (한 번만)

  1. Python (uv) 설치

    한 번만 하면 Python (uv)가 필요한 모든 서버에 쓸 수 있어요

    Python (uv) 다운로드 페이지 열기 ↗

  2. 이 버튼으로 VS Code 열기

    명령을 확인하는 중 · 확인을 통과하면 복사 버튼이 나타나요

  3. VS Code에서 AI 채팅을 Agent 모드로 열기

  4. 해 보기

    mcp-broker을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ VS Code가 mcp-broker을 쓰고 있다고 하거나 답에 mcp-broker 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

Windsurf, Zed, Gemini CLI 같은 다른 MCP 앱은 추가 방법이 저마다 달라요. 앱 목록에서 확인하세요

MCP를 쓰는 앱 모두 보기 →

JSON 설정은 아래 “개발자용”에 있어요

막혔나요? mcp-broker을 쓰는 사람에게 물어보세요💬 토론 →
개발자용: 터미널 명령과 JSON 설정

컴퓨터에 설치

Claude Code

명령을 확인하는 중 · 확인을 통과하면 복사 버튼이 나타나요

Claude Desktop (claude_desktop_config.json)

명령을 확인하는 중 · 확인을 통과하면 복사 버튼이 나타나요

Cursor (~/.cursor/mcp.json)

명령을 확인하는 중 · 확인을 통과하면 복사 버튼이 나타나요

VS Code (mcp.json)

명령을 확인하는 중 · 확인을 통과하면 복사 버튼이 나타나요

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

한눈에 보기

주간 다운로드i
64/주
연결 방식
내 컴퓨터에서 실행
최신 버전i
2.1.1
카테고리i
기타
레지스트리 공개i
2026년 9월 6일
코드 마지막 변경i
2026년 10월 27일
제작자
doricstack
패키지
pypi: mcp-broker
웹사이트
github.com
레지스트리 상태
활성

어떤 앱에서 쓸 수 있나요

이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.

내 컴퓨터에서 실행하는 앱

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

모든 앱과 장단점 →

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 13일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 doricstack 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • ✓ 통과

    계속 관리되고 있음

    코드 마지막 변경: 17일 전

  • ✓ 통과

    라이선스 있음

    MIT 사용

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

토론

질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.

아직 글이 없어요. 처음으로 질문하거나 공유해 보세요.

이곳의 글은 사용자가 쓴 것으로, PopNx 팀의 글이 아니에요.

Google로 로그인하고 글쓰기

사용자 리뷰

아직 리뷰가 없어요

Google로 로그인하고 리뷰 쓰기

기타 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 19515개 중 95%보다 스타가 많아요
  • 이 카테고리의 다른 서버 19515개 중 30%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 19515개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

mcp-broker, 안전한가요?

해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 17일 전 변경됐고, 최신 버전(2.1.1)은 2개월 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: World Monitor, Claude Flow, Windmill

같은 카테고리의 다른 것

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

World Monitor

Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 104 tools.

제작자: koala73널리 사용됨★ 9.1만어제 업데이트

클라우드에서 실행✓ 서비스 회사 · worldmonitor.app

Claude Flow

AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.

제작자: ruvnet널리 사용됨↓ 1.4만/주★ 8.2만14개월 전 업데이트

내 컴퓨터에서 실행

Windmill

Run Windmill scripts and flows and manage jobs, schedules, resources and variables.

제작자: windmill-labs널리 사용됨★ 1.9만어제 업데이트

클라우드에서 실행

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

mcp-broker

mcp-broker is a local Model Context Protocol process broker for MCP clients.

Think PgBouncer for MCP: one stable local endpoint in front of many upstream MCP servers. The broker owns upstream startup, reuse, cleanup, profile exposure, status, and safe tool routing.

The core idea is simple: do not make every agent session load every upstream tool definition before the user asks a task.

Why this exists

AI coding sessions with many MCP servers tend to accumulate the same problems:

  • every client config repeats the same MCP server list
  • every new session can start duplicate upstream processes
  • OAuth, browser state, local files, and database handles spread across tools
  • raw tool lists consume context before the task begins
  • hosted connector caches can duplicate local MCP tools
  • orphaned MCP processes survive after client sessions exit

mcp-broker puts a small broker facade in front of those upstreams. It is not a hosted workflow builder; it is local infrastructure for keeping MCP clients small, predictable, and under one config contract.

Client profile

| | one local MCP entry v mcp-broker-client | | Unix socket v mcp-broker-daemon | | profile gates, namespace routing, status, cleanup v upstream MCP servers

The client sees a small set of broker tools:

broker_search_tools

broker_describe_tool broker_call_tool broker_status broker_close_session

The upstream MCPs still exist. They are discovered and called through the broker when a task needs them.

Measured context reduction

On 2026-05-24, the measured Codex setup went from many raw MCP and hosted app tool definitions to one broker facade plus a pruned codex_apps cache.

SurfaceBeforeAfterReduction
Direct Codex MCP server entries11190.91%
MCP tool definitions414499.03%
Hosted codex_apps tool definitions1953980.00%
Combined always-loaded tool definitions6094392.94%
Combined serialized tool payload bytes1,026,171185,87781.89%
Combined o200k_base tool tokens276,98945,28183.65%

The 92.94% number is a tool-definition count reduction. The 83.65% number is a token reduction for canonical serialized tool payloads measured with tiktoken o200k_base.

See docs/context-reduction-measurement.md for evidence and caveats.

What it does

  • Runs one local broker daemon over a Unix socket.
  • Exposes one lightweight stdio client shim to MCP clients.
  • Starts upstream MCP servers on demand.
  • Reuses shared upstreams across sessions when configured.
  • Isolates per-session upstreams when state must not be shared.
  • Maps upstream tools into stable namespaces.
  • Exposes compact search, describe, call, status, and caller-bound session-close tools.
  • Enforces profile-level tool budgets and exposure gates.
  • Blocks mutating upstream exposure unless a profile allowlist grants it.
  • Stores runtime state under $HOME/mcp/mcp-broker, outside the repo.
  • Renders MCP client config entries with dry-run, backup, and rollback.
  • Provides LaunchAgent install and uninstall flows for macOS.
  • Provides Linux systemd user-service render, install, unload, and removal flows.
  • Provides Windows PowerShell Scheduled Task render, install, and removal flows.
  • Includes unit, journey, live, and e2e tests through Makefile targets.

Core differentiators:

  • Profile-scoped exposure: each MCP client gets a configured view of upstreams instead of every tool by default.
  • Mutating-tool gates: mutating upstreams stay hidden until a profile allowlist grants access.
  • Lifecycle ownership: shared and per-session upstreams are started, watched, stopped, and reaped by the broker.
  • Client parity checks: rendered profiles can be validated through the same compact broker facade before config is applied.

Who this is for

Use mcp-broker if you:

  • use Codex, Claude Code, AGY CLI, or other MCP clients
  • have more MCP tools than you want in every session
  • need shared local MCP servers without duplicate process startup
  • want one place for OAuth state, browser state, sockets, logs, and cleanup
  • need per-client profiles instead of the same tool list everywhere
  • want a small broker facade instead of raw upstream tool dumps

This repo is not an enterprise MCP control plane. It is local desktop infrastructure for developer-agent workflows.

Current status

Implemented:

  • YAML config loading from config/broker.private.yaml, created from config/broker.example.yaml.
  • Strict YAML contract validation for runtime, clients, profiles, upstreams, and policy blocks.
  • Public JSON Schema validation through config/broker.schema.json.
  • Runtime path derivation from runtime.root.
  • Tool namespace mapping from configured upstream prefixes.
  • Local upstream subprocess lifecycle management and process-group cleanup.
  • Broker daemon over Unix socket.
  • MCP client shim and renderers for configured MCP client profiles, including Codex, Claude, and AGY.
  • AGY profile rendering to .gemini/config/mcp_config.json, including its MCP allowed-server policy.
  • Dry-run client config rendering, apply-time backups, and rollback.
  • LaunchAgent render and install scripts with dry-run defaults.
  • Compact broker facade for search, describe, call, status, and caller-bound session close.
  • Profile validation from YAML smoke probes.
  • Discovery parity checks between compact client profiles.
  • Public and maintainer quality gates through Makefile targets.
  • Shared-runtime guardrail contracts through P3.8 E2E proof while hosted execution remains disabled by default.

Wiring status:

  • Codex is wired through the broker.
  • Claude is wired through the broker after profile validation and manual /mcp acceptance.
  • AGY is wired through the broker by rendering .gemini/config/mcp_config.json.

Public release status:

  • The repo is designed to stay public-safe.
  • Private upstream inventory, account paths, OAuth state, secrets, sockets, logs, and generated client configs stay outside git.
  • Stable release metadata is validated by make release-version-check; publication proof is tracked in docs/distribution.md.
  • Docker image support is available for container-friendly configs. Docker MCP Catalog submission still requires Docker review.
  • MCPB metadata is present at mcpb/manifest.json for local directory review.

See ROADMAP.md for public-facing release work.

Architecture

mcp-broker has three runtime layers:

LayerResponsibility
Client shimPresents one stdio MCP server entry to each MCP client and forwards JSON-RPC over the broker socket.
Broker daemonOwns profile gates, namespace routing, upstream lifecycle, status, logging, and cleanup.
Upstream MCP serversRun as configured stdio, HTTP, streamable HTTP, or SSE connectors with shared or per-session process policy.

The config file is the contract. Profiles decide exposure, upstreams define transport and lifecycle behavior, and smoke probes define safe read calls for validation.

Comparison

ApproachBest fitTradeoff
Raw MCP client configSmall setups with a few tools.Every session loads the full tool list and each client repeats config.
Simple MCP proxyForwarding one server to one client.Does not own upstream lifecycle, profile budgets, or cross-client cleanup.
Hosted app connectorsSaaS tools managed by the client provider.Local MCP state and cross-client parity remain outside user control.
mcp-brokerLocal developers with many upstream MCPs across MCP clients.Adds a local daemon and config contract that must be installed and monitored.

Screenshots Or GIF

The quickstart flow should look like this:

make config-init

make config-validate make broker-status make codex-facade-smoke

In an MCP client, /mcp should show one mcp-broker entry. Use broker_status to inspect profile-visible upstream state.

Quickstart

Prerequisites:

  • macOS with launchctl for LaunchAgent use.
  • Python 3.10 or newer available as python3.
  • make.
  • Node.js and npx for npm-based upstream MCP servers.
  • A clone of this repo.

Package installs:

pipx install mcp-broker

uv tool install mcp-broker brew tap ${HOMEBREW_TAP_REF} brew install mcp-broker

Homebrew installs the same console scripts as the Python package. Package installs do not write MCP client config; client wiring stays an explicit Makefile action.

Docker is for container-friendly configs:

docker build -t mcp-broker:local .

docker run --rm -i mcp-broker:local

Local stdio clients and MCPB-style installs use the package-owned lifecycle:

mcp-broker stdio --init-if-missing

Create the local venv, install dependencies, and verify runtime layout:

make setup

Create private config from the public template:

make config-init

config-init creates the destination directory when needed and copies the public template as the starting point. It does not import local MCP inventory, user paths, or secrets.

Edit config/broker.private.yaml for local upstreams. Keep secret values out of config. Use environment variable names or files under:

$HOME/mcp/mcp-broker/secrets/

Run the quality gate:

make quality-gate

Validate the configured YAML contract:

make config-validate

Start the broker:

make broker-start

Check status:

make broker-status

For the full install flow, see docs/install.md. For a clone-to-running adoption flow, see docs/adoption-guide.md#clone-to-running-path. For shared-runtime boundaries, see docs/shared-runtime-guardrails.md. P3.8 E2E proof covers tenant isolation, authz denial, quota denial, session affinity, audit events, rollback, degraded mode, local-only routing, and shared-eligible routing. Hosted execution remains unsupported in the public local broker.

Runtime layout

Default runtime root:

$HOME/mcp/mcp-broker/

|- backups/ |- logs/ |- renders/ |- run/ |- secrets/ |- sockets/ - state/ - upstreams/

Runtime files are not repo files. Upstream OAuth state, browser state, secret files, sockets, logs, rendered client configs, backups, and daemon state belong under the runtime root.

See docs/runtime-layout.md.

Client wiring

Back up a client config:

make config-backup CLIENT=codex

Dry-run render:

make config-render CLIENT=codex CONFIG_RENDER_APPLY=0

Apply after reviewing the rendered file under $HOME/mcp/mcp-broker/renders/:

make config-render CLIENT=codex CONFIG_RENDER_APPLY=1

Rollback:

make config-rollback CLIENT=codex

Use CLIENT=claude or CLIENT=agy after that profile smoke passes and that client is intended to use the broker. For new JSON-based MCP clients, generate a starter block:

make profile-snippet NEW_PROFILE=local-client NEW_CLIENT_FORMAT=mcp-settings-json

See docs/add-profile.md for the full new-profile flow.

Compact broker facade

The compact facade keeps chat-facing profiles small:

ToolPurpose
broker_search_toolsSearch configured upstream tools by query. Results carry name, description, upstream, purpose, tags, and mutating flag; the heavy inputSchema is omitted and fetched on demand from broker_describe_tool.
broker_describe_toolReturn schema and metadata for one upstream tool.

| broker_call_tool | Call one upstream tool through br

앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요