使用说明
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"
}