关于 GitHub MCP Server
GitHub MCP Server 向 MCP 客户端提供 GitHub 账户、仓库、议题和提交状态操作。它同时提供可调用工具和基于 URI 的资源,并使用 GitHub token 进行访问。
主要功能
- 01获取用户和所有者信息
- 02列出仓库与关注者
- 03读取并创建仓库议题
- 04查询提交状态
- 05通过资源访问 GitHub 数据
适用场景
- 01查看用户公开资料和仓库
- 02列出仓库议题
- 03从 MCP 客户端创建议题
- 04检查提交状态
MCP 相关
通过工具和基于 URI 的资源向 MCP 客户端提供 GitHub 操作。需在 `.env` 文件中配置 GitHub token。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
GitHub MCP 服务
一个简单的自定义 MCP 服务,可通过各种工具和资源提供 GitHub 集成功能。
演示
https://github.com/user-attachments/assets/63b92a95-56f3-4290-9c73-acc4ad407246
功能
- 获取用户信息和个人资料详情
- 列出用户的仓库和关注者
- 获取仓库议题
- 创建新议题
- 获取提交状态
- 获取所有者信息
- 基于资源访问 GitHub 数据
设置
- 安装依赖:
pip install -r requirements.txt
- 在项目根目录中创建
.env文件,并添加你的 GitHub 令牌:
GITHUB_TOKEN=your_github_token_here
你可以在此处创建 GitHub 令牌:https://github.com/settings/personal-access-tokens,并授予以下权限:
repo(完全控制私有仓库)read:user(读取用户个人资料数据)user:follow(关注和取消关注用户)
可用工具
owner_info():获取已通过身份验证的 GitHub 用户信息get_user_info(username):获取 GitHub 用户信息list_followers(username, limit=10):列出 GitHub 用户的关注者list_repositories(username, limit=5):列出 GitHub 用户的仓库get_repo_issues(owner, repo, state="open"):获取仓库的议题create_issue(owner, repo, title, body, labels=None):创建新议题get_commit_statuses(owner, repo, sha):获取指定提交 SHA 的状态
可用资源
github://user/{username}:获取用户的 GitHub 个人资料github://followers/{username}:列出用户的关注者github://repos/{username}:列出用户的仓库github://issues/{owner}/{repo}:获取仓库的议题github://commit-status/{owner}/{repo}/{sha}:获取指定提交的状态
运行服务
python server.py
使用示例
# Get authenticated user information
user_info = owner_info()
# Get user information
user_info = get_user_info("octocat")
# List followers
followers = list_followers("octocat", limit=5)
# List repositories
repos = list_repositories("octocat", limit=3)
# Get repository issues
issues = get_repo_issues("octocat", "Hello-World")
# Create a new issue
new_issue = create_issue(
"octocat",
"Hello-World",
"Bug Report",
"Found a bug in the code",
labels=["bug"]
)
# Get commit statuses
statuses = get_commit_statuses("octocat", "Hello-World", "abc123")
响应格式示例
用户信息
{
"name": "The Octocat",
"login": "octocat",
"bio": "GitHub's mascot",
"public_repos": 8,
"followers": 1000,
"following": 9
}
仓库信息
{
"name": "Hello-World",
"description": "My first repository",
"stars": 100,
"forks": 50,
"language": "Python"
}
议题信息
{
"number": 1,
"title": "Bug Report",
"state": "open",
"created_at": "2024-05-04T14:35:40.784Z",
"user": "octocat"
}
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。