gitcode_mcp_server:基于 Model Context Protocol (MCP) 的 GitCode 集成服务器项目

用户可借助此项目让 Cursor、Windsurf 等 IDE 无缝接入 GitCode 功能。它提供仓库管理、分支管理、Issue 跟踪、Pull Request 和搜索等核心功能,支持代理配置与 Docker 部署,便于开发协作。【此简介由AI生成】

分支2Tags0
文件最后提交记录最后更新时间
1 个月前
9 个月前
5 个月前
5 个月前
5 个月前
1 年前
1 年前
5 个月前
1 年前
1 个月前
1 年前
9 个月前
1 年前
1 个月前

GitCode MCP 服务器

这是一个基于 Model Context Protocol (MCP) 的 GitCode 集成服务器,允许 Cursor、Windsurf 等 IDE 无缝接入 GitCode 的功能。

功能

  • 仓库管理:查看、创建、编辑仓库
  • 分支管理:查看、创建、切换分支
  • Issue 跟踪:查看、创建、更新 Issue
  • Pull Request:查看、创建、评论 PR
  • 搜索功能:搜索仓库、代码、Issues 等

安装

方法一:使用 pip 安装

# 从源码安装
pip install -e .

安装后可以直接使用命令行工具:

gitcode-mcp

方法二:手动安装依赖

pip install -r requirements.txt

Docker 使用

在容器内运行与本地相同的 stdio MCP 进程;宿主 IDE 通过 docker run -i 将标准输入输出接到容器(必须带 -i,否则 MCP 无法通信)。

构建镜像

在仓库根目录执行:

docker build -t gitcode-mcp:local .

行为说明

  • 令牌:不要把 GITCODE_TOKEN 写入镜像;通过 -e 或 MCP 配置里的 env 在运行时注入(见下)。
  • 日志:服务会在容器工作目录写入 gitcode_mcp.log;未挂载卷时,容器删除后日志一并消失;协议仍走 stdout,不受影响。
  • 代理:需要时在 docker 的 args 中增加 -e、HTTP_PROXY、HTTPS_PROXY 等与本地一致。

在 Cursor 中通过 Docker 运行

示例(请先本地 docker build 或使用已拉取的镜像名):

{
  "mcpServers": {
    "gitcode": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "GITCODE_TOKEN",
        "gitcode-mcp:local"
      ],
      "env": {
        "GITCODE_TOKEN": "your_personal_access_token_here"
      }
    }
  }
}

docker run -e GITCODE_TOKEN 会把当前子进程环境里的 GITCODE_TOKEN 传入容器;Cursor 会将 env 注入到 docker 进程,因此与上例一致。若使用代理,可扩展 args 与 env,例如增加 HTTP_PROXY、HTTPS_PROXY。

使用方法

  1. 设置环境变量(或者创建 .env 文件):
GITCODE_TOKEN=your_personal_access_token

# 说明:访问 GitCode OpenAPI 时,请求头 User-Agent 为 GitCode-MCP-Client/<版本> python/<发布日期>,供平台侧统计 MCP 客户端流量(版本见 _client_identity.USER_AGENT_PRODUCT_VERSION,与 setup.py version 同步)。

# 可选:如果需要使用代理
HTTP_PROXY=http://localhost:8080
HTTPS_PROXY=https://localhost:8080
  1. 运行服务器:
python -m gitcode_mcp
  1. 在支持 MCP 的 IDE 中配置服务器连接

代理支持

GitCode MCP 支持通过 HTTP/HTTPS 代理访问 GitCode API。您可以通过以下方式配置代理:

方式一:环境变量

export HTTP_PROXY=http://proxy.example.com:8080
export HTTPS_PROXY=http://proxy.example.com:8080

方式二:在 MCP 配置文件中设置

{
  "mcpServers": {
    "gitcode": {
      "command": "python",
      "args": ["-m", "gitcode_mcp"],
      "env": {
        "GITCODE_TOKEN": "your_personal_access_token_here",
        "HTTP_PROXY": "http://proxy.example.com:8080",
        "HTTPS_PROXY": "http://proxy.example.com:8080"
      }
    }
  }
}

