Skip to main content
Glama

N9T2 XRPL Agent Gateway

n9t2_xrpl_subscribe

Read-only

Open a bounded native XRPL WebSocket subscription and capture live events for selected streams, accounts, proposed transactions, or order books. Use this when an agent needs event-driven updates instead of a one-time snapshot. The tool sends the XRPL subscribe command, collects events until duration_seconds expires or max_events is reached, then closes the connection and returns the subscription acknowledgement plus captured events. When subscription inputs are omitted, the default is the ledger stream for 3 seconds with up to 25 events. This is read-only: it does not submit transactions or modify ledger state. Do not request the admin-only peer_status stream unless the upstream XRPL server permits it.

Input Schema

NameRequiredDescriptionDefault
booksNoOptional list of XRPL order-book subscription descriptors.
streamsNoOptional XRPL stream names such as ledger or transactions.
accountsNoOptional list of XRPL classic account addresses whose activity should be streamed.
max_eventsNoMaximum number of events to capture before returning. Default is 25.
duration_secondsNoHow many seconds the bounded WebSocket subscription remains open. Default is 3.
accounts_proposedNoOptional list of XRPL accounts for proposed transaction events.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "operation": {
      -      "title": "Operation",
      -      "type": "string"
      -    },
      -    "result": {
      -      "additionalProperties": true,
      -      "title": "Result",
      -      "type": "object"
      -    },
      -    "service": {
      -      "title": "Service",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "service",
      -    "operation",
      -    "result"
      -  ],
      -  "title": "_XRPLServiceOutput",
      -  "type": "object"
      -}New value: +null
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "operation": {
      +      "title": "Operation",
      +      "type": "string"
      +    },
      +    "result": {
      +      "additionalProperties": true,
      +      "title": "Result",
      +      "type": "object"
      +    },
      +    "service": {
      +      "title": "Service",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "service",
      +    "operation",
      +    "result"
      +  ],
      +  "title": "_XRPLServiceOutput",
      +  "type": "object"
      +}
  3. Changed6 schema fields changed
    • addedInput schema / properties / accounts / description
      Added value: +"Optional list of XRPL classic account addresses whose activity should be streamed."
    • addedInput schema / properties / accounts_proposed / description
      Added value: +"Optional list of XRPL accounts for proposed transaction events."
    • addedInput schema / properties / books / description
      Added value: +"Optional list of XRPL order-book subscription descriptors."
    • addedInput schema / properties / duration_seconds / description
      Added value: +"How many seconds the bounded WebSocket subscription remains open. Default is 3."
    • addedInput schema / properties / max_events / description
      Added value: +"Maximum number of events to capture before returning. Default is 25."
    • addedInput schema / properties / streams / description
      Added value: +"Optional XRPL stream names such as ledger or transactions."
  4. Added

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=true, and idempotentHint=false, so safety is largely covered. The description adds real lifecycle context beyond that: it sends the subscribe command, collects until duration_seconds expires or max_events is reached, then closes the connection and returns the ack plus events, and it restates the read-only constraint. It stops short of auth requirements or rate-limit detail, so not 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.

Conciseness4/5

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

Front-loaded with purpose and the when-to-use rule, then lifecycle, then defaults, then caveats. It is a touch long at five sentences, but each sentence carries distinct information (purpose, routing, mechanics, defaults, exclusion) with no filler.

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?

With no output schema, the description carries the return-value burden and does so ('returns the subscription acknowledgement plus captured events'). Combined with the bounding mechanics, defaults, and read-only note, an agent has everything needed to invoke it correctly without opening the schema.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds meaning the schema does not: when subscription inputs are omitted the effective default is the ledger stream for 3 seconds with up to 25 events. The schema only shows per-field defaults (streams default null), so the description usefully resolves the composite default.

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 (open a subscription) and resource (bounded native XRPL WebSocket subscription) with explicit scope: streams, accounts, proposed transactions, or order books. It is unmistakably distinguished from the sibling one-time snapshot tools (get_*/list_*) by naming the streaming behavior directly in the second sentence.

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?

Gives an explicit selection rule: 'Use this when an agent needs event-driven updates instead of a one-time snapshot,' which routes the agent against every sibling tool. It also provides a negative/exclusion guideline ('Do not request the admin-only peer_status stream unless the upstream XRPL server permits it') and clarifies the default behavior when inputs are omitted.

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