依赖警报服务

用于获取指定GitHub仓库的Dependabot警报信息。

  • by avarant
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 avarant/github-dependabot-mcp-server

使用说明

Github 依赖 MCP 服务器

获取指定存储库的Github Dependabot警报。

需求

  • 紫外线:一个快速的Python包安装程序和解析器。用于运行脚本和管理依赖关系。
  • Github个人访问令牌:需要使用Github API进行身份验证。确保它具有必要的权限(例如。, repo, security_events).

设置

  1. 安装 uv: 按照操作系统的官方安装说明进行操作:

    • macOS/Linux:
      • 使用Homebrew(macOS):
        brew install uv
        
      • 或者使用curl:
        curl -LsSf https://astral.sh/uv/install.sh | sh
        
    • Windows(PowerShell):
      irm https://astral.sh/uv/install.ps1 | iex
      
    • 其他的方法:参见 紫外线文件.
  2. 克隆存储库:

    git clone git@github.com:avarant/github-dependabot-mcp-server.git
    cd github-dependabot-mcp-server
    
  3. 设置Github身份验证:

    首先,如果你还没有Github个人访问令牌(PAT),你需要生成一个PAT:

    1. 转到Github设置->开发人员设置->个人访问令牌->令牌(经典)。
    2. 点击“生成新令牌”(或“生成新的令牌(经典)”)。
    3. 给您的代币一个描述性名称(例如“MCP Dependabot Server”)。
    4. 设置过期日期。
    5. 选择必要的范围:
      • repo (完全控制私有存储库)-访问存储库数据所需。
      • security_events (读取安全事件)-读取Dependabot警报所需。
    6. 点击“生成令牌”并立即复制生成的令牌。你将无法再看到它。

    一旦您有了令牌,此服务器就要求它使用Github API进行身份验证。有两种方法可以提供它:

    • 选项1:使用macOS钥匙串(建议在macOS上使用): 该脚本将自动尝试使用 keyring 图书馆。

      • 通过命令行: 在终端中运行以下命令,替换 <your token> 使用您的实际Github令牌:

        # Make sure you are in the project's virtual environment if you have one active
        # Or install keyring globally if needed: pip install keyring
        keyring set github_mcp_server personal_access_token
        # It will prompt you to enter the token securely.
        

        或者,使用Python模块:

        python -m keyring set github_mcp_server personal_access_token
        
      • 通过钥匙链访问UI:

        1. 打开“钥匙链访问”(应用程序->实用程序)。
        2. 选择 login 钥匙扣和 Passwords 类别。
        3. 点击 + 按钮添加新项目。
        4. 输入以下详细信息:
          • 钥匙扣项目名称: personal_access_token
          • 帐户名称: github_mcp_server
          • 密码: 粘贴您的Github令牌。
        5. 单击“添加”。
    • 选项2:使用环境变量: 如果在钥匙串中找不到令牌,脚本将退回使用 GITHUB_PERSONAL_ACCESS_TOKEN 环境变量。如果您使用此方法,脚本将尝试将令牌存储在您的Keychain中以供将来使用(如果 keyring 功能)。

  4. 更新您的MCP配置:

    编辑您的全局 ~/.cursor/mcp.json 或创建本地 .cursor/mcp.json 项目中的文件:

    {
      "mcpServers": {
        "github": {
          "command": "docker",
          "args": [
            "run",
            "-i",
            "--rm",
            "-e",
            "GITHUB_PERSONAL_ACCESS_TOKEN",
            "mcp/github"
          ],
          "env": {
            // Optional: Set if NOT using Keychain, or as a fallback.
            // "GITHUB_PERSONAL_ACCESS_TOKEN": "<your github token>"
          }
        },
        "github-dependabot": {
          "command": "uv",
          "args": [
            "--directory",
            "<absolute path to github-dependabot-mcp-server directory>",
            "run",
            "mcp",
            "run",
            "main.py"
          ],
          "env": {
            // Optional: Set if NOT using Keychain, or as a fallback.
            // "GITHUB_PERSONAL_ACCESS_TOKEN": "<your github token>"
          }
        }
      }
    }
    

    注: 替换 <absolute path to github-dependabot-mcp-server directory> 你的实际路径。

提供的工具

此MCP服务器提供以下工具:

  • get_dependabot_alerts(repo_owner: str, repo_name: str):
    • 获取指定存储库的Dependabot警报。
    • repo_owner:存储库的所有者(用户名或组织)。
    • repo_name:存储库的名称。
    • 返回来自Github API的警报对象列表。

用法示例

示例提示

Fetch all dependabot alerts for https://github.com/avarant/github-dependabot-mcp-server