Skip to main content
Glama

Synthex Forge — x402 Paid Agent Services

Agent Permission Audit

agent_permission_audit
Read-onlyIdempotent

Audit an agent's declared permissions against the task it claims to perform. Returns every over-granted scope, every wildcard, every write grant where read would do, and every declared scope that contradicts the described effect.

VALUE: An over-granted scope is the precondition for every privilege-escalation incident, and it is invisible to whoever writes the tool. The grant is one line of configuration; the exposure is the whole estate.

PRICE: $0.50 USDC per call.

HOW TO PAY: USDC on eip155:8453, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 transferWithAuthorization for the exact amount and put it in the X-PAYMENT header, then retry the same call. An unpaid call returns a payment_required payload with the amount, asset, network and payTo already filled in. The synthex-x402 SDK (PyPI and npm) does the 402 -> sign -> retry loop in one call.

Input Schema

NameRequiredDescriptionDefault
permissions.taskNo[POST /v1/security/permission-audit]
permissions.subjectNo[POST /v1/security/permission-audit]
permissions.permissionsNo[POST /v1/security/permission-audit]

Output Schema

NameRequiredDescriptionDefault
errorNoPresent only when the composite stopped early (unpaid, or a step failed).
stepsNoOne entry per step that ran, each carrying its route, its HTTP status and its body.
detailNoThe human-readable explanation of an early stop.
skippedNoSteps that did NOT run, each naming the reason. A step skipped for want of arguments is reported, never silently dropped.
verdictNoThe folded verdict: the WEAKEST of the steps' verdicts, so a partial answer cannot read as a whole one.
compositeYesThe name of the composite that produced this answer.
step_countNoHow many steps ran.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds real value beyond that: it discloses the finding categories returned (over-granted scopes, wildcards, write-where-read-would-do, intent contradictions) and, importantly, the full payment protocol — price, network, payTo address, EIP-3009 flow, the 402 retry loop, and an SDK. That payment detail is essential operational context an agent cannot get from the schema.

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 purpose is correctly front-loaded in the first sentence. But the 'VALUE' paragraph is marketing persuasion ('the exposure is the whole estate') that does not help an agent decide or invoke. The payment section is necessary given no auth field exists, so it earns its place, but the whole could be materially tighter.

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?

For a paid, read-only analysis tool with an output schema and full safety annotations, the description covers purpose and payment mechanics adequately. The gaps are the unresolved overlap with other permission-audit siblings and the unexplained `subject` parameter and permissions array shape, which an agent must guess when constructing the call.

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 the same placeholder string '[POST /v1/security/permission-audit]', which conveys no meaning. The description implies the semantics of `permissions.task` and `permissions.permissions` through the audit framing, but says nothing about `permissions.subject` or the expected shape of array items (typed as bare `{}`). Baseline 3 is warranted; the description neither compensates for nor worsens the hollow schema text.

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?

States a specific verb-and-resource pair ('audit an agent's declared permissions') and sharpens it with the comparison target ('against the task it claims to perform'), plus an enumerated list of what the report contains. An agent can tell this is a static permission-vs-intent analysis, not a runtime scan. It does not, however, distinguish itself from the near-identical sibling audit_declared_permissions, which an agent would have to disambiguate on its own.

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

Usage Guidelines2/5

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

There is no explicit when-to-use, when-not-to-use, or alternatives statement. The description never mentions audit_declared_permissions, assess_tool_permission, agent_security_assessment, or run_agent_security_scan despite several siblings occupying adjacent territory. Usage must be inferred entirely from the purpose sentence.

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.