Token导航 LogoToken导航TokenDH.com
MCP MGit Server logo
开发工具stdio官方级别未说明来源级核验

MCP MGit Server

MCP Server

@liangshanli/mcp-server-mgit

支持多实例的MCP服务器,用于执行多Git仓库的推送操作。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
版本控制JavaScriptCursorCursorVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

liliangshan

提供方

liliangshan

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @liangshanli/mcp-server-mgit

详细介绍

MCP MGit服务器

用于执行的MCP服务器 mgit push 支持多实例的操作。

先决条件

⚠️ 重要提示: 此MCP服务器需要 MGIT 在您的系统上安装和配置该工具。

MGit是一个用于管理多个Git项目的命令行工具。它可以帮助您高效地管理、同步和更新多个Git存储库。

MGit安装和设置

在使用此MCP服务器之前,请:

  1. 安装MGIT:从下载并安装MGit
  2. 初始化MGit:按照中的MGit设置说明进行操作 MGit自述
  3. 配置项目:使用 mgit init 将Git存储库添加到MGit
  4. 验证设置:使用 mgit list 查看可用的存储库名称

有关MGit的详细使用说明、功能和配置,请参阅 MGit自述.

MGit的主要功能

  • 多项目管理:一键管理多个Git项目
  • 多语言支持:支持多种语言,包括中文(简体/繁体)、英语、日语、韩语、法语
  • 远程数据库同步:支持跨多个设备的项目配置同步
  • 智能分支管理:自动检测和切换分支以避免冲突
  • 批处理操作:支持同时拉取/推送多个项目的更改

特性

  • ✅ 执行 mgit push 存储库命令
  • ✅ 可配置的mgit命令(默认值: mgit)
  • ✅ 具有存储库名称隔离的多实例支持
  • ✅ 操作日志
  • ✅ 错误处理和恢复

安装

全局安装(推荐)

npm install -g @liangshanli/mcp-server-mgit

本地安装

npm install @liangshanli/mcp-server-mgit

来源

git clone https://github.com/liliangshan/mcp-server-mgit.git
cd mcp-server-mgit
npm install

配置

设置环境变量:

# Required: Repository name (use 'mgit list' to view available repository names)
export REPO_NAME="my-repo"

# Optional: MGit command (default: mgit)
export MGIT_CMD="mgit"

# Optional: Language setting (default: en)
# Supported values: en (English), zh (Chinese), zh-CN (Simplified Chinese), zh-TW (Traditional Chinese)
export LANGUAGE="en"

# Optional: Enable/disable push history check (default: true)
# Set to false to skip history check requirement
export CHECK_PUSH_HISTORY="true"

# Optional: Project branding
export PROJECT_NAME="MyProject"

用法

1.直接运行(全局安装)

mcp-server-mgit

2.使用npx(推荐)

npx @liangshanli/mcp-server-mgit

3.直接启动(源安装)

npm start

4.管理启动(建议用于生产)

npm run start-managed

管理启动提供:

  • 自动重启(最多10次)
  • 错误恢复
  • 进程管理
  • 日志记录

5.发展模式

npm run dev

编辑器集成

光标编辑器配置

  1. 创建 .cursor/mcp.json 项目根目录中的文件:
{
  "mcpServers": {
    "mgit": {
      "command": "npx",
      "args": ["@liangshanli/mcp-server-mgit"],
      "env": {
        "REPO_NAME": "my-repo",
        "MGIT_CMD": "mgit",
        "LANGUAGE": "en",
        "PROJECT_NAME": "MyProject"
      }
    }
  }
}

VS代码配置

  1. 安装VS Code的MCP扩展
  2. 创建 .vscode/settings.json 文件:
{
  "mcp.servers": {
    "mgit": {
      "command": "npx",
      "args": ["@liangshanli/mcp-server-mgit"],
      "env": {
        "REPO_NAME": "my-repo",
        "MGIT_CMD": "mgit",
        "LANGUAGE": "en",
        "PROJECT_NAME": "MyProject"
      }
    }
  }
}

支持多个MGit服务器实例

您可以使用不同的配置多个MGit服务器实例 REPO_NAMEPROJECT_NAME 隔离工具和配置。每个实例都必须有一个唯一的 REPO_NAME (必填)。当您需要推送到不同的存储库或管理不同的项目组时,这很有用。使用 mgit list (或 ${MGIT_CMD} list)查看可用的存储库名称。

示例:光标编辑器配置

创建 .cursor/mcp.json 文件:

{
  "mcpServers": {
    "mgit-local": {
      "disabled": false,
      "timeout": 60,
      "command": "npx",
      "args": ["@liangshanli/mcp-server-mgit"],
      "env": {
        "REPO_NAME": "local-repo",
        "MGIT_CMD": "mgit",
        "PROJECT_NAME": "local-mgit"
      }
    },
    "mgit-custom": {
      "disabled": false,
      "timeout": 60,
      "command": "npx",
      "args": ["@liangshanli/mcp-server-mgit"],
      "env": {
        "REPO_NAME": "custom-repo",
        "MGIT_CMD": "/path/to/custom-mgit",
        "PROJECT_NAME": "custom-mgit"
      }
    }
  }
}

