Skip to main content
Glama

MCP DevBridge

让 ChatGPT、Gemini Spark 等支持 MCP 的网页端,直接连接你的本地开发项目。

MCP DevBridge 是一款面向 Windows 与 Linux/SteamOS Desktop Mode 的可视化本地开发桥接工具。 你在桌面选择一个项目目录并启动服务后,ChatGPT、Gemini Spark 等 MCP 客户端就可以通过一个固定的 HTTPS MCP 地址读取项目、搜索代码、修改文件、执行测试和 Git 操作。

它本身不调用任何大模型 API,也不需要你为 MCP DevBridge 配置 OpenAI / Gemini 模型 API Key。
如果你已经在使用 ChatGPT、Gemini 等网页端订阅,又不希望为了本地 Coding Agent 额外长期购买大量 API Token,MCP DevBridge 提供了一条更直接的路径:

ChatGPT / Gemini Spark
          │
          │ MCP over HTTPS
          ▼
     MCP DevBridge
          │
    ┌─────┴─────┐
    ▼           ▼
CodexPro     Windows-MCP
项目开发       可选系统控制
    │
    ▼
你的本地项目
IMPORTANT

MCP DevBridge 只是本地工具桥接层,不提供模型推理,也不会绕过 ChatGPT、Gemini 或其他平台自身的套餐、额度、工具权限和安全确认规则。
网页端是否允许写操作、是否要求确认、以及相关使用如何计入平台额度,都以对应平台当前规则为准。


为什么做这个项目?

很多 AI Coding Agent 能力很强,但通常需要单独购买 API Token。大型项目持续开发时,模型调用成本可能很高。

另一方面,很多用户已经订阅了 ChatGPT 或 Gemini,但网页端默认无法直接:

  • 读取本地项目文件;

  • 搜索整个代码仓库;

  • 修改代码并应用 Patch;

  • 执行测试、构建和 Git;

  • 启动或停止本地开发进程。

MCP DevBridge 解决的就是中间这一层:

把支持 MCP 的网页端 AI,安全地连接到你的本地开发环境。

你不需要自己手写 MCP Server、HTTP 网关、OAuth、Cloudflare Tunnel、项目权限管理和桌面控制程序。


Related MCP server: machine-bridge-mcp

主要功能

  • 可视化项目选择
    在桌面窗口直接选择需要开发的本地项目,无需手写路径配置。支持多项目并行运行,每个项目拥有独立的 CodexPro 引擎进程和端口。

  • 固定 MCP 地址
    支持 Cloudflare Named Tunnel,例如:

    https://mcp.example.com/mcp

    正常重启程序或切换项目后,公网地址不需要改变。

  • ChatGPT + Gemini Spark
    同一个 MCP DevBridge 可用于多个支持远程 MCP 的客户端。

  • 本地文件开发能力
    支持读取、搜索、写入、编辑、Patch、目录操作等开发工作流。

  • Git 与命令执行
    支持 Git status / diff / commit / push,以及 PowerShell、测试、构建和长期进程管理。

  • OAuth + Bearer 认证
    公网入口支持 MCP OAuth 流程,同时保留 Bearer Token 兼容路径。

  • 按项目独立配置 每个项目独立记忆权限、客户端类型、连接方式、端口、Git 参数、访问令牌、Cloudflare Token 与 Gemini Redirect URI;切换项目不会互相覆盖。

  • 四种连接方式 Cloudflare Named Tunnel、ngrok 固定域名、Quick Tunnel 临时地址、仅本机均可直接在桌面选择。

  • 权限模式
    支持只读、项目工作区、完全访问。桌面端默认选择 完全访问(危险)system + full_system),首次实际启动仍需要一次性风险确认。

  • 状态与诊断 项目表 1 秒级刷新真实状态;控制区展示 Codex / Gateway / Tunnel / Windows 桥组件状态,并提供一键连接诊断和真实 MCP 自测。

  • 可选 Windows 控制能力
    可通过 Windows-MCP 扩展桌面操作、应用控制、PowerShell、文件系统等能力。

  • 审计与脱敏
    提供工具调用日志、进程日志,并对 Token、Secret、Password 等敏感值进行脱敏。

  • 桌面化运行
    PySide6 单窗口界面,一键启动 / 停止本地引擎、OAuth Gateway 和 Tunnel。


v0.10.0 Persistent Agent Runtime

  • 任务不再等于一次 CLIspawn_agent 现在先创建持久 TaskState 和 Objective Checklist,再由 AgentRuntimeLoop 连续调度多个 AgentPool executor turn。一次 OpenCode、Claude 或 ChatGPT 子会话退出,只代表本轮结束,不代表整个目标完成。

  • 自动接续:每轮保存 task id、workspace id、worktree/branch、已完成 checklist、前轮输出摘要和下一步计划。只要 checklist 或独立验证仍未通过,Runtime 会在同一任务、同一 workspace 上自动创建 continuation,无需再次调用 message_agent

  • 独立验收CompletionValidator 不接受自然语言“完成”。它检查 machine-readable receipt、完整 checklist、Git diff/修改文件,以及任务要求的测试、build、EXE、服务、MCP、commit、push 证据;失败会回到执行循环。

  • 重启恢复与人工介入:checkpoint、TaskState 与 agent_runtime_logs 全部落盘。DevBridge 启动时扫描 queued/running/interrupted 任务并恢复;模型/工具失败按退避策略重试,连续失败或缺少账号/权限时进入 waiting_human,用户回复后沿用原 task id/checkpoint 继续。

