CNB MCP Server
CNB MCP Server 是一个面向 Model Context Protocol (MCP) 的服务端实现,基于MCP协议提供对 CNB API 的访问。该服务器允许AI模型通过标准化接口访问和操作CNB代码托管平台的资源。
项目概述
CNB MCP Server 将CNB的API功能包装为MCP协议标准,便于AI模型与CNB代码托管平台进行交互。它使AI助手能够:
- 【x】搜索和管理代码仓库
- 【 】读取和修改文件内容
- 【x】处理Issues和评论
- 以及更多CNB平台功能
功能特性
CNB MCP Server 提供了以下核心功能:
仓库管理
- 创建新仓库
- 搜索公共仓库
- Fork现有仓库
- 获取仓库信息
文件操作
- 获取文件或目录内容
- ~创建或更新单个文件~
- ~在单个提交中批量推送多个文件~
- ~删除文件~
分支管理
- ~创建新分支~
- ~获取分支信息~
- ~设置分支保护规则~
Issue管理
- 创建新Issue
- 获取Issue列表和详情
- 更新Issue状态和内容
- 添加Issue评论
安装指南
前置条件
- Node.js (v16或更高版本)
- npm (v7或更高版本)
- CNB平台访问令牌
安装步骤
# 克隆仓库
git clone https://cnb.cool/FFA/cnb-mcp-server.git
cd cnb-mcp-server
# 安装依赖
npm install
# 构建项目
npm run build
使用方法
作为命令行工具
# 直接运行
./build/index.js
# 或作为全局命令安装
npm install -g ./
cnb-mcp-server
与MCP Inspector集成测试
MCP Inspector是一个交互式工具,用于测试和调试MCP服务器:
# 启动Inspector测试界面
npm run inspector
# 开发模式(实时编译)
npm run watch
支持的MCP工具
CNB MCP Server 支持以下MCP工具:
search_repositories
- 搜索CNB仓库create_repository
- 创建新的CNB仓库get_file_contents
- 获取文件或目录内容- ~
create_or_update_file
- 创建或更新单个文件~ - ~
push_files
- 批量推送多个文件~ create_issue
- 创建新Issuefork_repository
- Fork仓库create_branch
- 创建新分支list_issues
- 列出仓库Issuesupdate_issue
- 更新Issueadd_issue_comment
- 添加Issue评论get_issue
- 获取Issue详情get_user_groups
- 获取用户组织信息
MCP配置
安装
安装在 Claude , 在下面文件中添加配置:
在 MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
在 Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"cnb-mcp-server": {
"command": "node",
"args":["path/to/build/index.js"],
"env":{
"CNB_ACCESS_TOKEN":"CNB_ACCESS_TOKEN"
}
}
}
}
安全说明
- 访问令牌应通过环境变量
CNB_ACCESS_TOKEN
提供,不要硬编码在代码中 - 遵循最小权限原则,使用具有所需最小权限的令牌
- 定期轮换访问令牌以增强安全性
开发指南
# 开发模式(实时编译)
npm run watch
# 运行Inspector进行测试
npm run inspector
# 运行测试
npm test
贡献指南
欢迎贡献代码和提出建议!请遵循以下步骤:
- Fork仓库
- 创建特性分支 (
git checkout -b feature/amazing-feature
) - 提交更改 (
git commit -m 'Add amazing feature'
) - 推送到分支 (
git push origin feature/amazing-feature
) - 创建Pull Request
许可证
本项目采用MIT许可证 - 详见LICENSE文件