GitHub提交查询工具

一个通过MCP服务器让本地LLM调用GitHub API并返回仓库最后N次提交的工具,确保令牌安全。

  • by desaisoham0
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 desaisoham0/GitHub-Commits-MCP-Tool

使用说明

GitHub提交MCP工具

一个简单的工具,让本地LLM通过MCP服务器调用GitHub API,并返回存储库的最后N个提交。您的令牌将保留在服务器进程中。模型从未见过它。

这有什么作用

  • 露出一个MCP工具: list_commits(owner, repo, per_page=5)
  • 呼叫 GET /repos/{owner}/{repo}/commits 并返回紧凑的JSON
  • 可与任何支持MCP的客户端和任何本地Olama型号一起运行

运作原理

  1. 您使用模型启动MCP客户端。
  2. 客户端生成 server.py 超过stdio。
  3. 模型调用 list_commit 带args。
  4. 服务器访问GitHub的REST API并返回JSON。

项目结构

.
├─ server.py          # MCP server with list_commits tool
├─ pyproject.toml     # deps: mcp, requests, python-dotenv
├─ .env               # GITHUB_TOKEN=...
└─ README.md

先决条件

  • Python 3.10+
  • Ollama与当地模特
  • github个人访问令牌 .env

设置

# From the repo root
python3 -m venv .venv
source .venv/bin/activate

pip install -U pip
pip install -e .        # uses pyproject.toml

# Pull a local model for Ollama (choose one you like)
ollama pull qwen2.5

快速健全性测试(可选):

python server.py

跑

启动MCP客户端并将其指向服务器脚本:

source .venv/bin/activate
ollmcp --model qwen2.5 --mcp-server "${pwd}/server.py"

提问模式示例:

List the last 5 commit for owner=username repo=repo-name

截图