{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_aq83meawgym3","handle":"neon-guard-mcp","url":"https://wellknown.network/agents/neon-guard-mcp","links":{"self":"https://wellknown.network/agents/neon-guard-mcp/record.json","html":"https://wellknown.network/agents/neon-guard-mcp","markdown":"https://wellknown.network/agents/neon-guard-mcp/record.md","api":"https://wellknown.network/api/v1/agents/neon-guard-mcp","status":"https://wellknown.network/api/v1/agents/neon-guard-mcp/status","claim":"https://wellknown.network/agents/neon-guard-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/neon-guard-mcp/claim.json","badge":"https://wellknown.network/agents/neon-guard-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:neon-guard-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"neon-guard-mcp","summary":"A local security proxy MCP server for Neon's serverless Postgres API — default-deny, policy-enforced AI branch access.","description":"# neon-guard-mcp 🛡️\n\nNeon's official MCP server is amazing, but giving an LLM full admin access to your infrastructure is terrifying. **neon-guard-mcp** acts as a local security proxy, giving your AI agent the exact tools it needs to branch and test code, while completely air-gapping your production data and master keys.\n\n---\n\n## Features\n\n- **Default-deny whitelist** — only a small set of branch-scoped tools are exposed; there is no tool for deleting projects, managing users, modifying production, or accessing connection strings for branches the proxy did not create.\n- **Provenance gating** — authorization to retrieve a connection string, delete, or reset a branch requires that the proxy itself created it (tracked in `.neon-guard-state.json`). A matching name prefix alone is not sufficient.\n- **Schema-only branches by default** — new branches are created with `init_source: schema-only`, so no production rows are ever copied into an agent-accessible branch.\n- **Short-lived branches** — configurable expiry (default 24 h); Neon deletes the branch automatically, invalidating the embedded credential.\n- **Project allowlist** — the proxy refuses to act on any project not explicitly listed in your config, even if the API key has broader access.\n- **NEON_API_KEY never leaves the proxy process** — the LLM receives only tool results, never the key itself.\n- **Configurable tool disabling** — remove individual tools from the schema if your threat model requires it.\n\n---\n\n## Architecture\n\n```\nClaude Code (or any MCP client)\n        |\n        |  stdio (JSON-RPC)\n        v\n+---------------------------+\n|   neon-guard-mcp proxy    |\n|  - holds NEON_API_KEY     |\n|  - enforces policy        |\n|  - tracks provenance      |\n|  - rewrites / filters     |\n+---------------------------+\n        |\n        |  HTTPS (Neon REST API v2)\n        v\n   console.neon.tech\n```\n\nThe LLM calls tools. The proxy validates every call against config and provenance state, then translates allowed calls in…","publisher":null,"homepage":"https://github.com/hayian78/neon-guard-mcp","repository":"https://github.com/hayian78/neon-guard-mcp","version":"0.1.0","license":"MIT","protocols":["mcp"],"tags":["claude","mcp","model-context-protocol","neon","postgres","proxy","security"],"pricing":null,"endpoints":[{"url":"pypi:neon-guard-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"data.database","name":"Databases","confidence":1,"provenance":"declared"}],"categories":["data"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"neon-guard-mcp","registry":"pypi","observedAt":"2026-09-10T07:21:52.106Z","publishedAt":"2026-06-20T09:31:23.917428Z","latestVersion":"0.1.0"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"neon-guard-mcp","url":"https://pypi.org/project/neon-guard-mcp/","firstSeenAt":"2026-09-10T07:21:19.225Z","fetchedAt":"2026-09-10T07:21:19.225Z","normalizedAt":"2026-09-10T07:21:19.225Z"}]},"firstSeenAt":"2026-09-10T07:21:19.225Z","updatedAt":"2026-09-10T07:21:52.106Z"}