git-mcp-server-multi-project
v1.0.0
Published
A Model Context Protocol (MCP) server for managing multiple Git repositories in a single workspace
Downloads
13
Maintainers
Readme
Git MCP Server Multi-Project
一个支持在单个 MCP 配置中管理多个 Git 仓库的 Model Context Protocol (MCP) 服务器。
功能特点
- 多项目支持: 在一个 MCP 服务器中管理多个 Git 仓库
- 自动扫描: 支持自动扫描工作目录下的所有 Git 项目
- 丰富的 Git 操作: 支持 status、log、branch、diff、blame 等常用 Git 命令
- 文件操作: 支持读取文件、列出目录、搜索文件等操作
- 跨项目操作: 提供全局工具,可以一次查看所有项目的状态
安装
npm install配置方式
方式一:自动扫描工作目录 (推荐)
设置 GIT_WORKSPACE 环境变量指向包含多个 Git 项目的工作目录,服务器会自动扫描该目录下的所有 Git 仓库。
{
"mcpServers": {
"git-my-workspace": {
"command": "node",
"args": ["/path/to/mcp-gitlab/index.js"],
"env": {
"GIT_WORKSPACE": "/path/to/your/workspace"
}
}
}
}方式二:手动指定项目列表
设置 GIT_PROJECTS 环境变量为 JSON 格式的项目配置数组:
{
"mcpServers": {
"git-my-workspace": {
"command": "node",
"args": ["/path/to/mcp-gitlab/index.js"],
"env": {
"GIT_PROJECTS": "[{\"name\":\"project-a\",\"path\":\"/path/to/workspace/project-a\"},{\"name\":\"project-b\",\"path\":\"/path/to/workspace/project-b\"},{\"name\":\"project-c\",\"path\":\"/path/to/workspace/project-c\"}]"
}
}
}
}可用工具
全局工具
| 工具名 | 描述 |
|--------|------|
| list_projects | 列出所有配置的 Git 项目 |
| git_status_all | 获取所有项目的 Git 状态 |
| git_branch_all | 获取所有项目的当前分支 |
项目专属工具
每个项目都会生成以下工具(工具名后缀为项目名,如 git_status_project-a):
| 工具名 | 描述 |
|--------|------|
| git_status_{project} | 获取 Git 状态 |
| git_log_{project} | 获取提交历史 |
| git_branch_{project} | 列出所有分支 |
| git_current_branch_{project} | 获取当前分支名 |
| git_diff_{project} | 显示差异 |
| git_show_{project} | 显示特定提交详情 |
| git_blame_{project} | 显示文件的逐行修改信息 |
| git_stash_list_{project} | 列出所有 stash |
| git_remote_{project} | 列出远程仓库 |
| git_tags_{project} | 列出所有标签 |
| read_file_{project} | 读取仓库中的文件 |
| list_files_{project} | 列出目录中的文件 |
| search_files_{project} | 搜索匹配模式的文件 |
| git_file_history_{project} | 获取特定文件的提交历史 |
使用示例
示例配置
假设您的工作目录 /path/to/your/workspace 下有以下项目:
- project-a
- project-b
- project-c
- project-d
只需配置一个 MCP 服务器即可管理所有项目:
{
"mcpServers": {
"git-my-workspace": {
"command": "node",
"args": ["/path/to/mcp-gitlab/index.js"],
"env": {
"GIT_WORKSPACE": "/path/to/your/workspace"
}
}
}
}对比原有配置
之前: 需要为每个项目配置一个独立的 MCP 服务器
{
"git-project-a": { ... },
"git-project-b": { ... },
"git-project-c": { ... },
"git-project-d": { ... }
}现在: 只需一个 MCP 服务器配置
{
"git-my-workspace": {
"command": "node",
"args": ["/path/to/mcp-gitlab/index.js"],
"env": {
"GIT_WORKSPACE": "/path/to/your/workspace"
}
}
}License
MIT
