mcpField
G
Git Insights

Git Insights

本地服务
basitalisandhu.github.io版本控制1今天更新

关于 Git Insights

Git Insights 是供开发者检查本地 Git 仓库的只读统计 MCP 服务。它汇总历史、blame 归属、变更频率、作者和大文件,不会获取或修改仓库数据。

主要功能

  1. 01汇总仓库状态
  2. 02筛选并检查提交历史
  3. 03统计文件归属和变更频率
  4. 04按作者统计提交
  5. 05查找树或历史中的大文件

适用场景

  1. 01查看近期仓库活动
  2. 02识别频繁变更的文件
  3. 03检查不同作者的贡献模式
  4. 04查找历史中的大型 blob

MCP 相关

通过 stdio 向 MCP 客户端提供只读仓库分析工具,包括 `repo_summary`、`git_log`、`blame_summary`、`churn`、`authors` 和 `large_files`。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"basitalisandhu-mcp-git-insights": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/basitalisandhu/mcp-git-insights:0.3.0"
]
}
}
}
启动命令docker run -i --rm ghcr.io/basitalisandhu/mcp-git-insights:0.3.0

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/basitalisandhu/mcp-git-insights:0.3.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

git-insights MCP 服务

为本地 git 仓库提供只读统计:日志、blame 归属、变更情况、作者和大文件。每条命令都会使用固定参数列表直接启动,不经过 shell,并对路径和修订版本进行验证,设置 20 s 超时、输出上限以及 GIT_OPTIONAL_LOCKS=0。不会写入、获取或检出任何内容。

属于 dev-mcp-servers 项目。仅支持 Stdio 传输;服务不会打开端口。

工具

工具输入返回内容
repo_summaryrepo顶层目录、分支、HEAD 提交、远程仓库(从 URL 中剥离凭据)、提交、标签和分支数量,以及已修改和未跟踪文件数量。
git_logrepo、rev?、limit?(1 到 500)、path?、author?、since?、until?、grep?、no_merges?、with_files?按时间从新到旧排列的提交,包含哈希、作者、ISO 日期、主题,以及可选的涉及文件。
blame_summaryrepo、path、rev?、ignore_whitespace?某个文件中每位作者对应的行数、百分比和最新提交。
churnrepo、rev?、since?、until?、path?、limit?、max_commits?按涉及提交数排序的文件,包含新增和删除的行数;重命名会追踪到当前名称。
authorsrepo、rev?、since?、until?、path?、include_merges?、limit?每位作者(按电子邮件地址)的提交数,以及首次和最近一次提交的日期。
large_filesrepo、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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。