关于 Git Insights
Git Insights 是供开发者检查本地 Git 仓库的只读统计 MCP 服务。它汇总历史、blame 归属、变更频率、作者和大文件,不会获取或修改仓库数据。
主要功能
- 01汇总仓库状态
- 02筛选并检查提交历史
- 03统计文件归属和变更频率
- 04按作者统计提交
- 05查找树或历史中的大文件
适用场景
- 01查看近期仓库活动
- 02识别频繁变更的文件
- 03检查不同作者的贡献模式
- 04查找历史中的大型 blob
MCP 相关
通过 stdio 向 MCP 客户端提供只读仓库分析工具,包括 `repo_summary`、`git_log`、`blame_summary`、`churn`、`authors` 和 `large_files`。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm ghcr.io/basitalisandhu/mcp-git-insights:0.3.0本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/basitalisandhu/mcp-git-insights:0.3.0stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
git-insights MCP 服务
为本地 git 仓库提供只读统计:日志、blame 归属、变更情况、作者和大文件。每条命令都会使用固定参数列表直接启动,不经过 shell,并对路径和修订版本进行验证,设置 20 s 超时、输出上限以及 GIT_OPTIONAL_LOCKS=0。不会写入、获取或检出任何内容。
属于 dev-mcp-servers 项目。仅支持 Stdio 传输;服务不会打开端口。
工具
| 工具 | 输入 | 返回内容 |
|---|---|---|
repo_summary | repo | 顶层目录、分支、HEAD 提交、远程仓库(从 URL 中剥离凭据)、提交、标签和分支数量,以及已修改和未跟踪文件数量。 |
git_log | repo、rev?、limit?(1 到 500)、path?、author?、since?、until?、grep?、no_merges?、with_files? | 按时间从新到旧排列的提交,包含哈希、作者、ISO 日期、主题,以及可选的涉及文件。 |
blame_summary | repo、path、rev?、ignore_whitespace? | 某个文件中每位作者对应的行数、百分比和最新提交。 |
churn | repo、rev?、since?、until?、path?、limit?、max_commits? | 按涉及提交数排序的文件,包含新增和删除的行数;重命名会追踪到当前名称。 |
authors | repo、rev?、since?、until?、path?、include_merges?、limit? | 每位作者(按电子邮件地址)的提交数,以及首次和最近一次提交的日期。 |
large_files | repo、rev?、limit?、include_history? | 树中的最大 blob,或整个历史记录中的最大 blob(找出克隆体积大的原因)。 |
安装
Claude Code:
claude mcp add git-insights -- docker run --rm -i -v "$PWD:/repo:ro" ghcr.io/basitalisandhu/mcp-git-insights:0.2.2
添加 -s user,即可在每个项目中使用。任何会读取 .mcp.json 的客户端(Claude Code、Claude Desktop、Cursor):
{
"mcpServers": {
"git-insights": {
"command": "docker",
"args": ["run", "--rm", "-i", "-v", "/path/to/your/project:/repo:ro", "ghcr.io/basitalisandhu/mcp-git-insights:0.2.2"]
}
}
}
如示例所示固定版本,避免更新在你未察觉的情况下改变编辑器中运行的内容。将仓库挂载到 /repo;镜像只信任该路径。软件包尚未发布到 npmjs.com,因此 npx 无法使用;GitHub Packages npm 的相关说明请参阅仓库 README。如果是从检出目录运行,请在仓库根目录执行 npm install && npm run build 后,使用 "command": "node", "args": ["<path>/packages/git-insights/dist/index.js"]。
访问范围
- 网络:无。运行
git时会设置GIT_TERMINAL_PROMPT=0;允许列表中没有会连接远程仓库的命令。 - 本地文件:在你指定的仓库中运行
git rev-parse、log、blame、ls-tree、rev-list、cat-file、status、remote、tag和branch。修订版本必须匹配[A-Za-z0-9._/^~-]且不得包含..;路径必须是相对路径且不得包含..;自由文本筛选条件不得以-开头。 - 遥测:无。
注意事项
- 服务不会限制可读取的仓库路径;请使用有权限读取这些路径的账户运行。
- 要求
git位于PATH中。
构建和测试
npm install # at the repository root
npm run build -w @basitalisandhu/mcp-git-insights
npm test -w @basitalisandhu/mcp-git-insights
测试使用 node:test 和 SDK 的内存传输;不会访问网络。
许可证
MIT。请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。