关于 Github Dependabot MCP server
Github Dependabot MCP server 用于获取指定 GitHub 仓库的 Dependabot 警报,适合通过兼容 MCP 的客户端查看仓库安全问题。
主要功能
- 01获取仓库的 Dependabot 警报
- 02使用 GitHub 个人访问令牌认证
- 03通过 macOS Keychain 保存凭据
适用场景
- 01检查指定仓库的警报
- 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)。
设置
-
安装
uv: 按照适用于你的操作系统的官方安装说明操作:- macOS / Linux:
- 使用 Homebrew(macOS):
brew install uv - 或使用 curl:
curl -LsSf https://astral.sh/uv/install.sh | sh
- 使用 Homebrew(macOS):
- Windows (PowerShell):
irm https://astral.sh/uv/install.ps1 | iex - 其他方法:请参阅 uv 文档。
- macOS / Linux:
-
克隆仓库:
git clone [email protected]:avarant/github-dependabot-mcp-server.git cd github-dependabot-mcp-server -
设置 Github 身份验证:
首先,如果你还没有 Github Personal Access Token (PAT),需要生成一个:
- 前往 Github 设置 -> Developer settings -> Personal access tokens -> Tokens (classic)。
- 点击“Generate new token”(或“Generate new token (classic)”)。
- 为令牌设置一个描述性名称(例如,“MCP Dependabot Server”)。
- 设置过期日期。
- 选择必要的权限范围:
repo(对私有仓库的完全控制权)——用于访问仓库数据。security_events(读取安全事件)——用于读取 Dependabot 警报。
- 点击“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 用户界面:
- 打开“Keychain Access”(Applications -> Utilities)。
- 选择
login钥匙串和Passwords类别。 - 点击
+按钮添加新项目。 - 输入以下详细信息:
- Keychain Item Name:
personal_access_token - Account Name:
github_mcp_server - Password: 粘贴你的 Github 令牌。
- Keychain Item Name:
- 点击“Add”。
-
-
选项 2:使用环境变量: 如果在 Keychain 中找不到令牌,脚本将回退到使用
GITHUB_PERSONAL_ACCESS_TOKEN环境变量。如果使用此方法,脚本会尝试将令牌存储到 Keychain 中,以便今后使用(前提是keyring功能正常)。
-
更新 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
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。