gmi-security-mcp
A security MCP server for coding agents, backed by GMI Inference. Your agent triages semgrep findings, scans repos, checks lockfiles against OSV, and verifies findings with a runnable PoC, all inside the editor, with the cost shown before every run.
PyPI: https://pypi.org/project/gmi-security-mcp/ — MCP Registry: https://registry.modelcontextprotocol.io/v0/servers?search=gmi-security-mcp — Repo: https://github.com/Jayanng/gmi-security-mcp
Install
Requires Python 3.13 or later and a GMI Inference API key. No GitHub token is needed for local repos.
pip install gmi-security-mcp
export GMI_API_KEY="your-gmi-key"
gmi-security-mcp --list-tools
That prints the 15 tool names. Run the server as a stdio MCP server with gmi-security-mcp, or run the 12 built-in examples with mcp-test, which spends under $0.02 with the default model. pipx install gmi-security-mcp works the same way, in an isolated venv.
Quick start
Add the server to Claude Code with claude mcp add gmi-security-mcp -e GMI_API_KEY="your-gmi-key" -- gmi-security-mcp, or drop this in .mcp.json:
{
"mcpServers": {
"gmi-security-mcp": {
"command": "gmi-security-mcp",
"env": { "GMI_API_KEY": "your-gmi-key" }
}
}
}
Config copies for Claude Code, Codex, and Cursor are in install/. Editor test status: Claude Code and Codex are tested for registration and tools/list only, Cursor is not tested end-to-end. See TUTORIAL.md section 2.
Tools
| Tool | What it does |
|---|---|
triage_semgrep_finding |
Triage one finding. One validated verdict: real or false positive, severity, confidence, reason, fix. |
repo_scan |
Scan a repo with semgrep and osv-scanner, then two-stage triage of each finding. Returns a JSON report. |
check_osv_advisory |
Check one lockfile against OSV. No GMI call. |
explain_cve |
Explain a CVE, GHSA, or OSV id from its advisory, with citations. |
draft_private_disclosure |
Draft a private disclosure from a confirmed real finding. Drafts only, never sent. |
estimate_cost |
Estimate a run before it spends anything. No GMI call, no spend. |
verify_finding |
Prove a finding with a deterministic oracle and a runnable PoC. |
list_findings |
List stored findings, summaries only, no code. |
get_finding |
One stored finding in full: code, evidence, verdict history, verification results. |
update_finding |
Update a stored finding. A reason is required. |
mark_fp |
Mark a finding false positive, with a reason. |
mark_confirmed |
Mark a finding confirmed, with a reason. Only with a reproduced verification. |
list_rules |
List the custom semgrep rules pack: 8 rules, all enabled by default. |
scope_enable |
Enable a scope policy for one repo from a scope file. |
scope_disable |
Disable the scope policy for one repo. |
Cost and safety
Estimate before every run. The default cap is $1.00 per tool call and cannot go above $5.00. A single finding typically costs $0.0001 to $0.001 with Gemini 3.5 Flash Lite. A model verdict alone never confirms a finding: only a deterministic oracle reproducing it does, and a generated PoC never runs on your host until you review and confirm it. Secrets are redacted before anything is sent to GMI, and the key comes from GMI_API_KEY only, never from a file. Drafts are never sent, opened as a PR, forked, pushed, or emailed by this server.
Docs
- TUTORIAL.md: full worked tutorial, every command with real output, plus the reference appendix with tool details, cost records, limitations, and repo structure.
- CHANGELOG.md: version history, including what is new in 0.5.8.
- DECISIONS.md: design decisions and the audit record behind them.
- DATA_SOURCES.md: where the model pricing comes from and when it was last re-checked live.
Development
python3 -m venv .venv
.venv/bin/pip install -e ".[dev]"
python3 -m pytest tests/ -q
Unit tests need no key and no network. 317 tests pass. Live tests are separate and capped: $1.00 per full run, $5.00 total for the whole build.
License
MIT. See LICENSE.
Metadata
Release files for gmi-security-mcp 0.5.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| gmi_security_mcp-0.5.9.tar.gz | 145.8 kB | With provenance | Details for gmi_security_mcp-0.5.9.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| gmi_security_mcp-0.5.9-py3-none-any.whl | Python 3 | none | any | Details for gmi_security_mcp-0.5.9-py3-none-any.whl |
Total release size: 257.9 kB
Release files / gmi_security_mcp-0.5.9.tar.gz
| Download URL | gmi_security_mcp-0.5.9.tar.gz |
|---|---|
| Size | 145.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
60acf304135de57de6e160eb62d126583533317363448133e17cbced5a8aa4a5
|
|
BLAKE2b-256 checksum How to use checksums |
5a540f1f9a5f3ad7a815bf33c49d4852799e16c3e8d0e288ebdcf3ed58fb7f77
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 11, 2026.
Transparency logRelease files / gmi_security_mcp-0.5.9-py3-none-any.whl
| Download URL | gmi_security_mcp-0.5.9-py3-none-any.whl |
|---|---|
| Size | 112.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cd3207a1319ad830c90bb58f8429a80dfb69134aa2937d7d0231921f49c65eaa
|
|
BLAKE2b-256 checksum How to use checksums |
4d79c00fd14a0663bdb0f5db2f3ef2469a16cfd63a963a0bcc65e27593a41a7f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 11, 2026.
Transparency logSecurity for gmi-security-mcp 0.5.9
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for gmi_security_mcp-0.5.9.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 11, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.