SML Risk Firewall
Pre-trade risk checks for agent trades: orders vs your limits, signed receipts.
Description from the maker (original English)
PostgreSQL security for AI agents: CVEs, yanked releases, exploits, and upgrade paths
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
PG_CVE_MCP_TTL, PG_CVE_MCP_DATA_URLYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"pg-cve": {
"command": "uvx",
"args": [
"pg-cve-mcp"
],
"env": {
"PG_CVE_MCP_TTL": "your-value",
"PG_CVE_MCP_DATA_URL": "your-value"
}
}
}
}Run this in your terminal
claude mcp add pg-cve --env PG_CVE_MCP_TTL=your-value --env PG_CVE_MCP_DATA_URL=your-value -- uvx pg-cve-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"pg-cve": {
"command": "uvx",
"args": [
"pg-cve-mcp"
],
"env": {
"PG_CVE_MCP_TTL": "your-value",
"PG_CVE_MCP_DATA_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"pg-cve": {
"type": "stdio",
"command": "uvx",
"args": [
"pg-cve-mcp"
],
"env": {
"PG_CVE_MCP_TTL": "your-value",
"PG_CVE_MCP_DATA_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
PG_CVE_MCP_TTL envPG_CVE_MCP_DATA_URL envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account meob, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.0.4) reached the registry 3 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: SML Risk Firewall, ipdata MCP by usefulapi, MaxMind minFraud MCP by usefulapi
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Pre-trade risk checks for agent trades: orders vs your limits, signed receipts.
Look up location, network, company and threat data for IP addresses and ASNs in ipdata.
MCP server for MaxMind minFraud — score transactions for fraud risk from your AI assistant.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Give your AI assistant direct access to PostgreSQL security intelligence: CVEs, yanked releases, known exploits, and upgrade paths for any version — queried, not browsed.
Browsing a CVE dashboard is a human habit. Agents need answers, not pages.
pg-cve-mcp turns the curated dataset of the PG_CVE project — the same one powering the PostgreSQL CVE Dashboard — into MCP tools that any AI assistant (opencode, Claude Desktop, etc.) can call directly. What was a static page becomes a first-class, programmatic part of your AI workflow.
Unlike raw NVD feeds, the PG_CVE dataset is manually curated to carry the same judgment a careful DBA would apply:
CVE-EOL-WARNING (CVSS 10.0) prepended to unsupported reports| Prompt to your agent | Tool used | Result |
|---|---|---|
| "Is PostgreSQL 15.8 safe?" | get_cves("15.8") | EOL/yanked flags, release date, full CVE list sorted by CVSS |
| "Compare 16.3 vs 16.4" | compare_versions("16.3", "16.4") | fixed / new / still-present CVEs with release dates |
| "Should I upgrade from 14.10?" | get_upgrade_path("14.10") | recommended target + the CVEs it fixes + release dates |
| "Any known exploits right now?" | get_exploits() | all exploitable CVEs, sorted by CVSS, with release dates |
| "What does this database track?" | get_summary() | stats, EOL and yanked-release overview |
Every tool returns structured JSON, sorted by CVSS (highest first). Tools flag *yanked* and *EOL* state explicitly on the version metadata, and include release dates for every version. get_upgrade_path distinguishes a safe minor upgrade from a forced major one when a branch is at or near end-of-life — so the agent can give advice, not just data.
See real tool outputs in the live demo.
pip install pg-cve-mcp
pg-cve-mcp
Or with npx (no install):
npx -y pg-cve-mcp
| Tool | Description |
|---|---|
get_cves(version) | Complete security report for a version: EOL/yanked status, release date, stats, CVEs sorted by CVSS (a synthetic CVE-EOL-WARNING at 10.0 is prepended for unsupported releases) |
compare_versions(v1, v2) | Side-by-side CVE comparison (fixed/new/still present) with yanked & EOL flags and release dates |
get_upgrade_path(from_version) | Recommended upgrade (minor by default; major when EOL or next-to-EOL) with fixed CVEs and release dates |
get_exploits() | All CVEs with known public exploits, sorted by CVSS, with release dates |
get_summary() | Overview of the tracked CVE database incl. yanked releases |
Run locally over stdio for opencode, Claude Desktop, and other stdio MCP clients:
pip install -e .
pg-cve-mcp
For remote or enterprise deployments, serve the same tools over HTTP. Run python run_server.py (or build the Dockerfile); the server listens on $PORT (default 8000) at path /mcp:
python run_server.py
Configure any MCP client with the URL, e.g. in opencode.json:
{
"mcp": { "pg-cve-mcp": { "type": "remote", "url": "http://127.0.0.1:8000/mcp" } } }
| Env Var | Default | Description |
|---|---|---|
PG_CVE_MCP_TTL | 86400 | Cache TTL in seconds for CVE data |
PG_CVE_MCP_DATA_URL | https://meob.github.io/PG_CVE/postgresql_cves.json | CVE data source URL |
PORT | 8000 | HTTP port for the Streamable HTTP server (run_server.py) |
Run the test suite and linters:
python -m pytest
ruff check src tests mypy src
Data is fetched from the PG_CVE project's GitHub Pages with local caching. Falls back to a bundled copy if the network is unavailable.
"What CVEs affect PostgreSQL 16.4?"
"Is PostgreSQL 15.8 safe to use?"
"Compare CVEs in 16.3 vs 16.4"
"What's the upgrade path from PostgreSQL 14.10?"
Apache 2.0