ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

mcp-broker

โดย doricstackรุ่น 2.1.1i★ –iรันบนเครื่อง
ชื่อใน registryio.github.doricstack/mcp-broker

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

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

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: อื่น ๆ

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ต้องเตรียมก่อน

  • PyPIติดตั้ง uv ของ Python (มีคำสั่ง uvx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "broker": {
      "command": "uvx",
      "args": [
        "mcp-broker"
      ]
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add broker -- uvx mcp-broker

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "broker": {
      "command": "uvx",
      "args": [
        "mcp-broker"
      ]
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "broker": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-broker"
      ]
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub doricstack ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด อื่น ๆi

  • ดาวมากกว่า 0% ของอีก 32371 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 34% ของอีก 32371 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 32371 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

mcp-broker ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (2.1.1) เข้า registry 2 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Opencu

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Spec Driven Development

โดย formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

รันบนเครื่อง★ 440MITอัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

Remote Desktop Commander

โดย desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

รันบนคลาวด์★ 211อัปเดต เมื่อวาน
ติดตั้ง

Opencu

โดย Daily-AC

Independent local computer-use engine and MCP server for macOS, Windows, Linux and Android

รันบนเครื่องอัปเดต วันนี้
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ 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

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx