使用说明
GitHub MCP 服务器
一个FastMCP服务器,提供对GitHub存储库和数据的访问,以支持Poke集成。
🚀 功能特点
- **获取仓库列表(或获取存储库)**获取GitHub用户的仓库
- 获取问题获取仓库中的问题
- 获取拉取请求获取仓库的拉取请求
- 搜索代码在GitHub上搜索代码
🔑 GitHub Token 设置
此服务器需要GitHub个人访问令牌才能访问API:
- 首选 GitHub 设置 > 个人访问令牌
- 使用(以下方法)生成一个新令牌
repo并且public_repo范围(或“作用域”) - 设置环境变量:
export GITHUB_TOKEN=your_token_here
🛠️ 本地开发
# Install dependencies
pip install -r requirements.txt
# Set GitHub token
export GITHUB_TOKEN=your_token_here
# Run the server
python src/server.py
🚢 部署
部署到Render
步骤:
- 点击上方的“部署到Render”按钮 或者前往 render.com(该域名本身可直接翻译为“渲染网”,但具体翻译可能需根据上下文或公司/项目名称来确定,此处提供直译)
- 将您的GitHub帐户连接到Render (如果你还没有的话)
- 创建一个新的Web服务:
- 连接此存储库
- 名字:
github-mcp - 环境:
Python 3 - 计划:
Free - 构建命令:
pip install -r requirements.txt - 启动命令:
python src/server.py
- 设置环境变量:
- 前往您的渲染服务仪表板
- 点击“环境”选项卡
- 添加环境变量:
GITHUB_TOKEN=your_github_token_here - 点击“保存更改”
- 部署!
注:在Render的免费套餐中,服务在无活动约15分钟后会进入空闲状态,并且可能需要手动执行“部署”操作来唤醒服务或获取最新的提交内容。与Vercel不同,默认情况下推送不会自动部署。
您的服务器将在 https://github-mcp.onrender.com/mcp
🎯 投石(或戳刺)集成
- 首选 poke.com/设置/连接
- 添加MCP URL:
https://github-mcp.onrender.com/mcp - 给它起个名字,比如“GitHub”
- 尝试:“你能用GitHub的MCP来列出我的仓库吗?”
参考文献
- 基于Interaction MCP服务器模板: MCP服务器模板
- 通过Interaction的HackMIT挑战发现: “Interaction HackMIT Challenge”翻译为中文是:“互动黑客马拉松挑战赛(MIT版)”。不过,这里的“HackMIT”可能是一个特定活动或组织的名称,直接翻译可能无法完全传达其原意,但根据常规理解,可以将其解释为与麻省理工学院(MIT)相关的某种黑客技术或创新挑战活动。因此,一个较为通用的翻译是“麻省理工互动黑客挑战赛”
🔧 可用工具
get_repos(username, limit=10)获取用户的仓库get_issues(owner, repo, state="open", limit=10)获取仓库中的问题get_pull_requests(owner, repo, state="open", limit=10)获取仓库的拉取请求(PRs)search_code(query, language="", limit=10)搜索代码
📝 示例用法
# Get user's repositories
get_repos(username="octocat", limit=5)
# Get open issues
get_issues(owner="microsoft", repo="vscode", state="open", limit=10)
# Get pull requests
get_pull_requests(owner="facebook", repo="react", state="open", limit=5)
# Search for Python code
search_code(query="machine learning", language="python", limit=10)
⚠️ 请求速率限制
GitHub API 有速率限制:
- 带有代币每小时5,000个请求
- 没有令牌每小时60个请求
如果超出速率限制,服务器将返回错误。