返回 MCP 目录
public公开dns本地运行

GitHub Issues

一个用于通过Cline与GitHub问题交互的MCP服务器实现

article

README

🚀 GitHub MCP 服务器

本项目是一个基于 Model Context Protocol (MCP) 的服务器实现,它借助 Cline 与 GitHub 问题进行交互,能有效管理 GitHub 仓库中的问题。

🚀 快速开始

本项目是一个通过 Cline 与 GitHub 问题交互的 Model Context Protocol (MCP) 服务器实现。你可以按照以下步骤快速搭建并使用该服务器。

✨ 主要特性

  • 可列出仓库中的 GitHub 问题,便于统一查看和管理。
  • 支持创建新的 GitHub 问题,操作便捷。
  • 具备完善的错误处理和验证机制,保障系统稳定运行。
  • 通过环境变量实现安全认证,提升系统安全性。

📦 安装指南

克隆仓库

git clone https://github.com/timbuchinger/mcp-github.git
cd mcp-github

安装依赖

pip install uv
uv venv
source .venv/bin/activate  # 在 Windows 上:.venv\Scripts\activate
uv pip install -r requirements.txt

配置环境变量

cp .env.template .env

编辑 .env 文件并在其中添加你的 GitHub 个人访问令牌:

GITHUB_TOKEN=your_token_here

创建 GitHub 个人访问令牌的方法:

  1. 转到 GitHub 设置 -> 开发者设置 -> 个人访问令牌。
  2. 使用 repo 权限生成新的令牌。
  3. 复制令牌并将其粘贴到你的 .env 文件中。

💻 使用示例

运行 MCP 服务器

python -m src.mcp_github.server

该服务器将向 Cline 暴露两个工具:

基础用法

get_issues

从 GitHub 仓库获取问题列表:

{
  "repo": "owner/repo"
}
create_issue

在 GitHub 仓库创建新问题:

{
  "repo": "owner/repo",
  "title": "问题标题",
  "body": "问题描述"
}

🔧 技术细节

错误处理

服务器处理常见错误:

  • 缺少 GitHub 令牌
  • 无效的仓库名称
  • 必要参数缺失
  • GitHub API 错误

错误响应包含描述性消息,以帮助排查问题。

开发

该项目使用 uv 进行依赖管理。要设置开发环境:

# 安装所有依赖(包括开发依赖)
uv pip install -r requirements.txt

# 运行测试
pytest

# 格式化代码
black .

# 类型检查
mypy .
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端