Git与文件系统操作服务

提供Git仓库和文件系统操作的工具集,支持Git初始化、文件读写、分支管理等核心功能,适用于开发环境管理和自动化脚本场景。

  • by JPS4321
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 JPS4321/MCP_Github

使用说明

MCP_GITHUB

此存储库包含 模型上下文协议(MCP)服务器 设计用于处理两者的操作 Git仓库 和那个 文件系统. 该项目分为两个主要模块: git 和 file_system,每个暴露工具都可以被MCP客户端使用。


项目结构

MCP_GITHUB/
├── .venv/                # Python virtual environment
├── file_system/          # Filesystem MCP server
│   ├── Tools/            # Tool implementations for filesystem operations
│   └── server.py         # Entry point for filesystem MCP server
├── git/                  # Git MCP server
│   ├── Tools/            # Tool implementations for Git operations
│   └── server.py         # Entry point for Git MCP server
├── .gitignore            # Ignored files for Git
├── requirements.txt      # Python dependencies
└── README.md             # Project documentation

特性

Git MCP服务器

实现与Git相关的工具来管理存储库:

  • git初始化:初始化Git存储库。
  • git创建文件:创建或覆盖文件。
  • git添加:提交阶段文件。
  • git提交:提交带有消息和可选作者的更改。
  • git状态:显示存储库状态。
  • git列表分支:列出本地或远程分支。
  • git提交:列出最近的提交。
  • git显示文件:显示修订时的文件内容。
  • 使用 git-diff:显示修订之间的差异。
  • git grep:在存储库中搜索文本。
  • git设置远程:配置远程源(使用GitHub API集成)。
  • git推送:推送到远程存储库。
  • git创建分支:创建新分支。

文件系统MCP服务器

实现用于文件和目录操作的文件系统工具:

  • fs列表目录:列出目录内容。
  • fs读取文件:读取文本文件。
  • fs写入文件:写入或覆盖文本文件。
  • fs删除:删除文件或目录(递归)。

安装

  1. 克隆存储库:

    git clone git@github.com:<your-username>/MCP_GITHUB.git
    cd MCP_GITHUB
    
  2. 创建并激活虚拟环境:

    python3 -m venv .venv
    source .venv/bin/activate
    
  3. 安装依赖项:

    pip install -r requirements.txt
    

配置

环境变量

创建一个 .env 项目根目录中的文件包含以下内容:

GITHUB_TOKEN=<your-personal-access-token>

此令牌是Git MCP服务器通过GitHub API创建存储库和配置远程所必需的。


用法

运行Git MCP服务器

cd git
python3 server.py

运行文件系统MCP服务器

cd file_system
python3 server.py

两台服务器都公开了它们的工具 标准 对于MCP客户。


需求

  • Python 3.10+
  • 中列出的依赖关系 requirements.txt

未来改进

  • 在文件系统服务器中添加对二进制文件读/写的支持。
  • 使用高级操作(合并、重基、标记)扩展Git服务器。
  • 为工具工作流提供集成测试。