Git差异搜索服务

一个实验性的只读MCP服务器,用于通过正则表达式匹配提交信息和差异内容来查找相关的Git差异,适用于代码变更分析和学习人类提交行为。

  • by lorenzwalthert
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 lorenzwalthert/git-search-mcp

使用说明

Git搜索MCP服务器


这是一个实验项目。无保修。


只读MCP服务器以查找相关的git差异。与普通文件分析相比,这可以

  • 在提交消息和相关正则表达式的差异之间建立连接。
  • 通过关注差异而不是整个文件来减少上下文窗口中的噪声。

服务器对于提取代码更改的相关信息非常有用,这些代码更改通常会触及代码库中的类似位置,并包含类似的提交消息,例如:

  • 引入新的样板代码,例如必须在系统中传播的新参数。
  • 总是发生在相同文件中的配置更改。
  • 代码发生了变化,提交消息在差异之上添加了信息(因为两者不相似)。

这些信息可以增强代理从人类提交者那里学习执行类似任务的行为。

安装

首次安装 uv,然后您可以使用以下设置将服务器添加到mcp配置中:

  • 命令: uvx
  • args: git+https://github.com/lorenzwalthert/git-search-mcp.git 和 git-search-mcp

服务器公开了两个工具:

  • git_diffs_by_msg:返回与提交消息中的正则表达式模式匹配的最后5个git提交差异。
  • git_diff_by_content:返回最后5个提交差异,其中差异内容使用正则表达式匹配 git log -G.

用法

例如,在AWS Q中,您可以透明地看到工具调用:

刀具参数

这两种工具都支持:

  • regex (必填):要搜索的正则表达式模式
  • repo_path (可选):git存储库的路径(默认为当前目录)
  • file_glob (可选):用于搜索文件的Glob模式(默认**/*.py)
  • max_chars (可选):返回值的最大字符限制(默认3000)

发展

uv sync