v0.9.3 普通 ChatGPT Chat 多 Agent

  • 普通 Chat 成为第一执行器:Windows 上可显式准备 ChatGPT Desktop Chat Agent bridge。auto 在 bridge 就绪时优先启动普通 ChatGPT / 聊天 子会话;子会话保持 Chat 模式,直接调用用户已连接的 MCP DevBridge 完成本地文件、Shell、Git 与测试操作,不自动 handoff 到 Work/Codex。

  • 真实 Send,不再猜 Enter:Desktop Deep Link 只负责 mode=chat + prompt prefill;DevBridge 通过仅监听 127.0.0.1 的 CDP 精确定位 composer 与真实“发送”按钮。无需私有 ChatGPT HTTP API,也不读取/复制账号 Token。

  • 显式 opt-in:Agent 管理面板新增“准备 Chat Agent / 恢复普通启动”;另有 chatgpt_bridge_status / prepare_chatgpt_bridge / restore_chatgpt_bridge MCP 控制工具。准备操作会明确重启 ChatGPT Desktop;不用时可恢复无 CDP 的普通启动。

  • MCP 验真合约:子 Chat 不能靠自然语言 DONE 判成功。每个 task 必须通过 MCP 写入 task-id 结构化 receipt 并 read-back;AgentPool 外部轮询 receipt 后才置 completion_verified=true。取消任务会按 conversation ID 打开对应 Chat 并点击真实 Stop。

  • 盘符级无状态路由:Chat 子 Agent 禁止依赖 open_workspace 的会话状态;DevBridge 同时下发 routed drive root 与固定 devbridge_workspace_id,每次 MCP 调用都携带同一 ID,兼容 ChatGPT transport 重建和 C:/D: 双盘入口。

  • Git 隔离仍成立:Git 写 Agent 的 Chat executor worktree 位于 routed drive 的 .mcp-devbridge-agent-worktrees/,普通 Chat 可通过 MCP 访问;主 checkout 不被直接编辑,collect/cleanup 继续提供 diff、branch 和清理。

  • 真实并发验收:3 个 managed 普通 Chat Agent 在约 2.6 秒内全部进入 running,66.4s / 74.3s / 90.2s 完成,3/3 均写入+read-back+receipt 验证;wall-clock 约 92s,对应单任务耗时总和约 231s,约 2.5× 并行收益。

  • Fallback:Chat bridge 未启用/未就绪时 auto 回退 OpenCode(默认免费 Zen 模型)或 Claude;写任务不会因为 provider 失败自动跨 provider 重放,避免重复修改。

v0.9.2 Agent 控制面、非 Git 写入与发布瘦身

  • 修复 ChatGPT Agent 工具返回协议:Gateway 本地 Agent/Pool 工具统一返回标准 MCP content + structuredContent,避免客户端把普通 JSON 对象拒绝为非法 CallToolResult

  • 盘符根/普通目录可写:写 Agent 新增 auto / git_worktree / direct。Git 项目仍默认 worktree 隔离;C:\D:\ 和普通非 Git 目录自动使用 direct local-write,不再因缺 .git 直接失败。spawn/team 新增 target_path,盘符级工作区可把任务精准落到子目录。

  • 成功语义收紧:真实执行器必须返回 MCP_AGENT_RESULT 结构化成功回执;Team 默认 all_required,任一 required worker、Reviewer 或 Merger 未真正完成都不会被“部分成功”误判为 completed。

  • 生命周期补齐:新增 logical cleanup_agent / cleanup_agent_team,终态 Agent/Team 可真正删除持久化元数据、worktree 与临时分支;非 Git direct 清理只清元数据,不删除用户文件。

  • Agent 管理面板:桌面右上角新增“Agent 管理”,Ctrl+Shift+A 可查看 Team/Agent、角色、状态、模型、目标目录、隔离/分支、耗时、错误和输出,并可追加消息、取消和清理。

  • 免费 OpenCode 保底:OpenCode 执行默认 --pure 隔离外部插件;未显式指定模型时默认 opencode/nemotron-3-ultra-free,可用 MCP_DEVBRIDGE_OPENCODE_FREE_MODEL 覆盖。免费模型可能排队,因此定位为 cost-safe fallback 而不是性能 SLA 主执行器。

  • 复杂度收敛:Agent 参数/分派从 Gateway 抽到 agent_gateway.py_exec_local_tool 复杂度代理由 99 降至 34,避免 Agent 功能继续膨胀 OAuth/transport 主路径。

  • 安装包瘦身:构建新增 production-only CodexPro runtime,依据 lockfile 排除 TypeScript/esbuild/tsx 等 dev dependencies;CodexPro 打包目录由约 55 MiB 降至约 15 MiB,开发环境的完整 node_modules 不受影响。

