Footgun
Dated, verified fixes for how APIs and AI coding tools break, served to your agent before it codes.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"footgun": {
"url": "https://getfootgun.com/api/mcp"
}
}
}远程端点
https://getfootgun.com/api/mcpstreamable-http它能做什么
工具清单
工具(4)
🟢lookup_traps(provider, surface, context, include_stale)
Call before writing code against a third-party API, platform, or AI tool. Returns verified, dated failure modes with fixes.
输入模式
{
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"surface": {
"type": "string"
},
"context": {
"type": "string"
},
"include_stale": {
"type": "boolean"
}
},
"required": [
"provider"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢search_traps(error_text, provider, include_stale)
Call when a call to a third-party service fails. Paste the error text. Returns the closest verified traps with fixes.
输入模式
{
"type": "object",
"properties": {
"error_text": {
"type": "string",
"minLength": 4,
"maxLength": 4000
},
"provider": {
"type": "string"
},
"include_stale": {
"type": "boolean"
}
},
"required": [
"error_text"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡file_trap(provider, surface_type, surface_name, title, symptoms, ...)
Draft a trap after a failure was fixed. Private by default with a Pro or Team key; public filings enter the review queue. A public trap is reviewed by a person before it is published; citing the provider's official documentation or changelog in sources helps. Needs an API key. Set visibility to public to submit to the public registry.
输入模式
{
"type": "object",
"properties": {
"provider": {
"type": "string",
"maxLength": 64
},
"surface_type": {
"type": "string",
"enum": [
"api",
"sdk",
"ui",
"billing",
"infra",
"tool"
]
},
"surface_name": {
"type": "string",
"maxLength": 200
},
"title": {
"type": "string",
"minLength": 10,
"maxLength": 140
},
"symptoms": {
"minItems": 1,
"maxItems": 6,
"type": "array",
"items": {
"type": "string",
"maxLength": 300
}
},
"cause": {
"type": "string",
"maxLength": 1000
},
"fix": {
"type": "string",
"maxLength": 2000
},
"apply": {
"type": "string",
"maxLength": 4000
},
"affected": {
"type": "string",
"maxLength": 300
},
"sources": {
"default": [],
"maxItems": 8,
"type": "array",
"items": {
"type": "string",
"maxLength": 500
}
},
"tags": {
"maxItems": 6,
"type": "array",
"items": {
"type": "string",
"maxLength": 40
}
},
"visibility": {
"type": "string",
"enum": [
"private",
"public"
]
}
},
"required": [
"provider",
"surface_type",
"surface_name",
"title",
"symptoms",
"cause",
"fix",
"apply",
"affected"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪confirm_trap(trap_id, still_true, hours_lost, version_seen)
Record that a trap is still true (or not), with optional hours lost and version seen. Needs an API key.
输入模式
{
"type": "object",
"properties": {
"trap_id": {
"type": "string"
},
"still_true": {
"type": "boolean"
},
"hours_lost": {
"type": "number"
},
"version_seen": {
"type": "string"
}
},
"required": [
"trap_id",
"still_true"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社区
证据