Skip to main content
Glama

DropEngine x402 Agent Services

token_security_audit

Paid Token Security Audit ($0.01 USDC). Normalizes GoPlus token-security flags and public EVM RPC metadata for supported EVM tokens. Configure GOPLUS_ACCESS_TOKEN or explicitly enable the bounded public API with GOPLUS_PUBLIC_TOKEN_API_ENABLED=1; if neither is available, no payment is requested. Missing provider fields remain unknown and incomplete coverage returns caution. Reports provider findings separately from deterministic internal scoring. Does not trade or guarantee token safety.

Agent entry points: risky external action → use Agent Action Gate when a combined action-specific safety assessment is needed; unclear capability/provider → use free /api/discover; constrained comparison between callable alternatives → use paid route_tool; known single capability → call the direct tool; multi-step objective → read the matching workflow recipe and call only relevant steps. Workflows are stateless recipes, not executors; calls are paid separately and are not bundle charged. Agent Action Gate does not approve payment, sign or broadcast transactions, evaluate seller reputation, replace transaction simulation, replace route_tool, or replace human approval.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chainYes
token_addressYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYes
metaNo
nextNo
toolYes
errorNo
resultNo
statusNo
paymentNo
successYes
agent_uxNo
timestampYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changed
    • addedOutput schema / properties / agent_ux
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "error": {
      +      "anyOf": [
      +        {},
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "meta": {
      +      "additionalProperties": {},
      +      "propertyNames": {
      +        "type": "string"
      +      },
      +      "type": "object"
      +    },
      +    "next": {
      +      "items": {},
      +      "type": "array"
      +    },
      +    "payment": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "execution_status": {
      +          "enum": [
      +            "not_started",
      +            "succeeded",
      +            "failed",
      +            "unknown"
      +          ],
      +          "type": "string"
      +        },
      +        "status": {
      +          "enum": [
      +            "not_required",
      +            "required",
      +            "settled",
      +            "failed",
      +            "unknown"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "status",
      +        "execution_status"
      +      ],
      +      "type": "object"
      +    },
      +    "result": {},
      +    "status": {
      +      "enum": [
      +        "succeeded",
      +        "failed",
      +        "partial",
      +        "outcome_unknown"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "status",
      +    "result",
      +    "error",
      +    "meta",
      +    "payment",
      +    "next"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / error
      Added value: +{
      +  "anyOf": [
      +    {},
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / properties / meta / additionalProperties
      Previous value: -falseNew value: +{}
    • removedOutput schema / properties / meta / properties
      Removed value: -{
      -  "cache": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "age_ms": {
      -        "minimum": 0,
      -        "type": "number"
      -      },
      -      "hit": {
      -        "type": "boolean"
      -      }
      -    },
      -    "required": [
      -      "hit",
      -      "age_ms"
      -    ],
      -    "type": "object"
      -  },
      -  "failed_sources": {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "reason": {
      -          "type": "string"
      -        },
      -        "source": {
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "source",
      -        "reason"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "latency_ms": {
      -    "minimum": 0,
      -    "type": "number"
      -  },
      -  "partial": {
      -    "type": "boolean"
      -  },
      -  "sources": {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  }
      -}
    • addedOutput schema / properties / meta / propertyNames
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / meta / required
      Removed value: -[
      -  "sources",
      -  "latency_ms",
      -  "partial",
      -  "failed_sources",
      -  "cache"
      -]
    • addedOutput schema / properties / next
      Added value: +{
      +  "items": {},
      +  "type": "array"
      +}
    • addedOutput schema / properties / payment
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "execution_status": {
      +      "enum": [
      +        "not_started",
      +        "succeeded",
      +        "failed",
      +        "unknown"
      +      ],
      +      "type": "string"
      +    },
      +    "status": {
      +      "enum": [
      +        "not_required",
      +        "required",
      +        "settled",
      +        "failed",
      +        "unknown"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "status",
      +    "execution_status"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / result
      Added value: +{}
    • addedOutput schema / properties / status
      Added value: +{
      +  "enum": [
      +    "succeeded",
      +    "failed",
      +    "partial",
      +    "outcome_unknown"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "success",
      -  "tool",
      -  "timestamp",
      -  "data",
      -  "meta"
      -]New value: +[
      +  "success",
      +  "tool",
      +  "timestamp",
      +  "data"
      +]
  2. First observed

TDQS

B3.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the $0.01 USDC price, that no payment is requested when no provider is configured, that missing provider fields stay 'unknown' and incomplete coverage returns 'caution', and that provider findings are reported separately from internal scoring. It does not cover rate limits or exactly what happens on unsupported chains, but the failure-mode and pricing disclosure is strong.

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 audit paragraph is dense but front-loaded with the paid nature and scope, and every clause carries information. However, the trailing "Agent entry points" block is long, generic boilerplate applicable to many tools rather than this one, diluting the signal-to-noise ratio.

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?

An output schema exists, so return values need not be explained, and the description covers pricing, configuration prerequisites, failure modes, and scope boundaries adequately for calling correctly. The only material gap is that supported chains/token address expectations are left entirely to the schema.

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%, so the description must compensate, and it largely does not — it says 'supported EVM tokens' without enumerating the supported chains or explaining the token_address format. The chain enum in the schema self-documents valid values, but the description adds no semantics for either parameter.

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 opening states a specific verb and resource — a paid token security audit that normalizes GoPlus flags and EVM RPC metadata for supported EVM tokens — and draws an explicit boundary ("Does not trade or guarantee token safety"). It is clearly a read-only security-check tool, though it never names how it differs from audit-adjacent siblings like check_wallet or verify_claim.

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?

Usage context is present but generic: the "Agent entry points" block routes by capability shape ("known single capability → call the direct tool") rather than stating when to pick token_security_audit over check_wallet or simulate_transaction. Prerequisites (GOPLUS token or bounded public API) are stated, which is useful, but no explicit when/not/alternative specific to this tool appears.

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