Github 依赖 MCP 服务器
获取指定存储库的Github Dependabot警报。
需求
- 紫外线:一个快速的Python包安装程序和解析器。用于运行脚本和管理依赖关系。
- Github个人访问令牌:需要使用Github API进行身份验证。确保它具有必要的权限(例如。,
repo,security_events).
设置
- 安装
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- 其他的方法:参见 紫外线文件.
- 克隆存储库:
git clone git@github.com:avarant/github-dependabot-mcp-server.git
cd github-dependabot-mcp-server- 设置Github身份验证:
首先,如果你还没有Github个人访问令牌(PAT),你需要生成一个PAT:
1. 转到Github设置->开发人员设置->个人访问令牌->令牌(经典)。 1. 点击“生成新令牌”(或“生成新的令牌(经典)”)。 1. 给您的代币一个描述性名称(例如“MCP Dependabot Server”)。 1. 设置过期日期。 1. 选择必要的范围: - repo (完全控制私有存储库)-访问存储库数据所需。 - security_events (读取安全事件)-读取Dependabot警报所需。 1. 点击“生成令牌”并立即复制生成的令牌。你将无法再看到它。
一旦您有了令牌,此服务器就要求它使用Github API进行身份验证。有两种方法可以提供它:
- 选项1:使用macOS钥匙串(建议在macOS上使用): 该脚本将自动尝试使用 keyring 图书馆。
- 通过命令行: 在终端中运行以下命令,替换 `` 使用您的实际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. 打开“钥匙链访问”(应用程序->实用程序)。 1. 选择 login 钥匙扣和 Passwords 类别。 1. 点击 + 按钮添加新项目。 1. 输入以下详细信息: - 钥匙扣项目名称: personal_access_token - 帐户名称: github_mcp_server - 密码: 粘贴您的Github令牌。 1. 单击“添加”。
- 选项2:使用环境变量: 如果在钥匙串中找不到令牌,脚本将退回使用 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": {
// Optional: Set if NOT using Keychain, or as a fallback.
// "GITHUB_PERSONAL_ACCESS_TOKEN": ""
}
},
"github-dependabot": {
"command": "uv",
"args": [
"--directory",
"",
"run",
"mcp",
"run",
"main.py"
],
"env": {
// Optional: Set if NOT using Keychain, or as a fallback.
// "GITHUB_PERSONAL_ACCESS_TOKEN": ""
}
}
}
}注: 替换 `` 你的实际路径。
提供的工具
此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