Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add instructions/pascalallen/pgmcp/agents-mdgit clone --depth 1 https://github.com/pascalallen/pgmcpWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.02379 | $0.02379 |
| Opus 5 | $0.01189 | $0.01189 |
| Sonnet 5 | $0.00476 | $0.00476 |
| Haiku 4.5 | $0.00238 | $0.00238 |
Grade A, and why
pgmcp AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 103 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md
doc.go/README are authoritative; this file records what is not derivable from code.
Commands
go test -race -cover ./...
go vet ./...
gofmt -l . # any filename printed = unformatted; run before finishing
go run honnef.co/go/tools/cmd/staticcheck@latest ./...
go build ./cmd/pgmcp
bin/up # docker compose up --build -d, follow logs
bin/down # tear down, including volumes
bin/exec <command> # run a command in a throwaway go container
Integration tests are skipped unless PGMCP_TEST_DSN points at a Postgres with
pg_stat_statements preloaded; the scratch-container recipe is in the README's
Testing section. The conformance suite runs against a live HTTP server:
npx -y @modelcontextprotocol/conformance server --url http://127.0.0.1:8080/mcp \
--expected-failures .github/conformance-expected-failures.yaml
The release pipeline — six binaries, the darwin universal binary, the Claude
Desktop bundle, checksums — can be run end to end without publishing (needs
Node for the pinned @anthropic-ai/mcpb CLI):
go run github.com/goreleaser/goreleaser/v2@latest release --snapshot --clean --skip=publish,docker
Invariants — keep the tests that pin them
Each line is a property the codebase must not lose. If a change makes one of these tests fail, the change is wrong until proven otherwise.
Read-only enforcement
- Every statement the adapter runs is inside a
READ ONLYtransaction, and a write inside it fails with SQLSTATE 25006 — pinned byTestStoreReadOnly(infrastructure/postgres). statement_timeoutandlock_timeoutare set on every such transaction, and the transaction is always rolled back — pinned byTestStoreReadOnly(infrastructure/postgres).- Only a single top-level
SELECT/EXPLAIN/SHOWis allowed; a nested write statement (including one hidden in a CTE), aFOR UPDATE/FOR SHARElocking clause, aSELECT INTO, or a denied function is rejected — pinned byTestValidate(domain/sqlguard). - The libpg_query adapter reports the node types, function names and schemas the guard's rules are written against — pinned by
TestParserParseandTestParserSatisfiesTheSqlguardParserPort(infrastructure/postgres).
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 103 lines · 2,379 tokens per session scan A 13e382087cc4
pgmcp AGENTS.md is an instructions file published in the GitHub repository pascalallen/pgmcp (0 stars, last pushed 6d ago), licensed MIT. It adds 2,379 tokens to every session, about $0.0119 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other instructions, from other repositories
prest copilot-instructions.md
Instructions for prest/prest, covering copilot instructions for prest go backend, project scope, core engineering principles, solid principles for go and s — single responsibility.
gpu-mcp-server AGENTS.md
Instructions for pmady/gpu-mcp-server, covering agents.md, project overview, build, code layout and key patterns.
tooltrust-scanner CLAUDE.md
Instructions for AgentSafe-AI/tooltrust-scanner: Use the /browse skill from gstack for all web browsing. Never use mcpclaude-in-chrome tools.
dibs AGENTS.md
Instructions for Agenxy/dibs, covering agents.md: orientation for agents working on dibs, what this repo is, layout, rules you must not break and working here.
whatsapp-mcp-server CLAUDE.md
Instructions for HalemoGPA/whatsapp-mcp-server, covering working on this repo, the one idea, rules that follow from it, the box has a hard resource budget - stay inside it and repo-specific traps.
slack-mcp CLAUDE.md
Instructions for aaronsb/slack-mcp, covering slack mcp server, build, architecture, tools and environment.