GitHub数据访问服务

一个提供GitHub仓库和数据访问的FastMCP服务器,用于Poke集成。

  • by akarnik23
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 akarnik23/mcp-github

使用说明

GitHub MCP 服务器

一个FastMCP服务器,提供对GitHub存储库和数据的访问,以支持Poke集成。

🚀 功能特点

  • **获取仓库列表(或获取存储库)**获取GitHub用户的仓库
  • 获取问题获取仓库中的问题
  • 获取拉取请求获取仓库的拉取请求
  • 搜索代码在GitHub上搜索代码

🔑 GitHub Token 设置

此服务器需要GitHub个人访问令牌才能访问API:

  1. 首选 GitHub 设置 > 个人访问令牌
  2. 使用(以下方法)生成一个新令牌 repo 并且 public_repo 范围(或“作用域”)
  3. 设置环境变量: 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

步骤:

  1. 点击上方的“部署到Render”按钮 或者前往 render.com(该域名本身可直接翻译为“渲染网”,但具体翻译可能需根据上下文或公司/项目名称来确定,此处提供直译)
  2. 将您的GitHub帐户连接到Render (如果你还没有的话)
  3. 创建一个新的Web服务:
    • 连接此存储库
    • 名字: github-mcp
    • 环境: Python 3
    • 计划: Free
    • 构建命令: pip install -r requirements.txt
    • 启动命令: python src/server.py
  4. 设置环境变量:
    • 前往您的渲染服务仪表板
    • 点击“环境”选项卡
    • 添加环境变量: GITHUB_TOKEN = your_github_token_here
    • 点击“保存更改”
  5. 部署!

注:在Render的免费套餐中,服务在无活动约15分钟后会进入空闲状态,并且可能需要手动执行“部署”操作来唤醒服务或获取最新的提交内容。与Vercel不同,默认情况下推送不会自动部署。

您的服务器将在 https://github-mcp.onrender.com/mcp

🎯 投石(或戳刺)集成

  1. 首选 poke.com/设置/连接
  2. 添加MCP URL: https://github-mcp.onrender.com/mcp
  3. 给它起个名字,比如“GitHub”
  4. 尝试:“你能用GitHub的MCP来列出我的仓库吗?”

参考文献

🔧 可用工具

  • 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个请求

如果超出速率限制,服务器将返回错误。