Skip to main content
Glama

Detectar redefinición de herramientas tras la aprobación (rug-pull)

detect_tool_rug_pull

Compara dos versiones del manifiesto de un mismo servidor MCP — la que aprobaste/revisaste antes ("anterior") y la de ahora ("actual") — y avisa si el texto de alguna herramienta ya aprobada cambió desde entonces. Detecta el patrón conocido como "MCP Tool Rug-Pull": una herramienta se ve benigna al aprobarse, pero su descripción se redefine DESPUÉS (en una actualización, en la siguiente carga) para meter una instrucción peligrosa. detect_poisoned_tool_descriptions revisa un manifiesto en un solo momento; esta herramienta revisa si algo cambió desde la última vez — úsalas juntas. Requiere una llave de acceso válida (usos gratis o créditos) — ver POST /crear-llave.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "anterior": "<anterior>",
      "actual": "<actual>"
    },
    "name": "detect_tool_rug_pull"
  }
}

Input Schema

NameRequiredDescriptionDefault
actualYesEl manifiesto actual del mismo servidor, para comparar contra "anterior".
anteriorYesEl manifiesto que aprobaste/revisaste la vez anterior: { serverInfo, tools: [...] } (mismo formato que audit_mcp_server).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden; it usefully explains the detection mechanism (a benign-at-approval tool whose description is later redefined to inject a dangerous instruction) and discloses an auth/credits requirement with a pointer to POST /crear-llave. It does not say what the response contains (which tools flagged, diff detail) or how it behaves when the two manifests are structurally mismatched, which matters for a comparison tool without an output schema.

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?

Front-loaded with the core comparison before the attack-pattern explanation and the sibling distinction. A few phrases are redundant ("en una actualización, en la siguiente carga") and the single dense paragraph could be split, but no sentence is wasted.

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?

The conceptual framing, the alternative-tool routing, and the auth requirement are covered well for a nested-object comparison tool. However, with no output schema and no annotations, the description leaves the agent guessing about the shape of the result and about failure modes (invalid/absent prior manifest), which is a meaningful gap at this complexity.

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 coverage is 100% and both parameters already carry descriptions, including that "anterior" matches the audit_mcp_server format. The description adds only the temporal framing ("la que aprobaste/revisaste antes" vs "la de ahora"), which is close to a restatement of the schema text, so baseline 3 applies.

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

Purpose5/5

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

States a concrete verb and resource: it compares two versions of the same MCP server's manifest and flags whether the text of an already-approved tool changed. It also names the exact attack pattern ("MCP Tool Rug-Pull") and explicitly distinguishes itself from the sibling detect_poisoned_tool_descriptions by contrasting point-in-time scanning with change-since-approval detection.

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 clear situational guidance: use it when you want to know if something changed since you last approved the manifest, and it names the complementary sibling plus "úsalas juntas" to route the agent correctly. It stops short of explicit exclusions (e.g., what to do if you have no prior manifest stored) and gives no ordering or prerequisite flow beyond the paired-use hint.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources