GitLab问题分析工具

一个MCP服务器,用于从特定项目中获取GitLab问题并将分析文档保存到Notion。

  • by AlkaNixon
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 AlkaNixon/gitlab-issue-analyzer

使用说明

GitLab问题分析器

MCP(模型上下文协议)服务器,从特定项目中获取GitLab问题,并将分析文档保存到Notion。

特性

  • 获取GitLab问题:检索详细的问题信息,包括讨论和评论,获取问题的概述、摘要和解释,以及如何解决问题的建议。通过避免长时间阅读节省时间,无需复制和粘贴上下文。直接在人工智能助手的帮助下制定解决方案。
  • 列出未决问题:从项目中获取所有未解决的问题,使AI助手意识到并能够处理任何问题。
  • 保存到Notion:创建带有问题分析、摘要和解决方案步骤的格式化Notion页面,这些页面可以在创建Jira票证时重复使用。

可用工具

fetch_gitlab_issue

获取特定GitLab问题的完整细节。

  • 参数: issue_number (int)-问题IID(例如,问题#40为40)或简单地按标题描述问题,AI助手可以识别
  • 退货:问题详细信息,包括标题、描述、讨论、受让人和标签

list_open_gitlab_issues

列出ACM GitLab项目的所有未解决问题。

  • 退货:一系列包含基本信息的未决问题

save_issue_analysis_to_notion

使用格式化的部分将问题分析保存到Notion。

  • 参数:
    • issue_number (int)
    • issue_title (str)
    • summary (str)
    • suggestions (str)
    • solution_steps (str)
    • issue_url (str,可选)

设置

  1. 安装uv (如果尚未安装):

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  2. 克隆和安装依赖项:

    使用紫外线:

    cd gitLab-issue-analyzer
    uv sync
    

    这将自动安装来自的所有依赖项 pyproject.toml.

  3. 创建 .env 文件 具有所需凭据:

    GITLAB_TOKEN=your_gitlab_token
    GITLAB_PROJECT_PATH=eclipse-research-labs/codeco-project/acm
    NOTION_API_KEY=your_notion_integration_key
    NOTION_PAGE_ID=your_notion_parent_page_id
    
  4. 在Cursor/Claude中配置: 添加到MCP设置中:

    使用uv(建议更快启动):

    {
      "mcpServers": {
        "gitlab-issue-analyzer": {
          "command": "uv",
          "args": ["run", "--directory", "/path/to/gitLab-issue-analyzer", "main.py"]
        }
      }
    }
    

示例用法

配置为MCP服务器后,您可以通过Claude Desktop或Cursor AI使用它:

# Fetch a specific issue:
"fetch_gitlab_issue 40" or "Fetch and analyze GitLab issue 40"

# List all open issues:
"List all open GitLab issues"

# Save analysis to Notion:
"Save analysis and solutions discussed above to Notion"

文件

  • main.py -主MCP服务器实现
  • gitlab_integration.py -GitLab API集成函数
  • pyproject.toml -Python项目依赖关系(用于uv)
  • .env -环境变量(未在git中跟踪)

认证

  • GitLab:需要个人访问令牌 read_api 范围
  • 概念:需要集成令牌和创建新页面的父页面ID