在 AI 辅助编程逐渐成为日常的开发环境中,我们常常会遇到这样的场景:想让 AI 助手帮忙 review 代码、理解项目结构,或者快速定位某个函数的实现位置。但如果你的代码托管在腾讯工蜂(Tencent Code)上,你会发现 AI 并不能直接访问你的仓库——因为工蜂官方目前还没有提供 MCP(Model Context Protocol)服务。
既然官方没有,那就自己造一个。
MCP 是 Anthropic 提出的一种开放协议,它让 AI 助手能够安全地连接到各种数据源和工具。通过 MCP,AI 不再只是"聊天机器人",而是能真正操作你的开发环境:读代码、查文档、管理任务等等。
对于使用腾讯工蜂的团队来说,没有 MCP 意味着 AI 助手只能基于你复制粘贴的代码片段来回答问题,既低效又容易遗漏上下文。于是乎,tencentcode-mcp诞生了。
tencentcode-mcp 是一个基于 Model Context Protocol 标准实现的服务器,它架起了 AI 助手与腾讯工蜂之间的桥梁。接入之后,你的 AI 可以:
项目管理
-
列出所有可访问的仓库
-
查看项目详情和配置
代码浏览 -
浏览仓库的目录结构
-
读取指定文件的内容
-
在项目中搜索代码关键词
版本控制 -
查看分支列表和详情
-
浏览提交历史
-
创建新分支
协作流程 -
查看合并请求列表
-
创建新的合并请求
-
接受并合并代码
技术实现
这个项目的技术栈和实现思路如下:
技术选型
- TypeScript :类型安全,开发体验好
- MCP SDK :基于 @modelcontextprotocol/sdk 实现协议标准
- Axios :与工蜂 API 通信
- Stdio Transport :使用标准输入输出与 MCP 客户端通信
架构设计 项目采用经典的客户端-服务端模式:
┌─────────────┐
┌─────────────────┐
┌─────────────┐
│ AI 助手 │ ←→ │
tencentcode-mcp │ ←→ │ 腾讯工蜂
API │
│ (MCP 客户端)│ │ (MCP 服务
器) │ │ │
└─────────────┘
└─────────────────┘
└─────────────┘
核心模块包括:
- TencentCodeMCPServer :MCP 服务器主类,处理协议层面的请求响应
- TencentCodeClient :工蜂 API 客户端,封装了所有工蜂接口调用
- Tools :16 个工具方法,覆盖项目管理、代码浏览、分支操作、合并请求等场景
关键实现点
- API 封装 :工蜂 API 与 GitLab API 兼容,我们基于工蜂官方文档封装了项目、分支、提交、合并请求、文件浏览等接口
- MCP 协议适配 :实现了 ListTools 、 CallTool 、 ListResources 、 ReadResource 四个核心 handler,让 AI 能发现和调用我们的工具
- 资源暴露 :除了工具调用,还将项目、分支等作为资源暴露给 AI,方便 AI 主动获取上下文
- 错误处理 :每个工具方法都有完善的错误捕获和返回,确保 AI 能收到清晰的反馈
如何使用
使用这个工具很简单。首先确保你有 Node.js 18+ 环境,然后:
# 安装依赖
npm install
# 编译项目
npm run build
# 设置访问令牌后运行
export
TENCENT_CODE_ACCESS_TOKEN="your-toke
n"
node dist/index.js
在支持 MCP 的客户端(如 Trae IDE、Claude Desktop 等)中配置好服务器路径,AI 就能直接操作你的工蜂仓库了。
写在最后
这个项目源于自己开发中的真实需求。从发现工蜂没有 MCP 服务,到调研 MCP 协议、设计架构、实现功能,前后花了一周左右的时间。过程中也踩了一些坑,比如工蜂 API 的认证方式、部分接口的返回格式与标准 GitLab 略有差异等。
希望它也能帮助到你,让 AI 真正成为你写代码时的得力助手,而不是一个需要反复复制粘贴的"外挂"。