
macOS 菜单栏应用,将许多 MCP 服务器配置转换为本地主机可流式 HTTP 端点。
概览
macOS 菜单栏应用,将许多 MCP 服务器配置转换为本地主机可流式 HTTP 端点。 聚合器将工具前缀为 {serverName}{toolName},隐藏私有工具,并将工具/调用路由到原始服务器。 v1 是 。操作系统的 I/O(钥匙串、路径、浏览器)位于 crates/mcp 平台的特性后面,以便以后可以添加 Linux。 - 本地标准MCP服务器、远程可流式HTTP和传统HTTP+SSE远程 - 启动/停止/自动启动,含env和承载值在macOS密钥链中(绝不使用SQLite)- 按客户端持有令牌(mcpm_...,tokens.db中的SHA-256,仅显示一次)- 每个工具的公私切换- 远程MCP OAuth(PKCE S256,回环http://127.0.0.1: /oauth/callback)- 关闭时隐藏托盘;退出并从菜单栏复制端点 项目、编写客户端 mcp.json、市场、OAuth 启动刷新、跨平台 mcp 平台 impl(Linux、Windows),作为我们的公共运输 SSE 服务,标准 CLI 桥接。 捆绑绑定码:net.p1kachu.mcp-manager。
概述(AI 翻译)
macOS 菜单栏应用,将许多 MCP 服务器配置转换为 one localhost 可流式 HTTP 端点。
AI客户端(Cursor、Claude等)与以下平台通信:
聚合器将工具前缀标记为{serverName}__{toolName},隐藏私有工具,并将tools/call路由到起服务器。
v1 是 macOS 专用。操作系统的输入输出(钥匙串、路径、浏览器)隐藏在 crates/mcp-platform 的特性后面,以便以后添加 Linux。
它的作用
- 本地stdio MCP服务器、远程可流式HTTP和传统HTTP+SSE远程节点
- 启动/停止/自动启动,macOS密钥链中包含env和承载值(绝不包含SQLite)
- 每个客户端持有人令牌(
mcpm_…,SHA-256 intokens.db,仅显示一次) - 每个工具的公/私有切换
- 远程MCP OAuth(PKCE S256,回环
http://127.0.0.1: /oauth/callback) - 关闭时隐藏托盘;退出并从菜单栏复制终端
**不在v1:**项目中,编写客户端mcp.json,市场,OAuth启动时刷新,跨平台mcp-platformimpl(Linux,Windows),作为我们的公共传输SSE,标准CLI桥。
布局
束识别码:net.p1kachu.mcp-manager。
在磁盘上(应用数据指令):tokens.db(哈希客户端令牌),'state.
本页由 AI 翻译,技术细节请以原文为准。
README
MCP Manager
macOS menu-bar app that turns many MCP server configs into one localhost Streamable HTTP endpoint.
AI clients (Cursor, Claude, …) talk to:
http://127.0.0.1:8757/mcp
The aggregator prefixes tools as {serverName}__{toolName}, hides private tools, and routes tools/call to the origin server.
v1 is macOS only. OS I/O (keychain, paths, browser) lives behind traits in crates/mcp-platform so Linux can be added later.
What it does
- Local stdio MCP servers, remote Streamable HTTP, and legacy HTTP+SSE remotes
- Start / stop / auto-start, with env and bearer values in the macOS keychain (never SQLite)
- Per-client Bearer tokens (
mcpm_…, SHA-256 intokens.db, shown once) - Per-tool public/private toggles
- Remote MCP OAuth (PKCE S256, loopback
http://127.0.0.1:/oauth/callback) - Hide-on-close tray; quit and copy endpoint from the menu bar
Not in v1: projects, writing client mcp.json, marketplace, OAuth refresh-on-start, cross-platform mcp-platform impl (Linux, Windows), serving SSE as our public transport, stdio CLI bridge.
Layout
crates/mcp-core OS-free models, aggregator, tokens, SQLite, SSE handshake
crates/mcp-http inbound Axum /mcp (Bearer + JSON-RPC)
crates/mcp-platform SecretStore, AppPaths, BrowserOpener (macOS impl)
crates/mcp-runtime upstream connectors + OAuth flow
apps/desktop iced + tray-icon UI (bundle id net.p1kachu.mcp-manager)
Bundle identifier: net.p1kachu.mcp-manager.
On disk (app data dir): tokens.db (hashed client tokens), state.db (server configs, env key names only). Secrets use keychain service net.p1kachu.mcp-manager.
Development
Requires Rust 1.85+ and a macOS toolchain for the desktop app.
cargo test
cargo clippy --all-targets -- -D warnings
cargo run -p mcp-manager
Crate-scoped tests:
cargo test -p mcp-core --lib
cargo test -p mcp-http
cargo test -p mcp-runtime
cargo test -p mcp-platform
Point a client at http://127.0.0.1:8757/mcp with Authorization: Bearer issued in the UI.
Inbound transport is Streamable HTTP only (JSON-RPC initialize, tools/list, tools/call).
License
MIT (see Cargo.toml workspace package).
安装
This server does not publish a one-line install command.
Open the repository installation guide 新手?先看 mcpskill.org 教程 →