使用说明
Git MCP服务器
A. 模型上下文协议(MCP) 该服务器使人工智能助手能够检查本地Git存储库,并与GitHub API交互-读取提交历史记录、差异、文件内容、问题、评论、拉取请求和项目板-所有这些都来自单个模块化TypeScript服务器。
工具
服务器暴露 10工具 分为四类。
Git
| 工具 | 说明 |
|---|---|
get_git_status |
返回本地存储库中所有未提交的更改(相当于 git status). |
get_git_log |
使用哈希、作者、日期和消息检索最近的提交历史记录。接受a maxCount 限制。 |
get-git-diff |
逐行显示文件差异。可以限定在特定文件的范围内,也可以仅限于阶段性更改。 |
get_repo_structure |
返回存储库的完整目录和文件树,这对于架构概述和文档非常有用。 |
文件系统
| 工具 | 说明 |
|---|---|
read_local_file |
一次读取一个小文件的全部内容。非常适合源文件和配置。 |
read_local_file_chunk |
读取特定的行范围(startLine–endLine)从大文件中,避免不必要的上下文。 |
GitHub问题
| 工具 | 说明 |
|---|---|
fetch_all_issues |
从远程GitHub存储库获取所有问题(打开和关闭)。 |
get_issue_comments |
按编号检索特定问题的所有评论,包括作者和时间戳。 |
create_and_board_issue |
创建一个包含标题、正文、标签、受让人和优先级的新问题,然后自动将其添加到存储库的GitHub项目板上。通过提示选择项目来处理多项目仓库。 |
GitHub拉取请求
| 工具 | 说明 |
|---|---|
fetch_merged_prs |
列出最近从存储库中提取的请求。使用以下命令在合并和打开的PR之间切换 isMerged。可用于生成变更日志和发布说明。 |
建筑
该服务器遵循中引入的分层模块化设计 公关#1:
src/
├── index.ts # Server bootstrap — wires tools to the MCP server
├── config.ts # Centralised environment config (GITHUB_TOKEN, cache TTL)
├── services/
│ ├── github-rest.ts # GitHub REST API client
│ ├── github-graphql.ts # GitHub GraphQL client (used for Projects v2 boarding)
│ ├── cache.ts # In-memory project metadata cache (1 h TTL)
│ └── git-cmd.ts # Local Git CLI wrapper
├── tools/
│ ├── git.ts # Git operation tools
│ ├── filesystem.ts # File reading tools
│ ├── issues.ts # GitHub Issue tools
│ └── pulls.ts # GitHub Pull Request tools
├── types/
│ ├── github.ts # GitHub API response types
│ ├── cache.ts # Cache types
│ └── git.ts # Git operation types
└── utils/
└── helpers.ts # Shared utility functions
需求
- Node.js v18或更高版本
- GitHub 个人访问令牌 随着
repo和project范围
安装
# Clone the repository
git clone https://github.com/EnesOzturk11/Git-MCP-Server.git
cd Git-MCP-Server
# Install dependencies
npm install
# Build
npm run build
配置
服务器读取单个环境变量:
| 变量 | 必填 | 描述 |
|---|---|---|
GITHUB_TOKEN |
是 | 用于GitHub API身份验证的个人访问令牌 |
创建一个 .env 在项目根目录中创建文件或在shell中导出变量:
GITHUB_TOKEN=ghp_your_token_here
使用Claude Desktop
将服务器添加到Claude Desktop配置文件中(claude_desktop_config.json):
{
"mcpServers": {
"git-mcp-server": {
"command": "node",
"args": ["/absolute/path/to/Git-MCP-Server/build/index.js"],
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}
重新启动Claude Desktop——这10个工具将立即可用。
技术栈
| 层 | 技术 |
|---|---|
| 语言 | TypeScript 5 |
| 运行时 | Node.js(ESM) |
| 协议 | 模型上下文协议SDK ^1.26.0 |
| 验证 | Zod ^4.3.6 |
| GitHub API | REST+GraphQL(项目v2) |
| 环境 | dotenv |
贡献
欢迎问题和拉取请求。请先打开一个问题来讨论任何重大更改。