Skip to main content
Glama

Synthex Forge — x402 Paid Agent Services

Mcp Server Audit

mcp_server_audit
Read-onlyIdempotent

An MCP server runs with your agent's privileges. part of the surface; a signed, reproducible answer. $2 USDC.

Input Schema

NameRequiredDescriptionDefault
server.taskNo[POST /v1/security/mcp-scan]
server.textNo[POST /v1/security/mcp-scan]
tools.toolsNo[POST /v1/security/tool-poisoning]
server.filesNo[POST /v1/security/mcp-scan]
server.toolsNo[POST /v1/security/mcp-scan]
server.subjectNo[POST /v1/security/mcp-scan]
permissions.taskNo[POST /v1/security/permission-audit]
server.permissionsNo[POST /v1/security/mcp-scan]
permissions.subjectNo[POST /v1/security/permission-audit]
permissions.permissionsNo[POST /v1/security/permission-audit]
server.tool_definitionsNo[POST /v1/security/mcp-scan]
server.tool_descriptionsNo[POST /v1/security/mcp-scan]

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "composite": {
      -      "description": "The name of the composite that produced this answer.",
      -      "type": "string"
      -    },
      -    "detail": {
      -      "description": "The human-readable explanation of an early stop.",
      -      "type": "string"
      -    },
      -    "error": {
      -      "description": "Present only when the composite stopped early (unpaid, or a step failed).",
      -      "type": "string"
      -    },
      -    "skipped": {
      -      "description": "Steps that did NOT run, each naming the reason. A step skipped for want of arguments is reported, never silently dropped.",
      -      "items": {
      -        "properties": {
      -          "body_from": {
      -            "type": "string"
      -          },
      -          "reason": {
      -            "type": "string"
      -          },
      -          "route": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "reason"
      -        ],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "step_count": {
      -      "description": "How many steps ran.",
      -      "type": "integer"
      -    },
      -    "steps": {
      -      "description": "One entry per step that ran, each carrying its route, its HTTP status and its body.",
      -      "items": {
      -        "properties": {
      -          "body": {
      -            "type": "object"
      -          },
      -          "route": {
      -            "type": "string"
      -          },
      -          "status": {
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "route",
      -          "status"
      -        ],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "verdict": {
      -      "description": "The folded verdict: the WEAKEST of the steps' verdicts, so a partial answer cannot read as a whole one.",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "composite"
      -  ],
      -  "type": "object"
      -}New value: +null
  2. Added

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive, closed-world, so safety is covered. The description adds two genuinely useful facts -- a $2 USDC cost and that the answer is signed and reproducible -- but they arrive as disconnected fragments with no explanation of what is checked or what a caller receives.

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

Conciseness2/5

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

It is short, but that is under-specification rather than conciseness: two sentence fragments with a trapped semicolon and a bare price. Nothing is front-loaded or ordered, and the reader must reconstruct the intent.

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

Completeness1/5

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

A 12-parameter, zero-required tool with no output schema needs the description to explain the parameter groupings and result shape; instead the description covers none of it. An agent cannot tell from this text how to call the tool or what a 'signed, reproducible answer' contains.

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 nominally 100%, but every parameter description is only an endpoint path such as '[POST /v1/security/mcp-scan]' or '[POST /v1/security/tool-poisoning]'. The description does not explain the three parameter families (server.*, permissions.*, tools.*) or that they map to different scan endpoints, so it adds nothing over the schema; baseline 3 applies.

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

Purpose2/5

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

The text is a set of fragments ('An MCP server runs with your agent's privileges. part of the surface; a signed, reproducible answer. $2 USDC.') that gesture at security auditing of an MCP server but never state a verb or the actual action. An agent can only infer the purpose from the tool name, and nothing distinguishes it from siblings like run_mcp_security_scan, run_agent_security_scan, or audit_tool_poisoning.

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

Usage Guidelines1/5

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

No guidance on when to use this tool, when not to, or which of the closely related siblings (run_mcp_security_scan, audit_declared_permissions, audit_tool_poisoning) to pick instead. The clause 'part of the surface' is not actionable routing information.

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.