Skip to main content
Glama

Footgun

Server Details

Dated, verified fixes for how APIs and AI coding tools break, served to your agent before it codes.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
GetFootgun/footgun
GitHub Stars
0
Server Listing
footgun

TDQS

A3.7/5.0

Scored across 4 tools

Disambiguation4/5

lookup_traps and search_traps both return verified traps with fixes, which could cause confusion, but their trigger contexts (before coding vs. after an error) are clearly described. confirm_trap and file_trap are well-differentiated by their actions (verify existing vs. draft new).

Naming Consistency4/5

All names follow a consistent verb_noun snake_case pattern. The only minor inconsistency is singular 'trap' in confirm_trap and file_trap versus plural 'traps' in lookup_traps and search_traps, which is understandable but slightly breaks uniformity.

Tool Count5/5

Four tools are well-scoped for a trap knowledge base: proactive lookup, reactive search, confirmation, and filing. Each tool serves a distinct and necessary purpose without redundancy.

Completeness4/5

Core lifecycle is covered: read (lookup/search), create (file), and verify (confirm). Minor gaps include no direct 'get by ID' or browse-all capability, but the search and lookup tools likely suffice for most agent workflows.

Available Tools

4 tools
confirm_trapConfirm or dispute a trapBInspect

Record that a trap is still true (or not), with optional hours lost and version seen. Needs an API key.

ParametersJSON Schema
NameRequiredDescriptionDefault
trap_idYes
hours_lostNo
still_trueYes
version_seenNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false, so the safety profile is already covered, and the description is consistent with a non-destructive write. It adds one genuinely useful behavioral fact ('Needs an API key') but omits what happens on an unknown trap_id, whether repeated confirms are idempotent, and whether this mutates the original trap record.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the core action and its payload, with the auth note trailing where it belongs. Nothing is redundant with the title or schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter mutation tool with no output schema and only bare annotations, the description is serviceable but thin: it does not say what is returned, how the confirmation is stored against the existing trap, or what errors an unknown trap_id produces. An agent could call it correctly for the happy path but has no guidance for edge cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the load, and it does name three of the four parameters in natural language ('still true', 'hours lost', 'version seen'); trap_id is obvious from context but unmentioned. It gives no format or range hints (e.g., whether hours_lost is a decimal, what version_seen refers to), so it only partially compensates for the zero coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb ('Record') and resource ('a trap') plus the payload's meaning: whether the trap is 'still true (or not)'. That phrasing implicitly separates it from file_trap (create a new trap) and from lookup_traps/search_traps (retrieve), though it never names a sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to reach for this tool versus file_trap, lookup_traps, or search_traps, and no prerequisites or exclusions. The only usage cue is the implied 'you have already seen this trap and want to re-validate it', which the agent must infer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

file_trapFile a new trapBInspect

Draft a trap after a failure was fixed. A person reviews every filed trap before it is published; citing the provider's official documentation or changelog in sources helps. Needs an API key.

ParametersJSON Schema
NameRequiredDescriptionDefault
fixYes
tagsNo
applyYes
causeYes
titleYes
sourcesNo
affectedYes
providerYes
symptomsYes
visibilityNo
surface_nameYes
surface_typeYes

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=false and destructiveHint=false; the description goes beyond them by disclosing the moderation workflow (a person reviews every filed trap before publication) and the API key requirement. It omits any deduplication behavior, rate limits, or what happens to a rejected draft, so it is not fully complete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, purpose front-loaded first, followed by the review workflow and auth requirement. Nothing is redundant or padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter mutation with 0% schema coverage and no output schema, the description should explain the required evidence fields (symptoms, cause, fix, apply) and the visibility/surface_type enums. It covers the workflow and auth but leaves the agent without enough to populate the payload correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 12 parameters, so the description carries the full burden, yet it only hints at one field ('sources'). The nine required fields (provider, surface_type, surface_name, title, symptoms, cause, fix, apply, affected) are left entirely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Draft a trap') with a clear precondition ('after a failure was fixed'). It does not name the sibling tools (confirm_trap, search_traps, lookup_traps), so the agent must infer that confirm_trap is the publishing counterpart from the mention of human review.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a trigger condition ('after a failure was fixed') which implies when to use it, and the human-review note hints that a separate confirm step follows. It never explicitly names an alternative tool or states when NOT to use this one.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lookup_trapsLook up traps for a providerA
Read-onlyIdempotent
Inspect

