关于 gmi-security-mcp
gmi-security-mcp 是供编码 Agent 使用的 MCP 服务,借助 GMI Inference 对 semgrep 发现项进行分流并扫描代码库。它结合成本估算、公告检查和可复现验证;运行生成的 PoC 前需要人工审核。
主要功能
- 01分流 semgrep 发现项
- 02使用 semgrep 和 OSV 扫描代码库
- 03用 OSV 检查锁文件
- 04运行前估算成本
- 05通过确定性 PoC 验证发现项
- 06发送前清除机密信息
适用场景
- 01在编辑器中分流 semgrep 结果
- 02审查代码库发现项与依赖
- 03确认发现项前验证疑似问题
MCP 相关
该服务向 MCP 客户端提供安全分析工具,包括发现项分流、代码库扫描、OSV 检查和验证。它以 stdio MCP 服务运行;基于模型的分析需要 GMI Inference API 密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
15收录的工具列表 · 更新于 1 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| code | string | 是 | |
| file | any | 否 | |
| line | any | 否 | |
| check | any | 否 | |
| db_path | any | 否 | |
| finding | string | 是 | |
| threshold | number | 否 | |
| two_stage | boolean | 否 | |
| max_tokens | integer | 否 | |
| stage1_model | any | 否 | |
| stage2_model | any | 否 | |
| spend_cap_usd | number | 否 |
详细介绍
gmi-security-mcp
面向编码 Agent、由 GMI Inference 提供支持的安全 MCP 服务。你的 Agent 可以在编辑器中处理 semgrep 发现项、扫描代码仓库、根据 OSV 检查锁文件,并通过可运行的 PoC 验证发现项;每次运行前都会显示费用。
PyPI:https://pypi.org/project/gmi-security-mcp/ — MCP Registry:https://registry.modelcontextprotocol.io/v0/servers?search=gmi-security-mcp — 仓库:https://github.com/Jayanng/gmi-security-mcp
安装
需要 Python 3.13 或更高版本,以及 GMI Inference API 密钥。本地代码仓库无需 GitHub 令牌。
pip install gmi-security-mcp
export GMI_API_KEY="your-gmi-key"
gmi-security-mcp --list-tools
这会打印 15 个工具名称。使用 gmi-security-mcp 将服务作为 stdio MCP 服务运行,或使用 mcp-test 运行 12 个内置示例;使用默认模型时费用低于 $0.02。pipx install gmi-security-mcp 的效果相同,但会在隔离的 venv 中安装。
快速开始
使用 claude mcp add gmi-security-mcp -e GMI_API_KEY="your-gmi-key" -- gmi-security-mcp 将服务添加到 Claude Code,或将以下内容放入 .mcp.json:
{
"mcpServers": {
"gmi-security-mcp": {
"command": "gmi-security-mcp",
"env": { "GMI_API_KEY": "your-gmi-key" }
}
}
}
Claude Code、Codex 和 Cursor 的配置副本位于 install/。编辑器测试状态:Claude Code 和 Codex 仅测试了注册和 tools/list;Cursor 尚未进行端到端测试。请参阅 TUTORIAL.md 第 2 节。
工具
| 工具 | 功能 |
|---|---|
triage_semgrep_finding | 处理单个发现项。返回经过验证的判定:真实问题或误报、严重程度、置信度、原因和修复方案。 |
repo_scan | 使用 semgrep 和 osv-scanner 扫描代码仓库,然后对每个发现项进行两阶段处理。返回 JSON 报告。 |
check_osv_advisory | 根据 OSV 检查单个锁文件。不调用 GMI。 |
explain_cve | 根据公告解释 CVE、GHSA 或 OSV ID,并提供引用。 |
draft_private_disclosure | 根据已确认的真实发现项起草私下披露内容。只起草,不会发送。 |
estimate_cost | 在产生任何费用前估算运行成本。不调用 GMI,不产生费用。 |
verify_finding | 使用确定性预言机和可运行的 PoC 证明发现项。 |
list_findings | 列出已存储的发现项;仅显示摘要,不包含代码。 |
get_finding | 完整显示一项已存储的发现项:代码、证据、判定历史和验证结果。 |
update_finding | 更新一项已存储的发现项。必须提供原因。 |
mark_fp | 将发现项标记为误报,并说明原因。 |
mark_confirmed | 将发现项标记为已确认,并说明原因。仅适用于已通过复现验证的发现项。 |
list_rules | 列出自定义 semgrep 规则包:共 8 条规则,默认全部启用。 |
scope_enable | 根据范围文件为一个代码仓库启用范围策略。 |
scope_disable | 为一个代码仓库停用范围策略。 |
费用与安全
每次运行前都要估算费用。默认上限为每次工具调用 $1.00,且不能超过 $5.00。使用 Gemini 3.5 Flash Lite 时,处理单个发现项通常花费 $0.0001 至 $0.001。仅凭模型判定绝不会确认发现项:只有确定性预言机复现该问题后才能确认;生成的 PoC 在你审查并确认前绝不会在你的主机上运行。发送任何内容到 GMI 前都会先对机密信息进行脱敏;密钥只从 GMI_API_KEY 读取,绝不会从文件读取。本服务不会发送草稿、创建 PR、派生代码仓库、推送内容或发送电子邮件。
文档
- TUTORIAL.md:完整的实操教程,包含每条命令及其实际输出,以及介绍工具详情、费用记录、限制和代码仓库结构的参考附录。
- CHANGELOG.md:版本历史,包括 0.5.8 版本的新内容。
- DECISIONS.md:设计决策及其背后的审计记录。
- DATA_SOURCES.md:模型定价数据的来源,以及上次在线复核的时间。
开发
python3 -m venv .venv
.venv/bin/pip install -e ".[dev]"
python3 -m pytest tests/ -q
单元测试无需密钥或网络。328 项测试全部通过。在线测试单独运行并设有费用上限:每次完整运行 $1.00,整个构建总计 $5.00。
许可证
MIT。请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。