SCRIPTMASTERLABS — GatePay
Server Details
Policy-gated Arc payment routing: hard caps, signed mandates, hash-chained proof.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
The core split is clear: gatepay_quote explicitly settles nothing and writes no ledger entry, while gatepay_route executes and requires a route key, so dry-run vs. real movement is well delineated. The one soft overlap is gatepay_policy vs. gatepay_status, since status also returns an 'active policy summary' and route-auth configured state, which could tempt an agent to call status when it wants policy detail.
All names share a predictable gatepay_ prefix with short snake_case suffixes, which is easy to scan. The only minor deviation is grammatical role: policy, quote and status are nouns while route is a verb, so the suffix pattern is readable but not strictly uniform verb_noun.
Four tools is well-scoped for a payment-routing surface: inspect policy, dry-run a quote, execute a payout, and check service health. Each tool earns its place and there is no filler or redundancy.
The pre-execution lifecycle (policy → quote → route) and status/health are covered, but the surface dead-ends after execution: there is no tool to query ledger entries, list past payouts, or inspect settlement/Arc records for a specific transaction, even though status claims to check ledger integrity. Read-only policy inspection with no explicit allowlist view also leaves a gap, though the missing write operations are plausibly intentional.
Available Tools
4 toolsgatepay_policyARead-onlyIdempotentInspect
The active GatePay routing policy: live rail/network, per-transaction and daily caps, settled-per-hour limit, target allowlist state and the 50 bps fee. Free; moves no money.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds two genuinely new behavioral facts — that the call is free and moves no money — but says nothing about whether the policy is a live snapshot, how often it changes, or whether it varies per account/workspace.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the resource and its fields front-loaded, plus a short safety/cost tag. No filler, nothing repeated from the annotations or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must stand in for return values, and it does so by naming the concrete fields an agent will receive. It stops short of noting scope (per-account vs global) or freshness, which would matter for a policy-read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. The description correctly implies a no-argument call that returns the ambient policy, and there is nothing further a parameter discussion could add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and enumerates its contents: live rail/network, per-transaction and daily caps, settled-per-hour limit, allowlist state, and the 50 bps fee. An agent can tell it is a read of the current routing configuration, but nothing distinguishes it from gatepay_status or gatepay_route, which are never mentioned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus gatepay_quote, gatepay_route, or gatepay_status. 'Free; moves no money' tells the agent about cost, not about the selection condition, so an agent must infer that it should check policy before routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gatepay_quoteARead-onlyIdempotentInspect
Quote a payout: runs the same policy evaluation POST /v1/route would, returning allow/deny, the reasons and the fee split. Settles NOTHING and writes NO ledger entry.
| Name | Required | Description | Default |
|---|---|---|---|
| memo | No | Optional memo recorded with the request payload. | |
| amount | Yes | Amount in USDC. | |
| destination | Yes | Destination wallet address on Arc. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds rich behavioral context beyond the read-only/idempotent annotations: it specifies that the tool returns allow/deny, reasons, and a fee split, and explicitly states it 'settles NOTHING and writes NO ledger entry.' This gives the agent full confidence about side-effect-free behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that delivers purpose, return values, and the critical no-side-effect guarantee with zero wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only quote tool with full schema descriptions and no output schema, the definition covers what it does, what it returns, and what it explicitly does not do. Nothing essential for correct invocation is missing, and it even clarifies the return shape despite no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the input schema already documents all three parameters thoroughly. The description does not add any parameter-specific details beyond what the schema provides, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (quote) and resource (payout), and clearly distinguishes this from the mutating sibling gatepay_route by noting it runs the same policy evaluation but settles nothing. An agent can immediately tell this is a dry-run quote tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly implies usage context—run this to preview policy decisions without committing—by contrasting with gatepay_route's behavior. However, it does not explicitly say 'use gatepay_route to actually execute' or 'use this when you only need a quote,' leaving a small inference gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gatepay_routeADestructiveInspect
Execute a payout through the existing GatePay route logic (same caps, allowlist, ledger and Arc settlement path as POST /v1/route). Executes ONLY when the MCP HTTP request carries the X-GatePay-Route-Key header; a missing or wrong key is a hard refusal before any policy, ledger or settlement step runs.
| Name | Required | Description | Default |
|---|---|---|---|
| memo | No | Optional memo recorded with the request payload. | |
| amount | Yes | Amount in USDC. | |
| destination | Yes | Destination wallet address on Arc. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint, non-idempotent and openWorld, so the safety profile is known; the description adds real value on top by disclosing the auth requirement and the exact failure ordering (refusal before any policy, ledger or settlement step runs). It omits what happens on a successful settlement (transaction identifier, retry behavior for a non-idempotent money movement), which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, and the execution scope is front-loaded ahead of the authorization precondition. Every clause carries distinct information: what runs, and what must be true for it to run.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent financial execution with no output schema, the description leaves two things the agent needs unaddressed: what a successful call returns/how to confirm settlement (gatepay_status exists but is never referenced), and what to do about retries given non-idempotency. The auth and failure-ordering details are strong, but result handling is a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so amount (USDC, exclusiveMinimum 0), destination (Arc wallet) and memo are already fully documented. The description adds no format, precision or constraint details beyond the schema, which is the expected baseline-3 outcome when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Execute a payout through the existing GatePay route logic') and grounds it in the concrete POST /v1/route semantics (caps, allowlist, ledger, Arc settlement). It stops short of differentiating itself from siblings like gatepay_quote or gatepay_status, so an agent must infer which tool is the execution step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a hard precondition (the X-GatePay-Route-Key header must be present) which is genuinely useful for gating a call. However, it never says when to use this versus gatepay_quote or gatepay_policy, nor does it suggest a workflow such as quoting first or checking status after, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gatepay_statusARead-onlyIdempotentInspect
GatePay service status: health, route-auth configured state, active policy summary, mock-settlement state and ledger integrity. Free; moves no money.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered; the description adds genuinely new context by stating the call is free and 'moves no money', plus disclosing which internal state is inspected (ledger integrity, mock-settlement). It stops short of saying what a degraded/unhealthy response looks like, but it meaningfully exceeds the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence lists the reported facets, then closes with the cost/safety caveat. Every clause carries information; there is no filler or restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description carries the burden of describing the return content, and the facet enumeration does that well. The only remaining gap is that it doesn't say how failures or unconfigured states are represented in a status snapshot.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is fully closed (additionalProperties: false), so there is nothing for the description to disambiguate. Per the zero-parameter baseline this is a 4; no parameter-relevant detail is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (GatePay service status) and enumerates exactly the facets reported: health, route-auth configured state, active policy summary, mock-settlement state, ledger integrity. That is far more informative than a generic 'get status', and the read-only diagnostic nature clearly separates it from the action siblings (gatepay_policy, gatepay_quote, gatepay_route), though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'Free; moves no money' hints that it can be called casually for pre-flight checks, and the field list implies diagnostic use. There is no explicit when-to-use guidance, no statement of alternatives, and no mention of when a different sibling (e.g. gatepay_policy) should be called instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
gatepay_policy - First observed
gatepay_quote - First observed
gatepay_route - First observed
gatepay_status
Related MCP Connectors
Agent-native MCP for governed commerce, x402 payments, paid capabilities, and verifiable receipts.
Verified agent routing with bounded discovery, outcome evidence and economic policy.
Human-governed Arc agent services, live demand signals, quotes, feedback, and USDC commerce.
Payment-rail-independent intent-to-effect integrity for consequential agent actions.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceDeterministic, auditable payment policy enforcement for AI agents. It provides pre-action authorization with scopes, budgets, allowlists, and signed mandates via an MCP server.MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to propose wallet payments while a local, human-authored policy decides whether each transaction is approved, requires human confirmation, or is refused, and records every decision in a signed, append-only ledger.-

capline-mcpofficial
AlicenseAqualityDmaintenanceEnables AI agents to make payments with strict spending limits enforced by signed mandates, preventing unauthorized fund movement beyond predefined caps and allowlists.410 npmMIT- AlicenseAqualityCmaintenanceCryptographic proof of consent for AI agents. Sign before you act. Policy engine enforces spending caps, action whitelists, and escalation rules. Independently verifiable by anyone.102Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.