cnb-mcp-server
Version:
MCP Server for the cnb API, enabling file operations, repository management, search functionality, and more.
160 lines (116 loc) • 3.65 kB
Markdown
# CNB MCP Server
CNB MCP Server 是一个面向 [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) 的服务端实现,基于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平台访问令牌
### 安装步骤
```bash
# 克隆仓库
git clone https://cnb.cool/FFA/cnb-mcp-server.git
cd cnb-mcp-server
# 安装依赖
npm install
# 构建项目
npm run build
```
## 使用方法
### 作为命令行工具
```bash
# 直接运行
./build/index.js
# 或作为全局命令安装
npm install -g ./
cnb-mcp-server
```
### 与MCP Inspector集成测试
MCP Inspector是一个交互式工具,用于测试和调试MCP服务器:
```bash
# 启动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` - 创建新Issue
- `fork_repository` - Fork仓库
- `create_branch` - 创建新分支
- `list_issues` - 列出仓库Issues
- `update_issue` - 更新Issue
- `add_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`
```json
{
"mcpServers": {
"cnb-mcp-server": {
"command": "node",
"args":["path/to/build/index.js"],
"env":{
"CNB_ACCESS_TOKEN":"CNB_ACCESS_TOKEN"
}
}
}
}
```
## 安全说明
- 访问令牌应通过环境变量`CNB_ACCESS_TOKEN`提供,不要硬编码在代码中
- 遵循最小权限原则,使用具有所需最小权限的令牌
- 定期轮换访问令牌以增强安全性
## 开发指南
```bash
# 开发模式(实时编译)
npm run watch
# 运行Inspector进行测试
npm run inspector
# 运行测试
npm test
```
## 贡献指南
欢迎贡献代码和提出建议!请遵循以下步骤:
1. Fork仓库
2. 创建特性分支 (`git checkout -b feature/amazing-feature`)
3. 提交更改 (`git commit -m 'Add amazing feature'`)
4. 推送到分支 (`git push origin feature/amazing-feature`)
5. 创建Pull Request
## 许可证
本项目采用MIT许可证 - 详见LICENSE文件