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

Git MCP Server

MCP Server

@cyanheads/git-mcp-server@latest

用于AI代理的Git MCP服务器,支持STDIO和可流式HTTP传输,提供28种Git操作工具。

工具数

27

提示词数

0

GitHub Stars

215

资源数

0
版本控制TypeScriptAI代理

安装说明

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

作者 / 组织

cyanheads

提供方

cyanheads

最后核验

2026/5/17 21:09

运行时

Node.js

快速接入

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

命令预览

npx @cyanheads/git-mcp-server@latest

详细介绍

@cyanheads/git-mcp-server

A Git MCP server for AI agents. STDIO & Streamable HTTP.

28 Tools · 1 Resource · 1 Prompt

______________________________________________________________________

工具

28个git操作分为七类:

类别工具描述
库管理git_init, git_clone, git_status, git_clean初始化存储库、从远程克隆、检查状态、清理未跟踪的文件
分期付款和承诺git_add, git_commit, git_diff阶段更改、创建提交、比较更改
历史与检查git_log, git_show, git_blame, git_reflog查看提交历史、检查对象、跟踪作者、查看引用日志
分析git_changelog_analyze收集git上下文和指令,用于LLM驱动的变更日志分析
分支与合并git_branch, git_checkout, git_merge, git_rebase, git_cherry_pick管理分支、切换上下文、集成更改、应用特定提交
远程操作git_remote, git_fetch, git_pull, git_push配置遥控器、获取更新、同步存储库、发布更改
高级工作流git_tag, git_stash, git_reset, git_worktree, git_set_working_dir, git_clear_working_dir, git_wrapup_instructions标记释放(列表/创建/删除/验证)、隐藏更改、重置状态、管理工作树、设置/清除会话目录

资源

资源URI描述
Git工作目录git://working-directory当前会话工作目录,通过设置 git_set_working_dir.

提示

提示说明参数
Git总结完成git会话的工作流协议:审查、记录、提交和标记更改。changelogPath, createTag.

入门

运行时

适用于Bun和Node.js。自动检测运行时间。

运行时命令最低版本
Node.jsnpx @cyanheads/git-mcp-server@latest>= 20.0.0
包子bunx @cyanheads/git-mcp-server@latest>= 1.2.0

MCP客户端配置

将以下内容添加到MCP客户端配置中(例如。, cline_mcp_settings.json).更新环境变量以匹配您的设置,尤其是git标识字段。

{
  "mcpServers": {
    "git-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": ["@cyanheads/git-mcp-server@latest"],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio",
        "MCP_LOG_LEVEL": "info",
        "GIT_BASE_DIR": "~/Developer/",
        "LOGS_DIR": "~/Developer/logs/git-mcp-server/",
        "GIT_USERNAME": "cyanheads",
        "GIT_EMAIL": "casey@caseyjhand.com",
        "GIT_SIGN_COMMITS": "true"
      }
    }
  }
}

Bun用户:更换 "command": "npx""command": "bunx".

对于流式HTTP,设置 MCP_TRANSPORT_TYPE=httpMCP_HTTP_PORT=3015.

特性

建立在 mcp-ts-template.

功能详细信息
声明性工具在单个自包含的文件中定义功能。该框架处理注册、验证和执行。
错误处理统一 McpError 用于一致、结构化错误响应的系统。
身份验证支持 none, jwt,以及 oauth 模式。
可插拔存储交换后端(in-memory, filesystem, Supabase, Cloudflare KV/R2)而不改变业务逻辑。
可观察性结构化日志记录(Pino)和可选的自动仪器化OpenTetry用于跟踪和度量。
依赖注入内置 tsyringe 用于解耦、可测试的架构。
跨运行时自动检测Bun或Node.js,并使用适当的进程生成方法。
提供者架构可插拔的git提供者系统。当前版本:CLI。计划:同构git用于边缘部署。
工作目录管理多仓库工作流的会话特定目录上下文。
可配置的git标识通过环境变量覆盖作者/提交者信息,并回退到全局git配置。
提交签名GPG/SSH签名(默认启用),用于提交、合并、重基、樱桃挑选和标记。失败时无声地回退到未签名 signed/signingWarning 回答中的字段。
安全破坏性操作(git clean, git reset --hard)需要明确的确认标志。

安全

  • 所有文件路径都经过验证和清理,以防止目录遍历。
  • 可选的 GIT_BASE_DIR 将操作限制在多租户沙盒的特定目录树中。
  • Git命令通过进程生成使用经过验证的参数——没有shell插值。
  • JWT和OAuth支持经过身份验证的部署。
  • 通过DI管理的可选速率限制 RateLimiter 服务。
  • 所有操作都会记录请求上下文以供审核。

配置

所有配置在启动时均已验证 src/config/index.ts.关键环境变量:

