UNPKG

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
# 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文件