v0.9.1 全局连接配置与多项目服务可靠性

  • 固定域名只填一次:工作台「连接信息」新增“设备全局连接配置”。连接方式、公网域名和 Cloudflare Tunnel 凭据一次保存后同步到本设备全部现有项目;后续新项目自动继承,不再为 C:/D:/E:/F: 重复输入同一套 jerry.shiningsugar.shop 配置。

  • Gateway 真正设备级:Cloudflare Published Application 指向的是一台设备上的单一 Gateway,所以公网入口端口现在以设备全局配置为准(默认 127.0.0.1:8786);CodexPro / Windows-MCP 端口仍按项目独立。

  • 工作台去重:删除重复的“当前项目”卡片和第二个单项目启停按钮。单项目启停只保留项目列表每行的“启动服务 / 停止服务”;“高级设置…”移动到项目设置。

  • 一键全部启停:在“移除项目”右侧新增总控按钮。全部未启动时显示“一键启动所有服务”,任一项目运行时自动变为“一键停止所有服务”。公网入口只启动一份,其余项目引擎并行启动/停止。

  • 修复连续停止偶发无响应:项目 busy 状态不再被 1 秒状态轮询提前清除;项目表按钮不再每秒销毁重建,而是原位更新同一个 QWidget。这样连续停止四个项目时,后续点击不会被轮询重建吞掉,也不会在同一项目上产生重复异步 stop。

  • 安全存储不变:全局 Cloudflare 凭据仍只进入平台受保护的凭据存储;projects.json 只保存非敏感的连接方式/hostname。项目级凭据槽继续保留用于兼容旧配置与高级覆盖。

  • SteamOS / Linux Desktop 原生支持:不是通过 Wine/Proton 跑 Windows EXE。Linux 使用 XDG 用户目录、bash/POSIX 进程树、用户态安装目录 ~/.local/opt/MCPDevBridge、Desktop Entry/autostart,并随包内置 Linux Node.js 22.19.0 与 cloudflared。Windows-MCP 在 Linux 自动禁用;文件/Shell/Git/Agent 能力走 Linux 原生路径。

  • Linux 凭据保护:优先使用 freedesktop Secret Service(secret-tool);桌面 Secret Service 不可用时使用 AES-GCM 加密 fallback,master key 与密文均限制为当前 Unix 用户读取,不把 OAuth/Tunnel secret 写入普通配置 JSON。

  • 完整 Agent Orchestrator / Spawner:在 agent_pool_* 低层队列之上新增 spawn_agent / spawn_agent_team / list_agents / get_agent / get_agent_team / message_agent / cancel_agent / wait_agents。逻辑 Agent 可多轮 continuation;Team 先并行 worker,再自动 Reviewer,最后在独立 integration worktree 运行 Merger。

  • Reviewer / Merger 安全边界:写 worker 默认独立 mcp-agent/* branch/worktree,每一轮成功后本地 commit;Reviewer 只读 worker diff;Merger 使用独立 mcp-team/* integration branch,负责合并、处理冲突和测试,永不自动 push 主分支。未解决 Git conflict 会让 Team 失败而不是伪装成功。

  • 跨设备编排:上述 Orchestrator 工具同样支持正式 device_idspawn_agent/spawn_agent_team 再支持 project_id;主 Hub 可直接把一个 Agent Team 发到朋友电脑指定项目,而无需先切设备/切工作区。

v0.9.0 双固定域名、多设备显式路由与 Agent Pool

  • 朋友重启不再依赖旧 Quick App:Quick Tunnel 仍会在重新建立时更换 trycloudflare.com 地址;已配对设备会通过 heartbeat 把新地址更新给主 Hub,但直接绑定旧 Quick URL 的 ChatGPT App 本身不会自动改 URL。长期直连请使用固定域名。

  • 共享 Hub 显式远端查询devbridge_list_workspaces / devbridge_get_current_workspace / devbridge_switch_workspace 正式增加可选 device_id,可直接指定目标电脑,不再要求先依赖某个 transport session 的 switch_device 状态。

  • 推荐双固定 App 拓扑:主机使用自己的 Cloudflare Tunnel/Token/mcp.shiningsugar.shop,朋友另建一个完全独立的 Cloudflare Tunnel/Token/jerry.shiningsugar.shop。两个 Tunnel 都可以把各自机器的 hostname 映射到各自的 http://localhost:8786;禁止把同一个 Tunnel Token/UUID 部署到两台独立 OAuth Gateway。

  • Hub 与独立 App 可以并存:朋友仍可保持“已连接主 Hub”用于共享设备路由,同时用 jerry.shiningsugar.shop/mcp 创建自己的稳定 ChatGPT App。两条路径互不要求复用 Tunnel Token。

  • Agent Pool:新增本地并发实施 Agent 队列。执行器自动探测可非交互运行的 OpenCode CLI 与 Claude Code CLI;auto 默认优先 OpenCode,也可显式指定 executor=claude/opencode,单次可排队最多 64 个任务,默认物理并发 4(环境变量 MCP_DEVBRIDGE_AGENT_POOL_MAX 可调,硬上限 16)。写入任务默认创建独立 Git worktree + mcp-agent/<id> 分支,避免多个 Agent 同时踩主工作区。

  • Agent 生命周期工具agent_pool_capabilities / spawn / spawn_batch / list / get / wait / cancel / collect / cleanup。长任务后台运行,wait 单次最多 30 秒;底层一次性进程在 DevBridge 重启后会如实标记 interrupted,v0.10.0 的上层 Persistent Agent Runtime 会从 checkpoint 创建恢复 turn,而不是伪装旧进程仍存活。

  • 并发开发边界:Agent Pool 是逻辑任务池而不是“无限进程”。可以排很多任务,但真实并发受机器资源和模型服务限制;主会话负责规划、审阅 diff 和决定合并,Agent 不自动 push 主分支。

使用共享 Hub 的旧 ChatGPT App 时,升级后请执行一次 Refresh / Scan Tools,以获取正式 device_id 参数和 Agent Pool 工具。朋友若使用独立 jerry 固定 App,也要对该 App 扫描一次工具。

v0.8.1 多工作区路由热修

  • 修复 ChatGPT 切换工作区后又回到入口项目:ChatGPT 可能在连续工具调用之间重建底层 MCP transport,v0.8.0 只按 mcp-session-id 保存工作区会失效。v0.8.1 为工具增加可选的 devbridge_workspace_id / devbridge_device_id 路由提示,切换工具返回路由值,后续调用显式携带,因此不再依赖同一个 transport session。

  • 多项目真正同时在线:主 Hub 只保留一个固定地址/Gateway;每个已启动项目继续拥有独立 CodexPro 端口,GPT 可在同一聊天中切换 C:\、D:\ 等项目。

  • 升级保持多项目运行态:detached updater 会在替换旧进程前记录所有正在监听的项目引擎,升级后恢复入口服务并并行恢复其余项目,不再只恢复项目 A。

  • 每个项目独立上游 MCP Session:Gateway 为同一 ChatGPT 会话在每个 CodexPro/远端设备上分别维护上游 session;切换项目时懒初始化目标引擎并改写上游 mcp-session-id,避免不同项目各自 session 表导致 Session not found

  • 修复 Gateway 本地命令参数run_command / run_program 正确读取 MCP params.arguments

  • 修复“正在启动项目引擎”日志卡住:异步 Qt signal 在 GUI 回调执行前保持强引用,避免项目已经 READY 但完成消息丢失。

  • 盘符根目录名称C:\D:\ 不再显示为空名称。

  • 长任务防 ChatGPT 工具流超时:同步 run_command / run_program 只允许短调用(默认 10 秒、最多 20 秒);构建、测试、安装、抓取等长任务统一使用后台 bash → task_id → wait_task/get_task,避免一个 MCP 请求长期占住。此优化只能缓解工具等待造成的超时,不能改变 ChatGPT 自身纯模型推理流的超时策略。

升级到 0.8.1 后,ChatGPT 开发中的 App 请执行一次 Refresh / Scan Tools,让 ChatGPT 获取新增的可选路由参数。

v0.8.0 单域名 Hub 路由与桌面可靠性

  • 一个固定域名、一个 OAuth App、任意设备/工作区:OAuth 授权页不再绑定单个工作区。ChatGPT 只连接主 Hub 的固定 URL,连接后用 devbridge_switch_device / devbridge_switch_workspace 按会话切换目标。

  • 自动默认:只有一个在线设备或一个运行工作区时自动选择;本机同时运行多个项目时优先使用当前公网入口项目,避免每次连接都询问。

  • 禁止同一 Named Tunnel 多机复用:主 Hub 的 Cloudflare Tunnel Token 只允许主 Hub 使用。远端设备使用 Quick Tunnel/ngrok/独立域名作为回传链路,避免 OAuth Client ID not found

  • 一次配对、长期记忆:首次配对成功后,Hub 地址、设备目录与心跳凭据安全持久化;双方电脑或软件重启后自动恢复心跳,不需要再次配对。同一个“配对码 + device_id”在成功后的 **1800 秒(30 分钟)**内可幂等重试并返回同一凭据,解决首次 HTTP 响应丢失场景。

  • 单实例桌面:同一 Windows 用户只能运行一个 MCP DevBridge;首次升级会清理旧版本遗留的重复进程。

  • 服务状态修复:稳定状态会清除残留 busy 标记,READY 项目的“停止服务”始终可点;托盘退出提供即时反馈和清理 watchdog。

  • 复制反馈:地址、令牌、Gateway 地址、Gemini 凭据等复制按钮短暂变绿并显示“复制成功”。

  • 内置更新:启动后与每 12 小时检查 GitHub Release。仅发现新版本时显示右上角更新图标,点击可查看说明、下载、校验 SHA-256、静默安装并自动重启。v0.8.0 之前的版本仍需手动安装 v0.8.0 一次。

  • 安装包自带运行组件:正式 Windows 安装包内置固定版本 Node.js、uv/uvx 与 cloudflared,普通用户无需预装这些组件或修改 PATH;启动和诊断会自动检查完整性。可选 Windows 控制首次启用时由内置 uvx 获取锁定版本的 Windows-MCP,不做系统级静默安装。

多设备正确拓扑

ChatGPT / Gemini
       │
       │  唯一固定 URL
       ▼
https://mcp.example.com/mcp
       │
       ▼
主 Hub(唯一持有该 Named Tunnel Token)
       │
       ├─ 本机工作区 A / B / C
       │
       └─ 远端设备 ── Quick Tunnel / ngrok / 独立域名
                    └─ 远端工作区 X / Y

不要把主 Hub 的 cloudflared.exe service install ey... Token 复制到朋友电脑。那会把两台机器变成同一 Tunnel 的 replicas,使 OAuth 注册和授权请求可能落在不同机器,导致 Client ID not found


v0.7.2 默认异步命令任务

v0.7.1 已被 v0.7.2 取代。 v0.7.1 首次发布后真机验收发现任务目录绑定在单个 MCP Server/session 实例:bash 返回 task_id 后,另一次 MCP 调用可能无法找到任务。v0.7.2 将 BashTaskManager 提升为 CodexPro 进程级共享,同时继续按 workspace 隔离,并新增跨 HTTP MCP session 回归测试。

  • bash 不再暴露 timeout_ms,也没有固定执行时长上限。每次执行命令都会立即创建后台任务并返回 task_id

  • 不再区分“普通命令”和“大型任务”,也删除了重复的 start_task。短命令和长构建统一走同一套任务模型。

  • 任务管理只保留 get_task / wait_task / list_tasks / cancel_task:查看状态、短暂等待、列出任务或取消任务。

  • wait_task 默认等待 15 秒、单次最多等待 30 秒,只是一次状态查询;它返回并不会停止后台任务,任务会继续运行直到自然结束或被取消。

  • 增加 600 秒编排看门狗:如果某个任务 600 秒没有被任何 get/wait/list/cancel 调用接续,下一次读取会标记 orchestrationStale=true 并给出恢复提示。看门狗只识别“编排断了”,绝不终止任务

  • 输出使用有界滚动缓存:长时间大量日志不会无限占用内存,较早输出可能被省略,但任务不会因为日志量而被终止。

  • 所有任务仍经过原有工作区边界、Bash session、权限档和危险命令拦截;cancel_task 会结束完整子进程树。

  • 任务状态保存在当前 CodexPro 进程内,完成任务最多保留 24 小时 / 100 条。关闭、升级或重启 MCP DevBridge 会结束仍在运行的任务,不做跨重启续跑。


v0.7.0 Multi-Device Hub 与新手体验

  • 一个 ChatGPT MCP 地址可管理多台电脑:主 Hub 维护设备目录;每个 MCP 会话可以独立切换目标电脑,不会影响朋友正在使用的另一个会话。

  • 单设备自动选择:当前只有一台电脑在线时自动使用它;多台在线时默认本机,并可用 devbridge_list_devices / devbridge_switch_device 切换。

  • 远端 Quick Tunnel 自动更新:朋友电脑可用 Quick Tunnel 加入 Hub;临时 trycloudflare.com 地址变化后会通过心跳自动更新到主 Hub,ChatGPT 仍只连接主 Hub 的固定 URL。

  • 设备配对不要求开放家庭路由器端口:两端都通过已有公网 MCP 入口通信;6 位一次性配对码只在内存存在 10 分钟,设备 Bearer/心跳凭据进入 Windows 凭据存储,不写入 devices.json 或日志。

  • 新增顶层 设备使用手册 页面。使用手册支持搜索、上一篇/下一篇和“帮我选择连接方式”,覆盖 ChatGPT、Gemini、Quick Tunnel、固定地址、多设备、权限、诊断和常见问题。

  • 工作台/项目设置关键网络字段增加 ? 上下文帮助;悬浮或点击显示非模态说明,帮助用户理解连接方式、域名、Tunnel Token 和公网入口端口。

  • 工作台删除重复的“连接自测”卡和底层组件状态;自测合并进 诊断,诊断先给“可以正常使用 / 需要处理”结论,再给逐步解决方法。

  • 日志真正接入正式链路:运行情况读取当前选中项目的进程输出;操作记录由 Gateway 直接记录实际 tools/call;网络连接把 Gateway JSONL 加工成普通用户能理解的事件。

Quick Tunnel 到底怎么用?

选择“Quick Tunnel 临时测试”并启动服务后,Cloudflare 会随机生成一个 https://xxxxx.trycloudflare.com 地址,MCP DevBridge 自动补上 /mcp。单机使用时把工作台显示的 MCP 地址复制到 ChatGPT / Gemini 即可;重新建立 Quick Tunnel 后地址会变化,需要在客户端更新。如果这台电脑已经作为远端设备加入固定主 Hub,新地址会自动上报 Hub,不需要修改 ChatGPT 中的主 Hub URL。

长期 Multi-Device 建议:主 Hub 使用 Cloudflare / ngrok 固定地址;远端电脑可以使用 Quick Tunnel。


v0.6.0 桌面体验重构

  • 顶层界面收敛为 工作台 / 项目设置 / 诊断 / 日志 / 设置,详细技术信息不再挤在主操作路径里。

  • 多项目交互改为真正的按项目状态控制:一个项目运行不会锁住其它项目;运行项目自己的“停止服务”始终可用,未运行项目仍可启动和编辑。

  • 常驻说明文字大幅精简,必要解释改为自然语言、Tooltip、诊断结果或高级设置。

  • 新安装不会预置开发者机器上的项目路径、公网域名、Git、Gemini 等数据;没有项目时连接信息显示“选择项目后显示”。通用端口仍按既有规则自动分配,并可在界面修改。

  • 点击标题栏“—”仍是普通最小化到任务栏;点击“×”默认隐藏到系统托盘。托盘图标可恢复窗口,右键可退出;“设置”中可以把关闭行为改为直接退出。

  • 日志页合并了进程 / 审计 / Gateway 三类日志,减少顶层导航噪音。


v0.5.0 桌面交互要点

  • 项目表操作列即服务开关:停止时显示“启动服务”,运行时显示“停止服务”;状态 1 秒级刷新。

  • “权限模式 / 客户端 / 连接方式”下拉框忽略鼠标滚轮,页面滚动不会误改配置。

  • 选择“Gemini Spark”才显示 Gemini OAuth 配置;选择“ChatGPT 网页端”时自动隐藏。

  • “服务控制”只保留一个动态启停按钮和“高级设置”;独立“停止 / 重启”按钮已移除。

  • “连接诊断”页会检查项目、令牌、域名/隧道、端口、Gemini URI、ngrok 环境和引擎状态;项目已连接时会继续执行真实 MCP self-test。

  • 关闭窗口时,子进程清理在后台线程完成,GUI 不再同步卡住。


快速开始

方式一:安装 Windows 安装包(推荐)

普通用户建议直接使用 GitHub Releases 中的安装包,不需要自己搭 Python 项目环境。

1. 下载

打开:

GitHub Releases

下载最新版本的:

MCPDevBridge-Setup-x.x.x.exe

如果 Releases 页面暂时还没有安装包,可以使用下面的“从源码运行”方式。

2. 安装并启动

安装完成后打开:

MCP DevBridge

3. 选择项目

在主界面选择你希望 ChatGPT / Gemini 操作的项目文件夹,例如:

D:\Projects\my-project

桌面端默认选择:

完全访问(危险)

system + full_system。这是本项目当前的产品默认值;第一次实际启动完全访问模式时仍会弹出一次风险确认。需要缩小权限范围时,可主动切换为“项目工作区”或“只读”。

4. 选择连接方式

可选择四种连接方式:Cloudflare 固定地址ngrok 固定地址Quick Tunnel 临时测试仅本机

如果只是本机调试,可以使用“仅本机”;Quick Tunnel 适合临时验证;如果希望 ChatGPT / Gemini 网页端长期连接,推荐:

Cloudflare 固定地址

然后填写:

  • 固定域名,例如 mcp.example.com

  • Cloudflare Named Tunnel Token

5. 点击启动

启动成功后,程序会显示固定 MCP 地址:

https://mcp.example.com/mcp

6. 在网页端添加 MCP

将这个地址添加到 ChatGPT 或 Gemini Spark 的自定义 MCP / Connected App 中。

之后正常使用时通常只需要:

打开 MCP DevBridge
→ 选择项目
→ 点击启动
→ 去 ChatGPT / Gemini 开发

固定地址模式下,不需要每次重新生成 MCP URL。


Cloudflare 固定地址部署

如果你希望网页端长期使用同一个 MCP 地址,推荐使用 Cloudflare Named Tunnel。

需要准备

  • 一个 Cloudflare 账号;

  • 一个托管在 Cloudflare 的域名;

  • 一个 Named Tunnel;

  • 一个固定子域名,例如:

mcp.example.com

推荐结构

https://mcp.example.com
          │
          ▼
Cloudflare Named Tunnel
          │
          ▼
127.0.0.1:8786
MCP DevBridge OAuth Gateway
          │
          ▼
127.0.0.1:8787
Local MCP Engine

当前 OAuth Gateway 默认监听:

127.0.0.1:8786

因此 Cloudflare Public Hostname 的 Service 应指向:

http://localhost:8786

MCP Endpoint 为:

https://mcp.example.com/mcp

端口配置

  • 公网入口端口(Gateway):第一个项目通常从 8786 开始分配,后续项目自动避让。当前项目可在桌面“访问令牌与 MCP 地址”区域修改、检测占用、恢复默认; 修改后必须同步将 Cloudflare Tunnel 的 Service URL 改为 http://localhost:<新端口>,否则公网连接会失败(界面会醒目提示)。

  • 项目内部端口:CodexPro 从 8787、Windows-MCP 从 28731、Gateway 从 8786 起为每个项目独立分配;「高级设置…」只修改当前项目。Legacy backend 8765 仍是全局兼容端口。服务运行期间锁定端口编辑。

  • 所有端口仅监听 127.0.0.1;启动前会检查端口占用,被占用时提示处理, 不会偷偷改端口。

  • 端口默认值集中在 src/local_dev_mcp_bridge/constants.pyDEFAULT_*_PORT

正常情况下:

curl.exe -i https://mcp.example.com/mcp

在没有认证信息时返回 401 Unauthorized,通常意味着:

DNS
→ Cloudflare
→ Tunnel
→ 本地 Gateway
→ MCP 认证层

这条公网链路已经打通。

WARNING

Cloudflare Tunnel Token、MCP Bearer Token、OAuth Client Secret 都属于敏感凭据。不要提交到 Git,不要粘贴到公开聊天或 Issue 中。


ChatGPT 连接

在支持自定义 MCP 的 ChatGPT 环境中:

  1. 启用相应的 Developer / MCP 功能;

  2. 新建自定义 MCP App;

  3. Server URL 填:

    https://mcp.example.com/mcp
  4. 根据当前 ChatGPT 界面配置认证;

  5. 扫描并启用需要的 Actions / Tools;

  6. 新建会话开始使用。

示例任务:

读取当前项目的 AGENTS.md 和 README.md,
检查 Git 状态,
然后根据项目约束定位当前未完成任务。
不要修改代码,先给我开发计划。

或者:

阅读相关代码并修复这个 bug。
修改后运行测试,
再用 Git diff 检查改动。

ChatGPT 对 MCP 写操作、工具刷新、Action 快照以及确认机制的支持可能随套餐和产品版本变化。
“Allow all actions” 只会影响已经暴露给 ChatGPT 的工具,并不会替 MCP Server 自动新增工具。


Gemini Spark 连接

MCP DevBridge 提供 OAuth Gateway,可用于 Gemini Spark 的 Custom Connected App。

一般流程:

  1. 在 Gemini Spark 中添加自定义 Connected App;

  2. MCP Server URL 填:

    https://mcp.example.com/mcp
  3. 按 Gemini 当前界面完成 OAuth / Client 配置;

  4. 浏览器会打开 MCP DevBridge 授权页;

  5. 确认项目目录和授权范围;

  6. 点击允许;

  7. 返回 Gemini Spark 使用。

MCP DevBridge 对外身份为:

mcp-devbridge

显示名称:

MCP DevBridge

多项目并行开发

MCP DevBridge 支持同时管理多个项目:

  1. 在“项目列表”点击「添加项目」注册多个本地目录;项目表只保留“名称 / 路径 / 状态 / 端口 / 入口 / 操作”六列。

  2. 每个项目拥有独立的 CodexPro 引擎、Windows 桥、Gateway 端口与配置;项目的 Bearer/Cloudflare Token 也独立加密保存。

  3. 不再使用“启用”勾选和桌面启动自动恢复;需要哪个项目,直接点击该行“启动服务”。状态会实时更新为“启动中 / 已连接 / 停止中 / 失败”。

  4. 同一时刻可有一个完整公网入口(Tunnel + Gateway),其它项目的 CodexPro 引擎仍可并行运行;Gateway 按 MCP session/workspace 将请求路由到目标项目。

  5. ChatGPT 和 Gemini 可以同时操作不同项目;通过 switch_workspace 只切换当前 MCP session,list_projects 查看全部项目与运行状态。

  6. 服务配置、Git 参数、端口、客户端类型、MCP 地址和自测结果均跟随当前项目;切换回来会恢复原值。

项目非敏感配置持久化于 projects.json;敏感值只进入 Windows Credential Manager / DPAPI SecretsStore,不以明文写入 JSON。

Shell 与命令执行

Windows 上 Shell 默认优先级:

  1. pwsh.exe(PowerShell 7)

  2. powershell.exe(Windows PowerShell 5.1)

  3. cmd.exe

  4. Git Bash

WSL Bash 不会被自动选择,仅当用户明确指定时才会使用(WSL 的 Linux 工具链无法保证运行 Windows 项目脚本和开发工具)。使用 shell_info MCP 工具可查看所有可用 Shell 及其类型、路径和版本。桌面「开发环境检测」按钮也可一键确认 Shell / python / git / pytest / pyright 是否可调用。


权限模式

只读

适合第一次连接或代码审查。

允许:

  • 查看项目;

  • 读取文件;

  • 搜索代码;

  • Git 只读操作。

不允许直接修改项目。

项目工作区

适合希望把文件访问和命令范围限制在当前项目目录内的场景。

允许在当前选中的项目范围内:

  • 读取和搜索;

  • 写文件;

  • Edit / Patch;

  • Git;

  • 受控命令执行 —— 命令首词限定为开发工具白名单 (pytest / pyright / ruff / mypy / git(完整子命令)/ npm / uv / python 等,危险命令硬拦截);

  • 测试和构建;

  • 本地开发进程管理。

系统权限(完全访问模式,桌面默认)

允许更高风险的系统级能力(对应命令档位 full_system:任意命令,首次启用需风险确认)。

如果启用了 Windows-MCP,AI 还可能获得:

  • PowerShell;

  • 应用控制;

  • 文件系统;

  • 进程管理;

  • 注册表;

  • Windows UI 自动化等能力。

NOTE

桌面端「权限模式」已与命令执行档位合一:只读 = read_only + safe、项目工作区 = workspace + developer、完全访问(桌面默认) = system + full_system; 无独立档位选择(--execution-profile CLI 参数与引擎映射仍独立保留)。

NOTE

Windows 桥接工具按权限模式过滤:默认 / 只读 下只放行 desktop_ui 白名单(点击、输入、快照、应用等 UI 操作), PowerShell / 注册表 / 文件系统等系统级工具会被拒绝; 仅 完全访问 模式放行全部工具(system_full)。 每次调用还会与桥端实时工具清单(inventory)交叉校验。

CAUTION

完全访问意味着远程 AI 工具可能影响项目目录之外的电脑状态。
桌面端当前按产品设计默认使用“完全访问(危险)”;首次实际启动仍要求一次性风险确认。若不需要系统级能力,可主动降级到“项目工作区”或“只读”。


命令执行档位(Shell Execution Profile,内部模型)

桌面端 UI 已与权限模式合一(见上),此处为后端/CLI 的档位定义; 对 run_command / run_program / start_process(本机工具)与 Codex 引擎的 bash 工具生效:

档位

行为

适用场景

developer(默认)

命令首词必须是开发工具(pytest / pyright / ruff / mypy / git(完整子命令)/ npm / pnpm / yarn / bun / uv / python / tsc / eslint / cargo …);危险命令硬拦截

通用开发工作流:AI 可运行测试、类型检查、lint、git 操作

safe

完全保留原有“项目内命令允许”行为(仅危险拦截;引擎端仍执行其安全 allowlist)

需要保持旧行为的场景

full_system

任意命令;启用前需要一次性风险确认(桌面首次提示)

完全受信任的 AI 客户端

危险命令在任何档位都被硬拦截(白名单无法绕过):磁盘格式化(format C:)、 分区操作(diskpart)、关机重启(shutdown/reboot)、引导配置(bcdedit)、注册表删除 (reg delete)、msiexec / cipher / takeown / icacls,以及递归删除指向盘根或系统目录的 rm -rf /del /s C:\Remove-Item -Recurse C:\Windows 等。

Shell 选择:默认顺序 pwsh > Windows PowerShell > cmd > Git Bash,WSL Bash 永不当默认 (它运行 Linux 工具链,无法保证执行 Windows 项目脚本)。桌面提供「开发环境检测」按钮, 可一键确认 Shell / python / git / pytest / pyright 是否可调用(对应 MCP 工具 shell_self_test)。


从源码运行

环境要求

基础开发环境:

  • Windows 10 / 11 x64

  • Python 3.12

  • Node.js 20+

  • Git

  • uv

  • npm

固定公网连接还需要:

  • cloudflared

Windows 系统控制为可选能力,依赖 Windows-MCP 及其对应运行时要求。

1. Clone

git clone https://github.com/ShiningSugar35/mcp-devbridge.git
cd mcp-devbridge

2. 创建 Python 环境

py -3.12 -m venv .venv
.\.venv\Scripts\python.exe -m pip install --upgrade pip uv
.\.venv\Scripts\uv.exe pip install -e ".[dev,package]"

3. 构建 CodexPro 引擎

cd third_party\codexpro
npm ci
npm run build
npm run smoke
cd ..\..

4. 准备 cloudflared

如果需要 Cloudflare Tunnel,将官方 cloudflared.exe 放到:

.tools\cloudflared.exe

如果只使用本机模式,可以暂时跳过。

5. 启动桌面程序

.\.venv\Scripts\python.exe -m local_dev_mcp_bridge.desktop_main

开发与测试

运行 Python 测试:

$env:PYTHONIOENCODING="utf-8"
.\.venv\Scripts\python.exe -m pytest tests -q

Ruff:

.\.venv\Scripts\python.exe -m ruff check src tests

Pyright:

.\.venv\Scripts\pyright.exe

CodexPro:

cd third_party\codexpro
npm ci
npm run build
npm run smoke

构建 Windows 程序前,应先确保 CodexPro 的:

third_party/codexpro/dist
third_party/codexpro/node_modules

均已经生成。


项目架构

┌─────────────────────────────────────┐
│          MCP DevBridge GUI          │
│              PySide6                │
│                                     │
│  项目选择 / 权限 / Tunnel / 日志     │
└─────────────────┬───────────────────┘
                  │
                  ▼
        ┌───────────────────┐
        │ ServiceCoordinator│
        └───────┬───────┬───┘
                │       │
                │       └───────────────┐
                ▼                       ▼
        CodexPro Engine             Windows-MCP
        项目 Coding 能力             可选系统能力
                │
                └──────────┬────────────┘
                           ▼
                    OAuth Gateway
                     127.0.0.1
                           │
                           ▼
                  Cloudflare Tunnel
                           │
                           ▼
               ChatGPT / Gemini Spark

更详细的实现说明:

中文开发文档:

  • 项目架构.md

  • AGENTS.md


安全说明

MCP DevBridge 的目标就是让远程 AI 能够操作本地开发环境,因此安全边界非常重要。

当前设计包括:

  • MCP 引擎只监听 127.0.0.1

  • 公网入口可经过 Cloudflare Named / ngrok / Quick Tunnel,三者统一终止在本机 Gateway;

  • 公网请求需要 OAuth 或有效 Bearer;

  • Bearer 与 Cloudflare Tunnel Token 按项目使用 Windows Credential Manager / DPAPI 加密保存;

  • 认证比较使用 constant-time comparison;

  • 失败认证有限速;

  • 日志对 Token / Secret / Password / Cookie 等字段脱敏;

  • Workspace 模式限制项目文件访问范围;

  • 高风险工具提供 destructive metadata;

  • Windows-MCP 仅作为本地可选桥接后端,并按权限档位过滤工具(desktop_ui 白名单 / system_full);

  • 端口默认值集中维护(constants.DEFAULT_*_PORT),启动前检查占用,不做静默换端口。

建议:

  1. 不使用时停止 MCP DevBridge;

  2. 不公开分享 MCP URL + 凭据;

  3. 桌面默认“完全访问(危险)”;如不需要系统级能力,可主动降级到“项目工作区”或“只读”;

  4. 定期轮换 Bearer / OAuth 凭据;

  5. 不要把 .env、SSH Key、Cookie、Tunnel Token 提交到 Git。

详见:

SECURITY.md


上游项目与致谢

MCP DevBridge 是一个独立的桌面集成项目,本项目构建在以下优秀的开源项目之上:

CodexPro

  • Upstream: rebel0789/codexpro

  • 用途:本地项目 Coding MCP Engine

  • License: MIT

MCP DevBridge 内维护了一个受控 fork,用于增加 Windows Bridge 等集成功能。

Windows-MCP

  • Upstream: CursorTouch/Windows-MCP

  • 用途:可选 Windows 系统与 UI 控制后端

  • License: MIT

详细版本、修改和第三方许可证:

THIRD_PARTY_LICENSES.md


当前状态

MCP DevBridge 目前处于早期 Beta 阶段。

已经完成的核心路径包括:

  • Windows GUI

  • 本地项目选择

  • CodexPro Coding Engine

  • 文件 / Git / 命令 / 进程工具

  • Cloudflare 固定 MCP URL

  • Bearer 认证

  • MCP OAuth Gateway

  • Gemini Spark 接入

  • ChatGPT MCP 接入

  • Windows-MCP 可选桥接

  • 多项目并行开发(每个项目独立 CodexPro 引擎与端口,GPT/Gemini 可同时操作不同项目)

  • Windows Shell 自动检测(pwsh > PowerShell > cmd > Git Bash 优先级,WSL 不会自动调用)

  • 日志与审计

  • PyInstaller / Inno Setup 打包

欢迎提交 Issue、Bug 报告和兼容性测试结果。


License

MCP DevBridge 项目代码按仓库声明的许可证发布。

第三方组件保留各自原始许可证与版权声明。
请参阅:

THIRD_PARTY_LICENSES.md

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
1dRelease cycle
18Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Exposes local OpenCode instances as remote MCP servers for Claude and ChatGPT, enabling terminal access, session management, and interactive human-in-the-loop workflows. It simplifies deployment for local machines using Cloudflare Tunnels to provide secure public connectivity and OAuth support.
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables remote MCP clients to access local filesystem and shell commands by deploying a Cloudflare Worker relay and a local daemon, providing tools like read/write files, exec commands, git status, etc.
    803
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Remote MCP server with built-in OAuth authentication via Cloudflare Access, enabling secure tool access and user identity-based restrictions.

View all related MCP servers

Related MCP Connectors

  • A MCP server built for developers enabling Git based project management with project and personal…

  • MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ShiningSugar35/mcp-devbridge'

If you have feedback or need assistance with the MCP directory API, please join our Discord server