关于 git
面向 AI Agent 的 MCP 服务,使用原生 Git 命令分析本地仓库,无需 GitHub API。提供提交历史、差异、归属信息、活动统计和分支分析。
主要功能
- 01筛选提交历史
- 02比较引用并汇总变更
- 03查看逐行修改者
- 04统计仓库活动
- 05分析分支状态与差异
适用场景
- 01按作者、日期或路径查找提交
- 02汇总分支间的变更
- 03追踪特定代码行的修改者
- 04查看贡献者和高频变更文件
MCP 相关
向 MCP 客户端提供本地 Git 仓库分析工具,包括日志、差异、归属信息、统计和分支操作。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
5收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| path | string | 否 | 筛选修改过此文件或目录路径的提交。 |
| count | number | 否 | 要返回的近期提交数量。默认值为 20。 |
| since | string | 否 | 显示此日期之后的提交(ISO 8601 格式或自然语言)。 |
| until | string | 否 | 显示此日期之前的提交。 |
| author | string | 否 | 按作者姓名或电子邮件筛选提交(子串匹配)。 |
| repoPath | string | 是 | 本地 Git 仓库的绝对路径。 |
详细介绍
mcp-git-tools
面向 AI Agent 的 Git 仓库分析工具,通过 MCP(Model Context Protocol)提供服务。使用原生 Git 命令分析本地仓库,无需 GitHub API。
工具
| 工具 | 描述 |
|---|---|
git_log | 获取提交历史,可按作者、日期范围和文件路径筛选 |
git_diff | 显示提交、分支或标签之间的差异,并提供更改摘要 |
git_blame | 显示文件每一行的最后修改者及提交信息 |
git_stats | 仓库统计信息:提交数、贡献者、随时间变化的活跃度,以及更改最多的文件 |
git_branch | 列出分支及其最近提交信息、超前/落后计数、已合并/未合并状态 |
前置条件
- Node.js >= 18
- Git 已安装且可在 PATH 中使用
设置
npm install
npm run build
配置
将以下内容添加到 MCP 客户端配置中:
{
"mcpServers": {
"git-tools": {
"command": "node",
"args": ["D:/products/mcp-servers/mcp-git-tools/dist/index.js"]
}
}
}
工具详情
git_log
获取最近的提交历史,可选用筛选条件。
参数:
repoPath(必填)——Git 仓库的绝对路径count——返回的提交数量(默认值:20)author——按作者姓名或电子邮件筛选since/until——日期范围筛选条件path——筛选涉及特定文件或目录的提交
git_diff
比较两个引用,并获取结构化的更改摘要。
参数:
repoPath(必填)——Git 仓库的绝对路径from——起始引用(默认值:HEAD~1)to——结束引用(默认值:HEAD)path——将差异限制在特定文件或目录summaryOnly——仅返回统计信息,不返回完整差异文本
git_blame
查看文件逐行的作者信息。
参数:
repoPath(必填)——Git 仓库的绝对路径filePath(必填)——相对于仓库根目录的文件路径startLine/endLine——查看特定行范围的 Blame 信息ref——查看特定提交时的 Blame 信息
git_stats
获取仓库活动的概览。
参数:
repoPath(必填)——Git 仓库的绝对路径topAuthors——要列出的顶级贡献者数量(默认值:10)topFiles——要列出的更改最多的文件数量(默认值:10)
git_branch
列出并分析分支。
参数:
repoPath(必填)——Git 仓库的绝对路径baseBranch——用于比较的分支(默认值:main 或 master)includeRemote——包含远程跟踪分支mergedOnly/unmergedOnly——按合并状态筛选
许可证
MIT
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。