多实例的好处:

  • 工具隔离:每个实例都有自己的工具名称(例如。, local_mgit_push, custom_mgit_push)
  • 配置隔离:日志存储在单独的目录中(例如。, ./.setting.local/, ./.setting.custom/)
  • 不同的命令:为每个实例配置不同的mgit命令
  • 项目品牌:每个实例都可以有自己的项目名称,以便更好地识别

备注:使用多个实例时,工具将以前缀 REPO_NAME例如:

  • local-repo_mgit_push -对本地仓库使用本地mgit命令
  • custom-repo_mgit_push -为自定义仓库使用自定义mgit命令

作为MCP服务器

启动后,服务器通过stdin/stdout与MCP客户端通信:

{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2025-06-18"}}

可用工具

  1. mgit_push:对通过REPO_NAME环境变量配置的存储库执行mgit push命令
   {
     "jsonrpc": "2.0",
     "id": 2,
     "method": "tools/call",
     "params": {
       "name": "mgit_push",
       "arguments": {
         "message": "Update project files"
       }
     }
   }
  1. get_operation_logs:获取操作日志
   {
     "jsonrpc": "2.0",
     "id": 3,
     "method": "tools/call",
     "params": {
       "name": "get_operation_logs",
       "arguments": {
         "limit": 50,
         "offset": 0
       }
     }
   }

日志记录

常规日志

日志文件位置: ./.setting/mcp-mgit.log (或 ./.setting./mcp-mgit.log 如果设置了REPO_NAME)

记录的内容:

  • 所有请求和答复
  • MGit运行记录
  • 错误消息
  • 服务器状态更改

错误处理

  • 单个请求错误不会影响整个服务器
  • 进程异常会自动重新启动(管理模式)
  • 日志中的详细错误消息

环境变量

变量默认值描述
报告名称必需 推送操作的存储库名称。使用 mgit list (或 ${MGIT_CMD} list)查看可用的存储库名称。例子: export REPO_NAME="my-repo"
MGIT_CMDMGIT要执行的可选MGIT命令(可以是完整路径)
LANGUAGEen提交消息的可选语言设置。支持的值: en (英语), zhzh-CN (简体中文), zh-TW (繁体中文)。该工具将提示用户以配置的语言提供提交消息。
CHECK_PUSH_HISTORYtrue推送前启用/禁用推送历史检查的可选标志。设置为 false 跳过历史检查要求。当 true (默认),您必须调用 get_push_history 工具使用前 mgit_push.何时 false,您可以直接推送,而无需检查历史记录。 注: 如果您遇到错误 Encountered error in step execution: error executing cascade step: CORTEX_STEP_TYPE_MCP_TOOL: calling "tools/call": EOF,请设置 CHECK_PUSH_HISTORY="false" 禁用推送历史检查。
PROJECT_NAME工具描述的可选项目品牌
MCP_LOG_DIR。/.setting(如果设置了REPO_NAME,则为./.setting.\)日志目录
MCP_LOG_FILEMCP-mgit.LOG日志文件名

发展

项目结构

mcp-server-mgit/
├── src/
│   └── server-final.js    # Main server file
├── bin/
│   └── cli.js              # CLI entry point
├── start-server.js         # Managed startup script
├── package.json
└── README.md

测试

npm test

快速开始

1.安装软件包

npm install -g @liangshanli/mcp-server-mgit

2.配置环境变量

# Required: Repository name
export REPO_NAME="my-repo"

# Optional: MGit command (default: mgit)
export MGIT_CMD="mgit"

# Optional: Language setting (default: en)
export LANGUAGE="en"

# Optional: Enable/disable push history check (default: true)
# Set to false to skip history check requirement
export CHECK_PUSH_HISTORY="true"

# Optional: Project branding
export PROJECT_NAME="MyProject"

3.运行服务器

mcp-server-mgit

用法示例

使用mgit_push工具

mgit_push 工具执行以下命令: ${MGIT_CMD} push ${REPO_NAME} ""

注: 存储库名称是通过配置的 REPO_NAME 环境变量(必填)。使用 mgit list (或 ${MGIT_CMD} list)查看可用的存储库名称。

参数:

  • message (必填):推送操作的提交消息

例子:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "mgit_push",
    "arguments": {
      "message": "Update documentation"
    }
  }
}

如果 REPO_NAME="my-project"MGIT_CMD="mgit",这将执行: mgit push my-project "Update documentation"

故障排除

错误: Encountered error in step execution: error executing cascade step: CORTEX_STEP_TYPE_MCP_TOOL: calling "tools/call": EOF

如果您在尝试推送代码时遇到此错误,则可能是由推送历史检查功能引起的。要解决此问题,请通过设置环境变量禁用推送历史检查:

export CHECK_PUSH_HISTORY="false"

设置此变量后,重新启动MCP服务器并再次尝试推送。这将允许您直接推送,而无需先检查推送历史记录。

许可证

麻省理工学院

目录标签

目录标签

版本控制JavaScriptCursorGit管理本地部署多仓库推送开发工具命令行工具

支持客户端

CursorVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

部署方式(deploymentType,部署类型)

local-only

来源包(packageName,安装包名)

@liangshanli/mcp-server-mgit

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP