mcpField
G
gmi-security-mcp

gmi-security-mcp

本地服务
github.com安全01 天前更新

关于 gmi-security-mcp

gmi-security-mcp 是供编码 Agent 使用的 MCP 服务,借助 GMI Inference 对 semgrep 发现项进行分流并扫描代码库。它结合成本估算、公告检查和可复现验证;运行生成的 PoC 前需要人工审核。

主要功能

  1. 01分流 semgrep 发现项
  2. 02使用 semgrep 和 OSV 扫描代码库
  3. 03用 OSV 检查锁文件
  4. 04运行前估算成本
  5. 05通过确定性 PoC 验证发现项
  6. 06发送前清除机密信息

适用场景

  1. 01在编辑器中分流 semgrep 结果
  2. 02审查代码库发现项与依赖
  3. 03确认发现项前验证疑似问题

MCP 相关

该服务向 MCP 客户端提供安全分析工具,包括发现项分流、代码库扫描、OSV 检查和验证。它以 stdio MCP 服务运行;基于模型的分析需要 GMI Inference API 密钥。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"jayanng-gmi-security": {
"command": "uvx",
"args": [
"gmi-security-mcp"
],
"env": {
"GMI_API_KEY": "<GMI_API_KEY>"
}
}
}
}
启动命令uvx gmi-security-mcp
需要配置的环境变量
GMI_API_KEY密钥GMI Inference API key

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypigmi-security-mcp0.5.11

工具

15

收录的工具列表 · 更新于 1 天前

参数类型必填说明
codestring是
fileany否
lineany否
checkany否
db_pathany否
findingstring是
thresholdnumber否
two_stageboolean否
max_tokensinteger否
stage1_modelany否
stage2_modelany否
spend_cap_usdnumber否

详细介绍

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。

评论

支持 Markdown

第一次接触 MCP?

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

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