Skip to main content
Glama

Server Details

Free, non-custodial MCP: validate bounded USDC/USDT payout plans, look up public transfers (read-only), reconcile payouts. Never holds funds or keys.

Ownership verified
Status
Healthy
Uptime
100.0% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
arults/railfi-mcp
GitHub Stars
0
ChatGPT
–
Claude
–

TDQS

A3.6/5.0

Scored across 4 tools

Disambiguation4/5

The four tools target distinct stages of one workflow (validate, create, fetch, reconcile), so an agent can generally pick correctly. However, create_payout_plan and validate_payout_plan both mention validation, which could cause brief hesitation about which to call first.

Naming Consistency5/5

All tools follow a clean verb_noun snake_case pattern (create_payout_plan, fetch_transfers, reconcile_payouts, validate_payout_plan). No convention mixing or vague verbs.

Tool Count5/5

Four tools is well-scoped for a specialized payout-plan/reconciliation domain, each covering a necessary pipeline stage. No bloat or redundancy in the count.

Completeness4/5

The validate -> create -> fetch -> reconcile pipeline covers the core lifecycle with clear hand-offs. Minor gap: no way to list, retrieve, or cancel previously created plans, which limits multi-run management but agents can work around it.

Available Tools

4 tools
create_payout_planCInspect

Validate a bounded stablecoin payout run (recipients, budget, time window) and return an approve-once pack the OWNER approves in their own wallet. RailFi never holds funds or keys and does not execute payments.

NameRequiredDescriptionDefault
csvNoOptional CSV: invoice_ref,recipient,amount[,note]
nameYes
linesNo
tokenYes
budgetYesMax total in token units, e.g. "1000"
networkYes
windowEndYesISO 8601
windowStartYesISO 8601

TDQS

C2.8/5.0
Behavior3/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 add meaningful context: RailFi never holds funds or keys and does not execute payments, and the OWNER approves in their own wallet. It still omits whether the plan is persisted (the name implies creation but the text only says "validate"), what happens to invalid plans, and idempotency/retry behavior.

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?

Two tightly written sentences with the capability front-loaded and the custody/execution disclaimer second. No filler, though the disclaimer could be compressed.

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 an 8-parameter, 6-required tool with no annotations and no output schema, the description communicates the safety model and the return artifact but leaves the two input modes, persistence semantics, and failure behavior undocumented. Adequate but with clear gaps.

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 coverage is only 50% across 8 parameters. The description gestures at recipients, budget and time window, but says nothing about the csv-vs-lines input choice, the required name field, or fee/format expectations beyond what the enum already encodes. It does not compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ("Validate a bounded stablecoin payout run") and names the inputs and output artifact (approve-once pack). However, it overlaps heavily with the sibling validate_payout_plan and never explains how create_payout_plan differs from it or from reconcile_payouts, leaving the agent unsure which tool to pick.

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 guidance, no prerequisites, and no mention of the alternatives (validate_payout_plan, reconcile_payouts, fetch_transfers). 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.

fetch_transfersAInspect

Read-only: look up public USDC/USDT Transfer events to the given recipients (optionally from one payer) over up to 10000 recent blocks via a public RPC. Output plugs straight into reconcile_payouts. No keys, no signing.

NameRequiredDescriptionDefault
fromNoOptional payer address
tokenYes
networkYes
toBlockNoDefault: latest block; default range 5000 blocks
fromBlockNo
recipientsYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does well: it declares read-only behavior, no keys and no signing, a public RPC dependency, and a bounded block window. It does not disclose rate limits or what happens if the block range is too wide, so a mutation-free safety profile is clear but operational limits are only partially covered.

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?

Three short sentences, front-loaded with the 'Read-only:' safety signal and the core action. The trailing 'No keys, no signing' largely restates read-only, which is mild redundancy, but nothing else is wasted.

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?

For a read-only fetch tool with no output schema and only 33% parameter coverage, the description supplies the essentials — safety posture, RPC source, block bounds, and downstream compatibility with reconcile_payouts. It could state the recipient cap and range defaults to be fully self-sufficient, but an agent has enough to call it correctly.

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 only 33%, so the description must compensate, and it adds meaning for the key inputs: recipients, the optional single payer ('from'), and the block window. Network and token are self-evident from their enums, but it omits the 50-recipient cap and the 5000-block default range that the schema mentions, leaving a small gap.

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 ('look up public USDC/USDT Transfer events to the given recipients') with the scope (optionally one payer, up to 10000 recent blocks, public RPC). It also names the downstream sibling (reconcile_payouts), so an agent can place it in the workflow without opening a schema.

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

