Git仓库管理服务

一个基于Docker MCP集成的Git仓库管理服务,提供查看状态、历史记录、分支和代码搜索等功能。

  • by MeetTak
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 MeetTak/GitMCP

使用说明

Git MCP服务器安装指南

本指南将帮助您使用Docker Desktop的MCP集成设置自定义Git MCP服务器。

先决条件

  • 支持MCP的Docker桌面
  • Claude桌面应用程序
  • 包含git存储库的目录

安装说明

1.构建Docker镜像

docker build -t git-mcp-server .

2.创建自定义目录

mkdir -p ~/.docker/mcp/catalogs/

3.创建自定义目录文件

touch ~/.docker/mcp/catalogs/mycustomcatalog.yaml

4.编辑自定义目录文件

nano ~/.docker/mcp/catalogs/mycustomcatalog.yaml

添加以下内容(将hostPath替换为实际的repos目录):

version: 2
name: custom
displayName: Custom MCP Servers
registry:
  gitrepo:
    description: "Secure git repository manager for viewing status, history, branches, and searching code"
    title: "Git Repository Manager"
    type: server
    dateAdded: "2025-10-05T00:00:00Z"
    image: gitrepo-mcp-server:latest
    ref: ""
    readme: ""
    toolsUrl: ""
    source: ""
    upstream: ""
    icon: ""
    volumes:
      - hostPath: "$HOME/repos"
        containerPath: "/repos"
        readOnly: true
    tools:
      - name: list_repos
      - name: repo_status
      - name: repo_log
      - name: repo_branches
      - name: repo_diff
      - name: repo_remote
      - name: repo_current_branch
      - name: repo_show_commit
      - name: repo_file_history
      - name: repo_search
      - name: repo_stats
    metadata:
      category: productivity
      tags:
        - git
        - development
        - version-control
        - repositories
      license: MIT
      owner: local

重要: 替换 $HOME/repos 使用git存储库目录的实际路径。

5.更新注册表文件

nano ~/.docker/mcp/registry.yaml

在注册表部分添加gitrepo条目:

registry:
  gitrepo:
    ref: ""

6.更新Claude桌面配置

编辑您的Claude Desktop配置文件:

macOS:

nano ~/Library/Application\ Support/Claude/claude_desktop_config.json

Linux:

nano ~/.config/Claude/claude_desktop_config.json

窗户:

%APPDATA%\Claude\claude_desktop_config.json

添加或更新以下配置:

{
  "mcpServers": {
    "mcp-toolkit-gateway": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "/var/run/docker.sock:/var/run/docker.sock",
        "-v",
        "$HOME/.docker/mcp:/mcp",
        "docker/mcp-gateway",
        "--catalog=/mcp/catalogs/docker-mcp.yaml",
        "--catalog=/mcp/catalogs/mycustomcatalog.yaml",
        "--config=/mcp/config.yaml",
        "--registry=/mcp/registry.yaml",
        "--tools-config=/mcp/tools.yaml",
        "--transport=stdio"
      ]
    }
  }
}

注: 在Windows上,替换 $HOME 使用您的实际用户路径或用途 %USERPROFILE%.

7.重新启动克劳德桌面

# 1. Quit Claude Desktop completely (Cmd+Q on macOS, Alt+F4 on Windows)

# 2. Stop the gateway container
docker stop $(docker ps -q --filter ancestor=docker/mcp-gateway)

# 3. Start Claude Desktop again

# 4. Wait 15 seconds for initialization

# 5. Verify the server is registered
docker mcp server list

预期输出应显示: dice, gitrepo

可用工具

配置后,以下git操作将通过Claude可用:

  • list_repos -列出所有存储库
  • repo_status -检查存储库状态
  • repo_log -查看提交历史记录
  • repo_branches -列出分支
  • repo_diff -查看差异
  • repo_remote -查看远程信息
  • repo_current_branch -显示当前分支
  • repo_show_commit -显示提交详细信息
  • repo_file_history -查看文件历史记录
  • repo_search -搜索代码
  • repo_stats -存储库统计信息

故障排除

如果服务器未出现:

  1. 检查Docker是否正在运行: docker ps
  2. 验证映像是否存在: docker images | grep git-mcp-server
  3. 检查目录语法: cat ~/.docker/mcp/catalogs/mycustomcatalog.yaml
  4. 查看Claude Desktop日志中的错误
  5. 确保repos目录路径正确且可访问