About Footgun
Footgun is a verified registry of dated API breakages for coding agents, with a local scanner for matching traps to project dependencies.
Key features
- 01Dated, verified API trap registry
- 02Local scan by package version
- 03Claude Code plugin and slash command
- 04CLI output for CI checks
- 05MCP access to trap lookups
Use cases
- 01Check recent API behavior before coding
- 02Find known traps in an existing project
- 03Fail CI when breaking traps are found
MCP support
Exposes Footgun lookups and trap filing or confirmation to MCP clients over streamable HTTP. Filing and confirming require an Authorization bearer key.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://getfootgun.com/api/mcpclaude mcp add --transport http com-getfootgun-footgun https://getfootgun.com/api/mcp{"mcpServers":{"com-getfootgun-footgun":{"type":"http","url":"https://getfootgun.com/api/mcp"}}}Open in Cursor{"servers":{"com-getfootgun-footgun":{"type":"http","url":"https://getfootgun.com/api/mcp"}}}Open in VS Code{"mcpServers":{"com-getfootgun-footgun":{"type":"http","url":"https://getfootgun.com/api/mcp"}}}{"mcpServers":{"com-getfootgun-footgun":{"serverUrl":"https://getfootgun.com/api/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
https://getfootgun.com/api/mcpAuth requiredTools
Details
From the project READMEFootgun
Your AI agent knows how the API works. Footgun tells it how it breaks.
Footgun is a dated, verified registry of the traps that docs leave out: silent deprecations, quiet limits, settings that save but do nothing. Your coding agent checks it before it writes the code. Browse every trap at getfootgun.com.
Does it help?
On 17 coding tasks that touch recent API changes, run 5 times each, Claude Code got the code right on the first try 82% of the time with Footgun and 52% without, at 18% lower cost per working result. On older APIs the model already knows, it made no difference. The method and full results are at getfootgun.com/benchmark.
What we found in 200 AI-built apps
89 of 200 still use GitHub Actions built for Node 20, which GitHub now runs on Node 24. 93 have at least one problem that breaks now or will break, counting only rules a person checked against real code. The method and results are at getfootgun.com/scan.
Install in Claude Code
/plugin marketplace add getfootgun/footgun
/plugin install footgun@footgun
Lookups and filing work without an account. Filed traps are checked against official sources before anyone else sees them. To confirm traps, create an API key at getfootgun.com/account and enter it when the plugin asks.
The plugin also adds /footgun:scan, which checks your project on your machine for known traps in the exact package versions you use. Your code never leaves your machine; only the rule download and an anonymous count of findings are sent. Turn the plugin setting share_learnings off to stop the count and the filing of fixes your agent learns. The setting auto_context adds a short note of those traps at the start of each session. It is on by default; set it to false to turn it off.
Command line
cli/ holds the same scanner as a command, published on npm as @getfootgun/footgun: npx @getfootgun/footgun scan [path] (Node 20 or later). Add --json for machine-readable output or --fail-on breaks to fail a CI job.
Launch checks come first, under "Before you launch": problems that leak data or run up a bill, such as secret keys in browser code or a Supabase table with RLS off. Ones that live in a dashboard rather than in code are listed as items to check yourself whenever you use that package.
After a scan it prints a dated README badge: "no known API traps" only when the scan found nothing apart from launch reminders, "scanned" otherwise.
With a Pro or Team key, scan --watch adds the project to Footgun Watch, which lists new and changed traps that match your exact package versions on your Projects page. It sends the project name, the folder of each package file, your package names and versions, and the trap, file and line of each finding, never code. See getfootgun.com/docs.
In GitHub Actions, use GetFootgun/scan-action. It lists findings in the job summary, can fail the job on breaks or will-break, and with watch: "true" sends the project to Footgun Watch.
Any other MCP client
claude mcp add --transport http footgun https://getfootgun.com/api/mcp
For Cursor, Codex and other clients, point them at https://getfootgun.com/api/mcp (streamable HTTP). Add the header Authorization: Bearer <your key> to file and confirm traps.
The data
data/traps/<tool>/<trap>.json holds every public verified trap: symptoms, cause, fix, the date it was last verified, and its trust score. data/providers.json lists the tools covered. The data is exported from getfootgun.com and updated as traps are added, confirmed or retired.
Licence
Trap data in data/ is licensed CC BY 4.0. Credit "Footgun, getfootgun.com". The plugin files are MIT licensed (see LICENSE).
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.