Skip to main content
Glama

middleware_submit_transaction

DestructiveIdempotent

Middleware admin only: submit a middleware transaction using action/input from middleware_get_capabilities. For account actions the selected enabled middleware account is used. For domain actions supply the middleware domain_id. Choose account_id from middleware_get_capabilities when several accounts are enabled. Every submission needs a stable idempotency_key: retry an identical request with the SAME key. 202/queued means accepted, not completed; poll middleware_get_transaction. Paid or destructive actions require explicit user intent. These operator orders do not use the ConnectReseller customer wallet or local domain portfolio.

Input Schema

NameRequiredDescriptionDefault
inputYes
actionYes
domain_idNo
account_idNo
idempotency_keyYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A5/5.0
Behavior5/5

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

Annotations already flag destructive/openWorld/idempotent, but the description adds what they can't: admin-only authorization, asynchronous acceptance semantics ('202/queued means accepted, not completed'), the retry rule for idempotency keys, and the explicit scope exclusion that these orders bypass the ConnectReseller customer wallet and local domain portfolio.

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

Conciseness5/5

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

The authorization constraint and capability dependency are front-loaded, and each following sentence adds a distinct operational fact (account vs domain routing, key reuse, async polling, intent requirement, scope). No sentence restates another or repeats structured data.

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

Completeness5/5

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

For a destructive, open-world, asynchronous transaction tool with a 0%-covered schema, the description supplies everything else needed: prerequisites, parameter sourcing, retry policy, and how to confirm completion. An output schema exists, yet the description still adds the 202-vs-completed distinction that matters for agent control flow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the nested input object is untyped, so the description carries the full burden and does so: it names the source of action/input values, explains when domain_id vs account_id apply, and defines idempotency_key's stability requirement on retries. This compensates well for the schema's silence.

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 ('submit a middleware transaction') and immediately scopes it to middleware admin operators, which separates it from the many read-side middleware_* siblings. It also names the sibling it depends on (middleware_get_capabilities) and the sibling it hands off to (middleware_get_transaction).

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?

Explicit routing rules: action/input come from middleware_get_capabilities, domain actions need domain_id, account actions use the selected enabled account, and account_id is only needed when several accounts are enabled. It also tells the agent to poll middleware_get_transaction after a 202/queued and to require explicit user intent for paid or destructive actions.

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.