Usage Guidelines4/5

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

The description gives clear context for use — read-only lookup whose 'output plugs straight into reconcile_payouts' — which frames it as the discovery step before reconciliation. It stops short of an explicit when/when-not rule or naming a sibling to prefer instead, but no sibling overlaps this data-fetching role, so the guidance is adequate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reconcile_payoutsBInspect

Match on-chain transfer records (recipient, amount, txHash) to plan lines and report which invoices are paid, unpaid, or unexpected transfers.

NameRequiredDescriptionDefault
linesYes
transfersYes

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses the output categories (paid, unpaid, unexpected transfers), which implies a read-only reconciliation pass, but says nothing about matching rules (exact vs. fuzzy amount/address matching), partial payments, multiple transfers per invoice, or whether anything is mutated.

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?

A single dense sentence, front-loaded with the action verb and ending on the concrete reporting outcome. No filler or redundant restatement of the tool name.

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 tool with no output schema, no annotations, and 0% schema coverage on two nested-array parameters, the description provides the input roles and output buckets but omits matching semantics, edge-case behavior, and any detail on returned structure. Adequate as a summary, thin as a specification.

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. It names three transfer fields (recipient, amount, txHash) and identifies `lines` as plan lines, but leaves `invoiceRef`, `note`, and critically the string-typed `amount` (units/decimals/format) undocumented, and does not clarify the shape of the nested arrays.

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 (Match) and both resources (on-chain transfer records, plan lines), plus the outcome (report paid/unpaid/unexpected). An agent can tell what it computes, though it never names or contrasts the sibling tools (validate_payout_plan, fetch_transfers) that occupy adjacent workflow roles.

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 statement, no prerequisites (e.g., a plan must exist first), and no indication of how this differs from validate_payout_plan or fetch_transfers. Usage is only weakly implied by the mention of matching transfers to plan lines.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_payout_planBInspect

Check a payout plan for bad addresses, bad amounts, duplicates, inverted window and over-budget totals.

NameRequiredDescriptionDefault
csvNoOptional CSV: invoice_ref,recipient,amount[,note]
nameYes
linesNo
tokenYes
budgetYesMax total in token units, e.g. "1000"
networkYes
windowEndYesISO 8601
windowStartYesISO 8601

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose the concrete checks performed (bad addresses, bad amounts, duplicates, inverted window, over-budget). However, it leaves the safety profile unstated: no indication whether this is read-only, whether it mutates or persists the plan, or how validation failures surface. Useful behavioral detail, but incomplete for an unannotated tool.

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?

A single dense sentence that front-loads the operation and lists checks compactly with no filler. Efficient and scannable, though notably terse given the tool's complexity.

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 an 8-parameter validation tool with no annotations and no output schema, the description explains what is checked but not what is returned, how failures are reported, or the relationship between the csv and lines inputs. Adequate minimum but leaves real gaps for correct invocation.

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 coverage is only 50%, so the description must compensate. It partially does: 'window' maps to windowStart/windowEnd, 'amounts' to amount, 'addresses' to recipient, and 'over-budget totals' to budget. But it adds no syntax or format guidance and says nothing about the csv vs lines alternatives or the token/network inputs.

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 (check/validate) and resource (payout plan) and enumerates exactly what is validated: addresses, amounts, duplicates, inverted window, over-budget totals. This clearly separates it from create_payout_plan, but it never names that sibling, so the differentiation is implicit rather than explicit.

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?

The description never states when to call this versus create_payout_plan or reconcile_payouts, nor any preconditions. A validation-before-creation workflow is inferable from the verb, but no explicit guidance, exclusions or ordering is provided.

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.

  1. 1 tool update
    • Addedfetch_transfers
  2. 3 tool updates
    • First observedcreate_payout_plan
    • First observedreconcile_payouts
    • First observedvalidate_payout_plan

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Keyless crypto payments for AI agents. One MCP call turns any wallet address into a non-custodial crypto payment link or tip jar, no API key and no account, with funds settling straight to your wallet at a 0% platform fee (USDC/USDT, BTC, LTC, DASH, DOGE, ZCASH).
    3
    47 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that enables AI agents to propose USDC payments on the Soroban blockchain with deterministic policy enforcement and injection protection, while providing payment status and attestation tools.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.