Skip to main content
Glama

Detectar flujos tóxicos (combinaciones peligrosas de herramientas)

detect_toxic_flow_risk

A diferencia de las otras herramientas de detección (que analizan una función de código a la vez), esta analiza el MANIFIESTO completo de un servidor MCP — igual que audit_mcp_server — buscando una COMBINACIÓN peligrosa de capacidades: una herramienta que lee datos privados/sensibles (archivos locales, base de datos, credenciales, repos privados) o contenido externo no confiable (correo, páginas web, issues/tickets públicos, adjuntos), junto con una herramienta que puede enviar/publicar datos hacia afuera (correo, HTTP, webhook, crear un comentario o issue público, subir un adjunto) sin ningún campo de confirmación EXIGIDO (required) en su esquema de entrada — cada herramienta individual puede estar perfectamente descrita y no tener ningún problema por sí sola; el riesgo está en la combinación ("confused deputy" / "lethal trifecta"). Marca con más severidad el caso donde coinciden las TRES piezas completas: datos privados + contenido no confiable + canal de salida. Motivada por CVE-2026-77255 (mcp-atlassian, CVSS 8.6, septiembre 2026), EchoLeak/CVE-2025-32711 (Microsoft 365 Copilot, CVSS 9.3, primer exploit real de inyección de prompt de cero clics) y el caso reportado por Invariant Labs en un servidor MCP de GitHub ("Toxic Flow Analysis"). Complementa a audit_mcp_server (puntaje general del manifiesto) y a detect_poisoned_tool_descriptions (texto oculto dentro de UNA descripción) — úsala para revisar cómo INTERACTÚAN entre sí las herramientas que un agente tendría disponibles a la vez. 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": {
      "manifest": "<manifest>"
    },
    "name": "detect_toxic_flow_risk"
  }
}

Input Schema

NameRequiredDescriptionDefault
manifestYesEl manifiesto del servidor MCP como objeto JSON: { serverInfo, tools: [...] } (mismo formato que audit_mcp_server), o directamente un arreglo de herramientas.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full burden, and it does disclose real behavioral traits: an access key is required (free uses or credits, pointing to POST /crear-llave), severity escalates when all three components co-occur, and the detector reasons across tools rather than within one. What it does not disclose is the shape of the result (findings list, scoring, per-combination verdicts) or whether the call is a pure read.

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

Conciseness3/5

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

The core purpose is front-loaded in the first clause, which is good, but the single run-on paragraph then piles on CVE citations (CVE-2026-77255, EchoLeak/CVE-2025-32711, the Invariant Labs report) and licensing/credits detail. The sibling-differentiation sentence earns its place; the CVE background is motivational bulk that could be trimmed without losing callable information.

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

Completeness4/5

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

For a one-parameter, nested-object analyzer with no annotations and no output schema, the definition covers what it inspects, how risk is defined, severity behavior, auth prerequisites, and how it relates to siblings. The main gap is return-value expectations, which with no output schema would have been worth a sentence.

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?

Only one parameter, and schema description coverage is 100% — the schema already states that 'manifest' is the server manifest as { serverInfo, tools: [...] } or a bare array of tools. The description mentions the full MANIFIESTO and the equivalence with audit_mcp_server's format, but adds no new syntax or constraints beyond the schema. 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 specific verb and resource (analyze the full MCP server manifest for a dangerous combination of capabilities) and explicitly contrasts itself with siblings: 'a diferencia de las otras herramientas de detección (que analizan una función de código a la vez)' and 'igual que audit_mcp_server'. The three-part risk model (private data / untrusted content / outbound channel without a required confirmation field) makes the target of detection concrete.

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

Usage Guidelines5/5

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

Explicitly says when to use it ('úsala para revisar cómo INTERACTÚAN entre sí las herramientas que un agente tendría disponibles a la vez') and names the two alternatives it is not: audit_mcp_server for an overall manifest score and detect_poisoned_tool_descriptions for hidden text inside a single description. The division of labor is unambiguous.

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