Call before writing code against a third-party API, platform, or AI tool. Returns verified, dated failure modes with fixes.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNo
surfaceNo
providerYes
include_staleNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety and side-effect profile is covered structurally. The description adds genuinely useful context about the return payload ('verified, dated' failure modes with fixes), but says nothing about rate limits, staleness handling, or scope of coverage beyond that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler: the first front-loads the invocation trigger, the second states the payload. Every clause carries information an agent can act on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly summarizes the return value, but with four undocumented parameters at 0% schema coverage and no cross-references to sibling tools, an agent still lacks enough to call this confidently in ambiguous cases. Minimally viable, not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across four parameters (provider, surface, context, include_stale), so the description must compensate and largely does not. It hints at what a provider is ('third-party API, platform, or AI tool') but leaves surface, context, and include_stale entirely unexplained, including the important stale-data toggle.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete output: 'verified, dated failure modes with fixes,' which resolves the otherwise opaque term 'traps' into a specific resource. It is clear what an agent gets back, but it does not distinguish itself from sibling tools like search_traps or confirm_trap, so an agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Call before writing code against a third-party API, platform, or AI tool' gives an explicit, actionable trigger condition for invocation. However, there is no guidance on when NOT to use it or which sibling (search_traps vs. lookup_traps) is appropriate for a given situation, leaving the alternative routing implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_trapsSearch traps by error textB
Read-onlyIdempotent
Inspect

Call when a call to a third-party service fails. Paste the error text. Returns the closest verified traps with fixes.

ParametersJSON Schema
NameRequiredDescriptionDefault
providerNo
error_textYes
include_staleNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=false, and idempotentHint=true, covering the safety profile. The description adds useful return context ('closest verified traps with fixes') and implies the error text should be pasted verbatim, but discloses nothing about pagination, ranking, or staleness behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, with the usage trigger front-loaded before the return description. No wasted words; minor awkwardness in 'Call when a call...' but structurally sound.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema and none is strictly needed, but with 0% schema coverage the definition should say more about provider and include_stale. The description is adequate for the core call but leaves real gaps for a 3-parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description carries the full burden. It sheds light on error_text ('paste the error text'), but provider and include_stale go entirely unexplained in both schema and description, leaving two of three parameters semantically opaque.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Search traps by error text') and clarifies that results are 'the closest verified traps with fixes'. It does not, however, differentiate itself from the sibling lookup_traps, which appears to serve a similar retrieval purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear triggering condition: 'Call when a call to a third-party service fails.' This tells the agent when to reach for it. It stops short of naming alternatives (lookup_traps) or stating when NOT to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedfile_trap1 field changed
      • addedInput schema / properties / visibility
        Added value: +{
        +  "enum": [
        +    "private",
        +    "public"
        +  ],
        +  "type": "string"
        +}
  2. 4 tool updates
    • First observedconfirm_trap
    • First observedfile_trap
    • First observedlookup_traps
    • First observedsearch_traps

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI coding tools with a shared knowledge base of real-world fixes and gotchas, verified by usage, to stop debugging errors others already solved.
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    A Stack Overflow for Claude Code agents — a shared pool of solved-problem fixes.An agent hits an error, calls ask_pool for ranked prior fixes; solves something new, calls post_solution. Semantic search + write-time content shield. Free, Apache-2.0.
    9
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Verified, dated facts for AI coding agents: what breaks between npm package versions (diffed from TypeScript types), per-version vulnerabilities, the newest version compatible with a given Node/Python/Rust/PHP, end-of-life dates of ~480 runtimes and frameworks, and AI model prices. Covers npm, PyPI, crates.io and Packagist.
    AGPL 3.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.