logo
0
0
Login

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 - 创建新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

{ "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

贡献指南

欢迎贡献代码和提出建议!请遵循以下步骤:

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

About

CNB MCP Server 将CNB的API功能包装为MCP协议标准,便于AI模型与CNB代码托管平台进行交互。

CNBMCP
Language
TypeScript80.3%
JavaScript14.1%
Markdown5.3%
gitignore0.2%
Others0.1%