支持的代理格式:

  • http://proxy.example.com:8080 - 基础 HTTP 代理
  • http://user:password@proxy.example.com:8080 - 带认证的代理
  • socks5://proxy.example.com:1080 - SOCKS5 代理(需要安装 aiohttp-socks)

在 Cursor 中接入

Cursor 支持通过 MCP 协议连接到外部服务器。按照以下步骤在 Cursor 中接入 GitCode:

方法一:项目级配置(仅对当前项目生效)

  1. 在项目根目录创建 .cursor/mcp.json 文件,内容如下:
    {
      "mcpServers": {
        "gitcode": {
          "command": "python",
          "args": ["-m", "gitcode_mcp"],
          "env": {
            "GITCODE_TOKEN": "your_personal_access_token_here"
          }
        }
      }
    }
    

方法二:全局配置(对所有项目生效)

  1. 在用户主目录创建 ~/.cursor/mcp.json 文件,内容如上。

  2. 启动或重启 Cursor

  3. 使用 GitCode 功能

    • 使用 / 命令可访问 GitCode 相关功能
    • 或直接告诉 AI 助手使用 GitCode 工具完成任务

配置文件示例: 在 examples/cursor_config.json 中提供了 Cursor 的配置示例,可以作为参考。

在 Windsurf 中接入

Windsurf 同样支持 MCP 协议。按照以下步骤设置:

方法一:使用配置文件

  1. 创建或编辑 Windsurf 的 MCP 配置文件,添加以下内容:

    {
      "mcpServers": {
        "gitcode": {
          "command": "python",
          "args": ["-m", "gitcode_mcp"],
          "env": {
            "GITCODE_TOKEN": "your_personal_access_token_here"
          }
        }
      }
    }
    
  2. 确保 GitCode MCP 服务器已安装

    pip install -e .
    
  3. 启动或重启 Windsurf

  4. 使用 GitCode 功能

    • 在编辑器中通过命令面板访问 GitCode 功能
    • 或直接告诉 AI 助手使用 GitCode 工具完成任务

配置文件示例: 在 examples/windsurf_config.json 中提供了 Windsurf 的配置示例,可以作为参考。

方法二:通过设置界面(旧版本)

如果您使用的是不支持新配置格式的旧版 Windsurf,可以通过以下步骤设置:

  1. 确保 GitCode MCP 服务器已启动

    python -m gitcode_mcp
    
  2. 打开 Windsurf 设置面板

    • 点击右上角菜单或使用快捷键进入设置
  3. 找到 AI 扩展或 MCP 服务器配置部分

    • 选择 "添加新服务器" 或类似选项
  4. 配置服务器连接

    • 连接类型: stdio
    • 命令: python -m gitcode_mcp
    • 服务器名称: GitCode
    • 环境变量: 添加 GITCODE_TOKEN=your_token_here
  5. 保存并启用服务器

    • 启用后,Windsurf 应该会显示连接状态

排查问题

如果连接失败,请检查:

  1. GitCode MCP 服务器是否正在运行
  2. 个人访问令牌是否正确设置
  3. IDE 中的路径配置是否正确(确保 Python 和模块可访问)
  4. 查看服务器日志以获取更多信息

开发

本项目使用官方的 MCP Python SDK 实现,遵循 Model Context Protocol 规范。

本地开发

  1. 克隆仓库

    git clone https://atomgit.com/asuan_suan/gitcode_mcp_server.git
    cd gitcode-mcp-server
    
  2. 创建虚拟环境

    python -m venv venv
    source venv/bin/activate  # Linux/macOS
    venv\Scripts\activate     # Windows
    
  3. 安装开发依赖

    pip install -e ".[dev]"
    

贡献代码

欢迎贡献代码!请按照以下步骤:

  1. Fork 本仓库
  2. 创建您的特性分支 (git checkout -b feature/amazing-feature)
  3. 提交您的更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 开启一个 Pull Request

许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件

项目介绍

用户可借助此项目让 Cursor、Windsurf 等 IDE 无缝接入 GitCode 功能。它提供仓库管理、分支管理、Issue 跟踪、Pull Request 和搜索等核心功能,支持代理配置与 Docker 部署,便于开发协作。【此简介由AI生成】

定制我的领域