Skip to main content
Glama
claude-bridge-server
by Joncik91

Claude Bridge

License: MIT Node.js 18+ TypeScript MCP GitHub stars PRs welcome

一个实现 Claude Code 与 Z.ai 的 GLM 模型 之间协作的 MCP 服务器——使用 Claude Opus 进行规划,同时由 GLM 处理实现。

将 Claude Code 和 Z.ai 的 GLM 的优势结合在一个工作流中。此 MCP 服务器允许 Opus 处理高层规划,而 GLM 处理具体实现——通过共享任务队列进行协调,并在不同的终端中同时运行。使用您的 Max 订阅或 API 运行 Claude Code 进行架构设计,并使用 Claude Code 和 Z.ai (GLM) 进行执行——两者同时协作。

目录


Related MCP server: Herald

为什么存在此项目

您拥有 Claude 订阅,但遇到了使用限制。获取第二个 Claude 订阅价格昂贵(或者升级费用可能太高)——但 Z.ai 订阅成本更低,且 GLM 的编码能力与 Sonnet 不相上下。

问题: 如何让 Claude 和 GLM 协同工作?

答案: Claude Bridge。一个通过共享任务队列协调两者的 MCP 服务器。

┌─────────────────────────┐                    ┌─────────────────────────┐
│   Terminal 1            │                    │   Terminal 2            │
│   Claude Opus           │                    │   Z.ai GLM              │
│   (Architect)           │                    │   (Executor)            │
│                         │    Claude Bridge   │                         │
│   • Plans features      │◄──────────────────►│   • Pulls tasks         │
│   • Designs architecture│    (Shared Queue)  │   • Writes code         │
│   • Makes decisions     │                    │   • Reports back        │
└─────────────────────────┘                    └─────────────────────────┘

快速示例

终端 1 (Opus): “推送一个实现 JWT 身份验证的任务”

终端 2 (GLM): “拉取下一个任务” → 执行实现 → “完成任务”

终端 1: “执行者完成了什么?” → 审查结果

功能

  • 任务队列 — 基于优先级,支持依赖项和分类

  • 共享状态 — 项目重点和决策对双方可见

  • 会话上下文 — 从中断处恢复

  • 澄清说明 — 执行者提出问题,架构师进行回复

  • Token 意识 — 旨在最大限度减少 Opus 的使用

何时不应使用此工具

如果您正在使用像 Get-Shit-Done (GSD) 这样的规划框架,则不需要此桥接工具。像 GSD 这样的框架将上下文存储在项目文件 (.planning/) 中,两个终端都可以直接读取。斜杠命令(如 /gsd:plan-phase 和 /gsd:execute-phase)可以在任何终端中工作。

在以下情况使用 Claude Bridge:

  • 特设任务、快速修复、一次性研究

  • 没有规划框架的项目

  • 跨重启的会话连续性

在以下情况跳过此桥接工具:

  • 使用 GSD 或类似的基于文件的规划框架

  • 两个终端共享项目文件系统

先决条件

  • Node.js 18+ — 下载

  • Claude Code CLI — 安装

  • Z.ai 账户 — 用于获取 GLM 访问权限 (z.ai)

  • 两个终端窗口

终端配置文件设置

两个终端使用相同的订阅? 只需在每个终端中运行 claude — 无需配置。

Claude + Z.ai GLM? 将此函数添加到您的 shell 配置文件中:

Windows PowerShell (notepad $PROFILE):

function use-glm {
    $env:ANTHROPIC_BASE_URL = "https://api.z.ai/api/anthropic"
    $env:ANTHROPIC_AUTH_TOKEN = "your_zai_api_key_here"
    Write-Host ">>> GLM ACTIVE (Executor mode)" -ForegroundColor Cyan
}

macOS/Linux (~/.bashrc 或 ~/.zshrc):

use-glm() {
    export ANTHROPIC_BASE_URL="https://api.z.ai/api/anthropic"
    export ANTHROPIC_AUTH_TOKEN="your_zai_api_key_here"
    echo ">>> GLM ACTIVE (Executor mode)"
}

用法:

  • 终端 1:直接运行 claude(使用您的 Claude 订阅)

  • 终端 2:运行 use-glm,然后运行 claude(使用 Z.ai API)

有关完整设置详情,请参阅 GUIDE.md。

快速入门

# 1. Clone and build
git clone https://github.com/Joncik91/claude-bridge-server.git
cd claude-bridge-server
./setup.sh          # or setup.bat on Windows

# 2. Configure MCP (see GUIDE.md for details)
claude mcp add --scope user --transport stdio claude-bridge -- node /path/to/server/dist/index.js

文档

GUIDE.md — 完整的设置、终端配置、用法和故障排除

同样适用于其他 MCP 客户端

虽然该桥接工具是为 Claude + GLM 设计的,但它是一个标准的 MCP 服务器 — 它适用于任何兼容 MCP 的 CLI:

安全性

Claude Bridge 位于持有真实 API 令牌的两个 CLI 之间。有三点含义需要明确说明。

  • API 令牌永远不会通过桥接工具。 服务器的协议传输的是任务、状态和结果,而不是凭据。每个终端直接针对其自己的提供商进行身份验证(一侧是您的 Claude 订阅,另一侧是您的 Z.ai 密钥)。先决条件 中的 shell 配置文件模式是为了让 终端会话 设置 ANTHROPIC_AUTH_TOKEN — 桥接工具从不读取它。

  • 不要提交带有明文密钥的 use-glm。 本 README 和 GUIDE.md 中的 shell 配置文件片段使用了占位符 — 请将其替换为 ${ZAI_API_KEY} 或类似内容,并从密码管理器/系统钥匙串中加载密钥。在 ~/.bashrc 中直接写入明文密钥意味着您的主目录的每个备份中都包含该密钥。

  • 共享任务队列对于桥接进程是本地的。 任务、澄清说明和审查者笔记存在于桥接工具的内存状态中。不要将两个不相关的项目指向同一个桥接实例 — 队列设计为单租户。

对于团队使用:每对架构师+执行者终端应运行自己的桥接进程,不要共享一个。MCP 传输是本地机器上的 stdio;没有任何内容在网络端口上监听。

许可证

MIT — 参见 LICENSE。

致谢

Related MCP Connectors

Related MCP Servers