GitHub GraphQL MCP Server
QuentinCody
README
GitHub GraphQL MCP 服务器
一个模型上下文协议 (MCP) 服务器,提供对 GitHub GraphQL API 的访问。 此服务器公开一个工具,允许针对 GitHub 的 API 执行任意 GraphQL 查询和变更。
功能
- 针对 GitHub 的 API 执行任何 GraphQL 查询
- 全面的错误处理和报告
- 包含示例查询的详细文档
- 支持 GraphQL 操作中的变量
前提条件
- Python 3.10 或更高版本
- GitHub 个人访问令牌 (PAT)
安装
- 克隆此存储库
- 设置虚拟环境(推荐):
# On macOS/Linux python3 -m venv .venv source .venv/bin/activate # On Windows python -m venv .venv .venv\Scripts\activate - 安装依赖项:
pip install -r requirements.txt
用法
运行服务器
# 如果使用虚拟环境,请确保已激活它
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# 使用您的 GitHub 令牌运行服务器
GITHUB_TOKEN=your_github_token_here python github_graphql_mcp_server.py
使用 Claude for Desktop 进行配置
将以下内容添加到您的 Claude Desktop 配置文件:
"github-graphql": {
"command": "/absolute/path/to/your/.venv/bin/python",
"args": [
"/absolute/path/to/github_graphql_mcp_server.py"
],
"options": {
"cwd": "/absolute/path/to/repository"
},
"env": {
"GITHUB_TOKEN": "your_github_token_here"
}
}
将 /absolute/path/to/ 替换为服务器文件的实际路径,并添加您的 GitHub 令牌。
示例查询
获取存储库信息
query GetRepo($owner: String!, $name: String!) {
repository(owner: $owner, name: $name) {
name
description
stargazerCount
url
createdAt
owner {
login
avatarUrl
}
}
}
变量:
{
"owner": "octocat",
"name": "Hello-World"
}
搜索存储库
query SearchRepos($query: String!, $first: Int!) {
search(query: $query, type: REPOSITORY, first: $first) {
repositoryCount
edges {
node {
... on Repository {
name
owner { login }
description
stargazerCount
url
}
}
}
}
}
变量:
{
"query": "language:python stars:>1000",
"first": 5
}
获取用户信息
query GetUserInfo($login: String!) {
user(login: $login) {
name
login
bio
avatarUrl
followers {
totalCount
}
repositories(first: 5, orderBy: {field: STARGAZERS, direction: DESC}) {
nodes {
name
description
stargazerCount
}
}
}
}
变量:
{
"login": "octocat"
}
GitHub API 速率限制
请注意 GitHub 的 API 速率限制:
- 经过身份验证的请求:每小时 5,000 个请求
- 未经身份验证的请求:每小时 60 个请求
故障排除
如果您遇到问题:
- 检查您的 GitHub 令牌是否具有正确的权限
- 验证您的虚拟环境是否已正确设置和激活
- 确保您的令牌已在环境变量中正确设置
- 如果使用 Claude Desktop,请确保 Python 的路径正确(使用虚拟环境 Python 的绝对路径)
- 查看服务器日志以获取错误消息
- 确保您的 GraphQL 查询对 GitHub 的模式有效
- 在进行配置更改后,重新启动 Claude for Desktop
常见错误
spawn python ENOENT
- 此错误表示未找到 Python 可执行文件
- 解决方案:使用虚拟环境中 Python 可执行文件的完整路径(例如,
/path/to/your/.venv/bin/python)
ModuleNotFoundError: No module named 'httpx'(或其他软件包)
- Python 环境没有安装所需的依赖项
- 解决方案:确保您已激活虚拟环境并运行
pip install -r requirements.txt
Error: GitHub token not found in environment variables
- 服务器找不到您的 GitHub 令牌
- 解决方案:确保您已设置 GITHUB_TOKEN 环境变量
许可证
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。
Linear MCP Server
一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。
JSON Resume MCP Server
一个服务器,它通过分析你的代码项目来增强 AI 助手的能力,使其能够更新你的 JSON 简历,自动提取技能并生成专业的描述。