变量描述默认值
MCP_TRANSPORT_TYPE运输: stdiohttp.stdio
MCP_SESSION_MODEHTTP会话模式: stateless, stateful,或 auto.auto
MCP_RESPONSE_FORMAT响应格式: json (LLM优化), markdown (人类可读),或 auto.json
MCP_RESPONSE_VERBOSITY细节级别: minimal, standard,或 full.standard
MCP_HTTP_PORTHTTP服务器端口3015
MCP_HTTP_HOSTHTTP服务器主机名。127.0.0.1
MCP_HTTP_ENDPOINT_PATHMCP请求端点路径。/mcp
MCP_AUTH_MODE身份验证模式: none, jwt,或 oauth.none
STORAGE_PROVIDER_TYPE存储后端: in-memory, filesystem, supabase, cloudflare-kv, r2.in-memory
OTEL_ENABLED启用OpenTetry。false
MCP_LOG_LEVEL最低日志级别: debug, info, warn, error.info
GIT_SIGN_COMMITSGPG/SSH签名用于提交、合并、重基、樱桃采摘和标签。失败时回退到unsigned(参见响应 signed/signingWarning).true
GIT_AUTHOR_NAMEGit作者姓名。别名: GIT_USERNAME, GIT_USER.返回到全局git配置。(none)
GIT_AUTHOR_EMAILGit作者电子邮件。别名: GIT_EMAIL, GIT_USER_EMAIL.返回到全局git配置。(none)
GIT_BASE_DIR将所有git操作限制到特定目录树的绝对路径。(none)
GIT_WRAPUP_INSTRUCTIONS_PATH带有工作流说明的自定义标记文件的路径。(none)
MCP_AUTH_SECRET_KEY需要 jwt auth。32+个字符的密钥。(none)
OAUTH_ISSUER_URL需要 oauth auth。OIDC提供者URL(none)

运行服务器

通过软件包管理器(无需安装)

npx @cyanheads/git-mcp-server@latest

通过环境变量或MCP客户端配置进行配置。

本地开发

# Build and run
npm run rebuild
npm run start:stdio   # or start:http

# Dev mode with hot reload
npm run dev:stdio     # or dev:http

# Checks and tests
npm run devcheck      # lint, format, typecheck
npm test

Cloudflare Workers

npm run build:worker   # Build the worker bundle
npm run deploy:dev     # Run locally with Wrangler
npm run deploy:prod    # Deploy to Cloudflare

项目结构

目录目的
src/mcp-server/tools工具定义(*.tool.ts).Git功能就在这里。
src/mcp-server/resources资源定义(*.resource.ts).Git上下文数据源。
src/mcp-server/transportsHTTP和STDIO传输实现,包括身份验证。
src/storageStorageService 抽象和提供者实现。
src/servicesGit服务提供商(基于CLI的Git操作)。
src/containerDI容器注册和令牌。
src/utils日志记录、错误处理、性能、安全实用程序。
src/config环境变量解析和验证(Zod)。
tests/单元和集成测试、镜像 src/ 结构。

响应格式

通过配置输出格式和详细程度 MCP_RESPONSE_FORMATMCP_RESPONSE_VERBOSITY.

JSON格式(默认,针对LLM消费进行了优化):

{
  "success": true,
  "branch": "main",
  "staged": ["src/index.ts", "README.md"],
  "unstaged": ["package.json"],
  "untracked": []
}

Markdown格式(人类可读):

# Git Status: main

## Staged (2)
- src/index.ts
- README.md

## Unstaged (1)
- package.json

LLM始终通过以下方式接收完整的结构化数据 responseFormatter --完整的文件列表、元数据、时间戳——无论客户端显示什么。详细程度控制着包含多少细节: minimal (仅核心字段), standard (平衡),或 full (一切)。

发展指南

AGENTS.md 架构、工具开发模式和贡献规则。

测试

测试使用 邦氏试跑器 具有Vitest兼容性。

bun test              # Run all tests
bun test --coverage   # With coverage
bun run devcheck      # Lint, format, typecheck, audit

路线图

服务器使用基于提供者的架构进行git操作:

  • CLI提供程序 (当前)--通过本机git CLI全面覆盖28个工具。需要安装本地git。
  • 同构git提供者 (计划中)——用于边缘部署的纯JS实现(Cloudflare Workers、Vercel edge、Deno Deploy)。用途 同构git.
  • GitHub API提供程序 (也许)——通过GitHub REST/GraphQL API进行云原生操作,不需要本地仓库。

贡献

欢迎问题和拉取请求。提交前运行检查:

npm run devcheck
npm test

许可证

Apache 2.0。看 许可证.

______________________________________________________________________

Built with the mcp-ts-template

Sponsor this project · Buy me a coffee

目录标签

目录标签

版本控制TypeScriptAI代理Git管理本地部署软件开发工具

接入字段

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

stdio

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

oauth

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@cyanheads/git-mcp-server@latest

工具数量(toolCount,工具数)

27

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiooauth部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP