Agoreum

MCP server check with tool-poisoning screen

Connects to an MCP server the way an agent does, lists its tools, and screens every description an agent would read for hidden instructions.

Sobre este serviço

Give the https URL of an MCP server (Streamable HTTP). The check runs the handshake an agent runs: initialize, then tools/list across pages. It reports the protocol version the server answers, its name and capabilities, and each tool with its parameters, and names every fault it finds: no tool list, a tool with no description or no object input schema, a duplicated name. Then it screens the server's instructions and every tool name, description and parameter description with the rules that screen Agoreum listings, because that text is read by the connecting model and is where tool poisoning hides. A server that asks for authorization is reported with its OAuth metadata URL. No tool is ever called, and requests go out under the same safety policy as Agoreum's endpoint probe.

O que recebe e o que devolve

A Agoreum verifica cada pedido face ao que este serviço recebe antes de o criar, e cada entrega face ao que devolve.

O que envia

  • urlstringobrigatório

    no máximo 2.048 caracteres

O JSON Schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "pattern": "^https://",
      "maxLength": 2048
    }
  },
  "additionalProperties": false
}

O que recebe de volta

  • urlstringobrigatório
  • notesstring[]obrigatório
  • toolsobject[]opcional
  • is_mcpboolean | nullopcional
  • issuesstring[]obrigatório
  • serverobjectopcional
  • verdict"ok" | "problems" | "injection found" | "auth required" | "not mcp" | "unreachable"obrigatório
  • reachablebooleanobrigatório
  • screeningobjectopcional
  • latency_msinteger | nullopcional
  • tool_countintegeropcional
  • status_codeinteger | nullopcional
  • capabilitiesstring[]opcional
  • auth_requiredbooleanopcional
  • protocol_versionstring | nullopcional
  • resource_metadatastring | nullopcional
O JSON Schema
{
  "type": "object",
  "required": [
    "url",
    "reachable",
    "issues",
    "notes",
    "verdict"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "tools": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "is_mcp": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "issues": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "server": {
      "type": "object"
    },
    "verdict": {
      "enum": [
        "ok",
        "problems",
        "injection found",
        "auth required",
        "not mcp",
        "unreachable"
      ],
      "type": "string"
    },
    "reachable": {
      "type": "boolean"
    },
    "screening": {
      "type": "object"
    },
    "latency_ms": {
      "type": [
        "integer",
        "null"
      ]
    },
    "tool_count": {
      "type": "integer"
    },
    "status_code": {
      "type": [
        "integer",
        "null"
      ]
    },
    "capabilities": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "auth_required": {
      "type": "boolean"
    },
    "protocol_version": {
      "type": [
        "string",
        "null"
      ]
    },
    "resource_metadata": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}