ContextBridge
Transfers conversation context and git diff snapshots between AI coding IDEs so a new AI can immediately understand ongoing work.
README
ContextBridge
在多个 AI 编程 IDE 之间传递会话上下文的轻量 MCP 工具。 把当前对话 + git diff 打包成快照,切换工具时一键 import,接手的 AI 立刻懂"前因后果"。
ContextBridge 解决一个非常具体的问题:你在 Cursor / Claude Code / Codex / Gemini CLI 之间切来切去时,每次都要跟新工具重新解释"我刚改了什么、现在在做什么"。它把当前会话导出成一份可移植的快照,在另一边 import 进来,接着干。
- 双入口:既能作为 MCP server 被 AI IDE 直接调用,也能作为命令行工具独立使用
- 全本地:sqlite + JSON 文件存储,不联网,不上传,隐私完全可控
- 零常驻:CLI 用完即走,MCP server 仅在 host 进程内运行,没有后台服务
- 自动采集:在 Claude Code 下自动读取
~/.claude/projects/会话,无需手动粘贴
目录
安装
需要 Python 3.10+。
git clone https://github.com/luanyanchengdeqiong/contextbridge.git
cd contextbridge
# 推荐:用 uv
uv venv && uv pip install -e ".[dev]"
# 或者纯 pip
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[dev]"
验证安装:
cb --help # 应列出 export / list / show / import / clear
快速开始
场景:你在 Claude Code 里干了一阵,想切到 Cursor 接着做。
# 1. 在 Claude Code 侧,导出当前会话(自动读取本地 session)
cb export -t "把登录改成 OAuth"
# 2. 切到 Cursor 后,打印 handoff 块粘贴进新对话
cb import # 默认取最新一条
粘贴进去的内容长这样(节选):
# Context Handoff — 把登录改成 OAuth
source IDE: claude_code cwd: /path/to/repo created: 2026-07-29T...
## user
需要把登录改成 OAuth...
## assistant
我已经把 session.py 改好了,接下来要...
## Current git diff
```diff
diff --git a/src/session.py b/src/session.py
...
接手的 AI 一眼看到完整上下文 + 当前代码改动。
---
## 接入 MCP host
接入后,AI 能在自己会话里直接调用 `cb_export` / `cb_import`,无需切到终端。
### Claude Code
编辑 `~/.claude.json`(或项目根 `.mcp.json`):
```json
{
"mcpServers": {
"contextbridge": {
"command": "cb",
"args": ["serve"]
}
}
}
Cursor / Claude Desktop / 其他 MCP host
Settings → MCP → Add Server,填入同样 JSON。Windows 上若 cb 不在 PATH,改用绝对路径:
{
"mcpServers": {
"contextbridge": {
"command": "C:\\path\\to\\contextbridge\\.venv\\Scripts\\cb.exe",
"args": ["serve"]
}
}
}
Windows 注意:
cb serve启动的 git 子进程已做 handle 隔离处理,不会因继承 stdio 管道而挂起。
CLI 用法
cb export [-t TITLE] [-c CONVERSATION_JSON] [--no-diff] # 导出快照
cb list [-n LIMIT] # 列出快照
cb show <ID> # 打印某条快照 JSON
cb import [<ID>] # 打印 handoff 块(默认最新)
cb clear [DAYS] # 清理 N 天前的(默认 30)
显式传入对话(非 Claude Code 环境,如从 GUI host 拷贝):
cb export -t "修复登录 bug" -c '[{"role":"user","content":"登录总报 500"}]'
ID 支持前缀:cb_list 显示的是 8 位短 id,import / show 既接受完整 UUID 也接受短前缀。
MCP 工具
| 工具 | 作用 |
|---|---|
cb_export |
导出当前上下文为快照;在 Claude Code 下自动采集,其他 host 可传 conversation 参数 |
cb_list |
列出快照(显示短 id、IDE、时间、标题) |
cb_import |
按 id/前缀导入,返回 Markdown handoff 块;省略 id 取最新 |
cb_clear |
按天数清理旧快照 |
数据存储
~/.contextbridge/
├── index.db # sqlite 索引 + FTS5 全文检索(按标题)
└── snapshots/ # JSON 快照文件,可直接查看/分享/删除
└── 2026-07-29T080000Z_feature-x_<id8>.json
- 用
CONTEXTBRIDGE_HOME环境变量覆盖存储目录 - 快照单文件上限 1MB(超长对话会被截断)
- 存储采用进程级单例连接,长生命周期下不会泄漏 sqlite 连接
项目结构
contextbridge/
├── src/contextbridge/
│ ├── server.py # FastMCP server + 4 个 cb_* 工具
│ ├── cli.py # Typer CLI
│ ├── store.py # sqlite 存储 + FTS5 + 前缀查找
│ ├── render.py # 共享的 handoff 渲染(CLI/MCP 复用)
│ ├── gitutils.py # Windows 安全的 git diff
│ ├── truncation.py # 对话/diff 截断
│ ├── schema.py # pydantic 模型
│ └── adapters/ # IDE 适配器(Claude Code / Generic)
├── tests/ # 38 条测试
├── docs/
│ ├── install.md
│ └── architecture.md
└── pyproject.toml
测试
pytest
覆盖:存储 CRUD、前缀查找、孤儿行兜底、FTS 检索、CLI 各命令、MCP server 工具、Claude Code 适配器、渲染格式。
设计文档
- docs/install.md — 详细安装说明
- docs/architecture.md — 架构与设计决策
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。