mcpField
G
Git Mcp

Git Mcp

本地服务
github.com/kjozsa版本控制386 周前更新

关于 Git Mcp

Git Mcp 是用于管理本地 Git 仓库的 MCP 服务,可列出仓库、查看标签和提交,并创建或推送标签及刷新仓库。

主要功能

  1. 01列出指定目录中的仓库
  2. 02查看最新标签及其日期
  3. 03列出最新标签后的提交
  4. 04创建并推送 Git 标签
  5. 05切换分支并拉取仓库

适用场景

  1. 01检查某个发布标签后的提交
  2. 02创建发布标签并推送到远程端
  3. 03从远程端刷新本地仓库

MCP 相关

它向 MCP 客户端提供 Git 仓库操作工具,并通过 `GIT_REPOS_PATH` 定位仓库。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"git-mcp-kjozsa": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

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

安装包
npm@smithery/cli

工具

还没有获取到工具列表

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

详细介绍

Git MCP

smithery 徽章 用于管理本地仓库中 Git 操作的 MCP 服务。

安装

通过 Smithery 安装

通过 Smithery 自动为 Claude Desktop 安装 Git MCP:

npx -y @smithery/cli install @kjozsa/git-mcp --client claude
手动安装
uvx install git-mcp

配置

使用以下 JSON 配置片段添加 MCP 服务:

{
  "mcpServers": {
    "git-mcp": {
      "command": "uvx",
      "args": ["git-mcp"],
      "env": {
        "GIT_REPOS_PATH": "/path/to/your/git/repositories"
      }
    }
  }
}

功能与用法

环境变量
  • GIT_REPOS_PATH:包含 Git 仓库的目录路径(必填)

你可以在环境中设置此变量,也可以在运行服务的目录中创建 .env 文件。

可用方法
list_repositories

列出配置路径中的所有 Git 仓库。

  • 参数:无
  • 返回:仓库名称列表
get_last_git_tag

查找指定仓库中的最新 Git 标签。

  • 参数:repo_name(Git 仓库名称)
  • 返回:包含 version(标签名称)和 date(标签创建日期)的字典
list_commits_since_last_tag

列出最新 Git 标签与 HEAD 之间的提交消息。

  • 参数:
    • repo_name:Git 仓库名称
    • max_count(可选):要返回的最大提交数
  • 返回:包含 hash、author、date 和 message 的字典列表
create_git_tag

在指定仓库中创建新的 git 标签。

  • 参数:
    • repo_name:git 仓库名称
    • tag_name:要创建的标签名称
    • message(可选):附注标签的消息(若未提供,则创建轻量标签)
  • 返回:包含 status、version(标签名称)、date(标签创建日期)和 type(附注或轻量)的字典
push_git_tag

将现有 git 标签推送到默认远程仓库。

  • 参数:
    • repo_name:git 仓库名称
    • tag_name:要推送的标签名称
  • 返回:包含 status、remote(远程名称)、tag(标签名称)和 message(成功消息)的字典
refresh_repository

通过检出 main 分支(若不存在则使用 master)并从所有远程拉取内容来刷新仓库。

  • 参数:
    • repo_name:Git 仓库名称
  • 返回:包含 status、repository、branch 和 pull_results(每个远程的拉取结果)的字典
故障排除
  • 未找到仓库:确保 GIT_REPOS_PATH 设置正确,并且仓库存在
  • 未找到标签:仓库目前还没有任何标签

开发

# Install dependencies
uv pip install -r requirements.txt

# Run in dev mode with Inspector
mcp dev git_mcp/server.py

测试

项目包含两个测试脚本:

  1. test_git_mcp.py - 直接测试底层 Git 命令功能,不使用 MCP 服务。
  2. test_mcp_server.py - 通过启动服务实例并调用服务来测试 MCP 服务功能。

运行测试:

# Test the Git command functionality
python test_git_mcp.py

# Test the MCP server (requires the git-mcp package to be installed)
python test_mcp_server.py

评论

支持 Markdown

第一次接触 MCP?

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

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