mcpField
G
Github Dependabot MCP server

Github Dependabot MCP server

本地服务
github.com/avarant版本控制278 周前更新

关于 Github Dependabot MCP server

Github Dependabot MCP server 用于获取指定 GitHub 仓库的 Dependabot 警报,适合通过兼容 MCP 的客户端查看仓库安全问题。

主要功能

  1. 01获取仓库的 Dependabot 警报
  2. 02使用 GitHub 个人访问令牌认证
  3. 03通过 macOS Keychain 保存凭据

适用场景

  1. 01检查指定仓库的警报
  2. 02从 MCP 客户端查看安全警报

MCP 相关

向 MCP 客户端提供 `get_dependabot_alerts` 工具,根据仓库所有者和名称返回警报。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Github Dependabot MCP 服务

获取指定仓库的 Github Dependabot 警报。

要求

  • uv:快速的 Python 包安装器和解析器。用于运行脚本和管理依赖项。
  • Github Personal Access Token:用于向 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
      
    • 其他方法:请参阅 uv 文档。
  2. 克隆仓库:

    git clone [email protected]:avarant/github-dependabot-mcp-server.git
    cd github-dependabot-mcp-server
    
  3. 设置 Github 身份验证:

    首先,如果你还没有 Github Personal Access Token (PAT),需要生成一个:

    1. 前往 Github 设置 -> Developer settings -> Personal access tokens -> Tokens (classic)。
    2. 点击“Generate new token”(或“Generate new token (classic)”)。
    3. 为令牌设置一个描述性名称(例如,“MCP Dependabot Server”)。
    4. 设置过期日期。
    5. 选择必要的权限范围:
      • repo(对私有仓库的完全控制权)——用于访问仓库数据。
      • security_events(读取安全事件)——用于读取 Dependabot 警报。
    6. 点击“Generate token”,并立即复制生成的令牌。之后你将无法再次查看它。

    获得令牌后,此服务需要使用它向 Github API 进行身份验证。你可以通过以下两种方式提供令牌:

    • 选项 1:使用 macOS Keychain(macOS 上推荐): 脚本会尝试使用 keyring 库从 macOS Keychain 中自动读取令牌。

      • 通过命令行: 在终端中运行以下命令,并将 <your token> 替换为你的实际 Github 令牌:

        # 如果你已启用项目虚拟环境,请确保当前位于其中
        # 或者根据需要全局安装 keyring:pip install keyring
        keyring set github_mcp_server personal_access_token
        # 系统会提示你安全地输入令牌。
        

        也可以使用 Python 模块:

        python -m keyring set github_mcp_server personal_access_token
        
      • 通过 Keychain Access 用户界面:

        1. 打开“Keychain Access”(Applications -> Utilities)。
        2. 选择 login 钥匙串和 Passwords 类别。
        3. 点击 + 按钮添加新项目。
        4. 输入以下详细信息:
          • Keychain Item Name: personal_access_token
          • Account Name: github_mcp_server
          • Password: 粘贴你的 Github 令牌。
        5. 点击“Add”。
    • 选项 2:使用环境变量: 如果在 Keychain 中找不到令牌,脚本将回退到使用 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": {
            // 可选:如果不使用 Keychain,或作为备用方案,请设置。
            // "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": {
            // 可选:如果不使用 Keychain,或作为备用方案,请设置。
            // "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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。