MCP网关管理工具

Mx是一个CLI工具和本地MCP网关,用于集中管理MCP服务器配置和Playwright池会话,支持Codex和Claude的集成与技能同步。

  • by maxtheman
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 maxtheman/mcpManager

使用说明

先生

CLI+本地MCP网关,用于集中MCP服务器配置和管理Playwright池会话。

快速入门(CLI)

前提条件:

  • Bun(bun --version)

安装并注册MCP网关(Codex+克劳德桌面+克劳德代码,如果存在):

  • bun install
  • bun run setup

可选环境:

  • export MX_REGISTRY_PATH=... (覆盖注册表路径)
  • export MX_SOURCE_DIR=... (registery.json+技能的中心源代码根/)
  • export MX_PLAYWRIGHT_POOL=... (逗号列表,或 auto 检测剧作家MCP,或 off 禁用池化)
  • export MX_INTERACTIONS_DIR=... (商店互动)

将您现有的MCP服务器(Codex+Claude Code)集中到单一 Mx 条目:

  • 排练: bun run centralize
  • 应用更改: bun run centralize -- --apply

移除 Mx 并恢复直接服务器:

  • bun run decentralize

安装后重新启动Codex/Claude Desktop,以便重新加载配置。

独立二进制文件(可选)

  • bun run build:gateway:exe
  • bun run build:manager:exe

在 apps/gateway/dist/ 作为 Mx-gateway 和 Mx.

实施了什么

  • CLI将上游MCP服务器集中到 ~/.Mx/registry.json 在Codex/Claude中切换配置。
  • Gateway代理上游工具,公开Playwright池帮助程序,并可以通过shell运行Codex/Claude CLIs。
  • Gateway还公开了一个由Claude CLI支持的类似交互的API(工具、后台运行、基本的多模式输入)。
  • 技能验证+分析(CLI+MCP工具)和技能同步助手 MX_SOURCE_DIR/skills.
  • Claude Code的命令同步支持(~/.claude/commands)食品法典委员会(~/.codex/prompts)从 MX_SOURCE_DIR/commands.

重构注释/路线图: docs/mx-refactor.md 剧作家比例: docs/playwright-pool-scale.md

LLM标准桥(当地)

网关通过Bun的shell公开了运行Codex和Claude CLIs的助手:

  • llm_codex_exec (参数: args[], stdin 可选)
  • llm_claude_exec (参数: args[], stdin 可选)

壳体烟雾测试(运行 --help/--version,如果检测到,则尝试“hello world”提示):

  • bun run test:llm-shell
  • 可选覆盖:
    • MX_CODEX_HELLO_ARGS
    • MX_CODEX_HELLO_STDIN
    • MX_CLAUDE_HELLO_ARGS
    • MX_CLAUDE_HELLO_STDIN
    • MX_LLM_TIMEOUT_MS (默认值20000)

交互API(Claude-based)

MCP工具:

  • interactions_create (支持 previous_interaction_id, background,以及 stream)
  • interactions_get
  • interactions_delete

笔记:

  • background: true 需要 store: true 并返回 status: "in_progress" 直到完成。
  • tools/tool_choice 不支持;Claude CLI直接管理工具。
  • 多模态输入接受以下内容部分 { type: "image", data, mime_type }.

冒烟测试(创建会话、跟踪、后台运行、读取、删除):

  • bun run test:interactions-claude
    • MX_IMAGE_TEST=1 以包括可选的图像输入检查。

剧作家排比(本地)

如果您将多个Playwright MCP服务器作为上游运行,则池会自动检测到它们(或设置一个显式列表):

  • 集 MX_PLAYWRIGHT_POOL=auto (未设置时默认)或 MX_PLAYWRIGHT_POOL=playwright1,playwright2
  • 呼叫 playwright_pool_reserve 或 playwright_pool_session_start 为了得到一个 upstreamId
  • 在工具调用中仅使用该前缀(例如。 playwright1__browser_navigate)

烟雾测试(并行运行2个代理,并断言同时保持不同的插槽):

  • bun run test:playwright-pool
  • MX_PLAYWRIGHT_HEADED=1 bun run test:playwright-pool 查看浏览器

注: playwright_pool_session_start 默认情况下创建一个新选项卡。重复使用退回的 sessionId, 或通过马厩 sessionKey (和/或 newTab: false)以避免重新启动时出现标签垃圾邮件。 默认情况下,锁在15分钟不活动后自动过期(TTL在插槽使用时刷新)。

操作助手:

  • playwright_pool_status 显示锁/pid状态和相对于注册表的漂移 playwright_pool 发电机配置。
  • playwright_pool_session_end 默认情况下,在以下情况下保持选项卡打开 sessionKey 使用(通行证 closeTab: true 和 forget: true 清理)。

技能验证(CLI)

  • bun run skills validate --target both
  • bun run skills analyze --target codex
  • bun run skills sync --source-dir ~/.Mx/source

可选清单:

  • ~/.Mx/source/skills/manifest.json 控制哪些 顶级技能目录 同步到 ~/.codex/skills 和 ~/.claude/skills.
  • 未列出的技能默认为已启用(通过以下方式覆盖 defaults 或明确 skills.<id> 条目)。

安装程序输出:

  • 网关二进制文件位于 ~/.Mx/bin/Mx-gateway
  • Codex配置: ~/.codex/config.toml
  • 克劳德桌面(macOS): ~/Library/Application Support/Claude/claude_desktop_config.json
  • 克劳德代码CLI: claude mcp add-json Mx --scope user ... (如果可用)