Git托管集成服务器

Yggdrasil MCP服务器是一个连接GitHub和GitLab与AI助手的Git托管集成服务器,支持跨平台问题管理和项目查询。

  • by sramkrishna
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 sramkrishna/yggdrasil-mcp-server

使用说明

Yggdrasil MCP服务器

Git托管集成MCP服务器,用于将GitHub和GitLab与您的AI助手连接起来。

以挪威神话中连接所有九个王国的世界树Yggdrasil命名。正如Yggdrasil连接不同的世界一样,此服务器连接不同的Git托管平台。

特性

GitLab集成

  • 默认情况下为只读模式 -出于安全考虑,禁用写入操作
  • 列出项目中的问题
  • 查看合并请求
  • 查询项目信息
  • 创建和更新问题(在只读模式下禁用)
    • 要启用写入:设置 READ_ONLY = False 在 providers/gitlab.py

GitHub集成(即将推出)

  • 列出存储库中的问题
  • 创建和更新问题
  • 管理拉取请求
  • 查询存储库信息

需求

  • Python 3.9+
  • GitLab命令行界面(glab)已安装并验证
  • GitHub命令行界面(gh)已安装并经过身份验证(适用于GitHub功能)

安装

# Install glab
# Fedora/RHEL
sudo dnf install glab

# Ubuntu/Debian
sudo apt install glab

# Authenticate with GitLab
glab auth login

# Install Yggdrasil
cd yggdrasil-mcp-server
python3 -m venv .venv
source .venv/bin/activate
pip install -e .

配置

添加到您的Hugin config.toml:

[servers.yggdrasil]
command = "/var/home/sri/Projects/yggdrasil-mcp-server/.venv/bin/python"
args = ["-m", "yggdrasil_mcp_server.server"]

用法

通过Hugin(只读模式):

"Show me my open GitLab issues"
"What merge requests need my review?"
"Show me issues in the Teams/Fundraising project"
"Get details about GitLab issue #42 in my-project"

注意:为了安全起见,默认情况下禁用创建/更新操作。

提供的工具

GitLab(只读模式)

  • list_gitlab_issues -列出过滤问题
  • get_gitlab_issue -获取详细的问题信息
  • list_gitlab_merge_requests -列出合并请求
  • list_gitlab_projects -列出您的项目
  • get_gitlab_project -获取项目详细信息
  • create_gitlab_issue-禁用(只读模式)
  • update_gitlab_issue-禁用(只读模式)

交叉平台的

  • link_issue_to_task -将Git问题链接到Planify任务(存储在Muninn中)

发展

# Run tests
pytest tests/

# Test GitLab connection
glab issue list

建筑

Yggdrasil MCP Server
├── GitLab Provider (wraps glab CLI)
├── GitHub Provider (wraps gh CLI)
└── Cross-platform utilities

许可证

麻省理工学院