使用说明
Git MCP服务器(FastAPI)
一个轻量级的FastAPI服务器,将本地Git存储库操作作为MCP兼容的API公开。
适用于需要从Git项目进行程序化文件访问的AI代理或自动化系统。
特性
| 端点 | 描述 |
|---|---|
POST /git-mcp/file |
从存储库读取并返回文件内容 |
POST /git-mcp/list |
递归列出给定路径下的文件(按扩展名筛选) |
POST /git-mcp/pr-diff |
PR差异功能占位符(未来增强) |
技术
- Python 3.9+
- 快速API
- Uvicorn
- 派丹蒂克
- 默认情况下启用CORS中间件
配置
设置环境变量以定义存储库根:
Windows CMD
set GIT_LOCAL_REPO=D:\path\to\your\repo
PowerShell
$env:GIT_LOCAL_REPO="D:\path\to\your\repo"
Linux/macOS
export GIT_LOCAL_REPO="/home/user/project"
如果未设置,默认回退路径为:
D:/Sundar/MTech/Dissertation/svc-accounting
运行服务器
安装依赖项
pip install fastapi uvicorn pydantic
启动服务器
uvicorn main:app --reload --port 8003
打开API文档
使用Swagger UI:
http://localhost:8003/docs
API示例
获取文件
POST /git-mcp/file
{
"repo": "local-repo",
"path": "src/main/java/Example.java"
}
列出文件
POST /git-mcp/list
{
"repo": "local-repo",
"base_path": "src",
"ext": ".java"
}
Pull Request Diff(待实现)
POST /git-mcp/pr-diff
{
"repo": "local-repo",
"pr_number": 10
}
未来改进
- 使用GitPython或pygit2支持Git差异
- 分行列表和结账界面
- 在存储库内容中搜索
- 二进制文件处理
- 可选身份验证
贡献
对改进持开放态度——欢迎扩展路线并提交改进!
