Skip to main content
Glama

Server Details

Failed Solana transaction in, working transaction out. Exact cause, rebuilt tx, verifiable repair.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.1/5.0

Scored across 3 tools

Disambiguation4/5

repair_transaction is clearly distinct (returns a rebuilt tx), but diagnose_transaction and explain_error both explain failure causes and could be confused; the descriptions resolve this by noting explain_error is for when you only have a code. Boundaries are mostly clear with a minor overlap in the error-explanation space.

Naming Consistency5/5

All three tools follow a consistent snake_case verb_noun pattern: diagnose_transaction, explain_error, repair_transaction. The convention is predictable and readable throughout.

Tool Count4/5

Three tools is lean but defensible for a narrowly scoped transaction diagnosis-and-repair server. Each tool earns its place with a distinct role, though the surface is on the small side.

Completeness4/5

The set covers the full lifecycle for its purpose: find the failure (diagnose), interpret a raw error code (explain_error), and produce a working replacement (repair). No obvious dead ends, though there is no standalone simulation/inspection tool for arbitrary non-failing transactions.

Available Tools

3 tools
diagnose_transactionDiagnose a failed Solana transactionAInspect

Explains why a transaction that landed on mainnet failed: the exact failing instruction in the call tree, the named error, its cause, and how to fix it. Read-only and fast. Use repair_transaction when you want a working transaction back.

ParametersJSON Schema
NameRequiredDescriptionDefault
signatureYesTransaction signature or explorer URL.

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It usefully discloses a read-only, fast profile and the prerequisite that the transaction actually landed on mainnet, but says nothing about auth requirements, rate limits, or behavior for pending/never-landed signatures.

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?

Two tight sentences with zero filler; the capability and its outputs are front-loaded, and the routing hint to repair_transaction is placed last where it belongs.

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?

With no output schema, the description does the work of describing what comes back (failing instruction, error name, cause, fix), which is the right call. The remaining gap is behavioral: an agent still lacks auth/rate-limit context that annotations would normally supply.

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?

Only one parameter and the schema already documents it fully (100% coverage), including the explorer-URL alternative form. The description adds no format or syntax detail beyond the schema, so the baseline 3 applies.

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 (diagnose a failed transaction) and enumerates the exact outputs: failing instruction in the call tree, named error, cause, and fix. It also names the sibling it is not (repair_transaction), so an agent can separate the diagnostic path from the repair path without reading schemas.

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?

Gives a clear triggering condition (a transaction that landed on mainnet and failed) and explicitly routes to repair_transaction when the goal is a working transaction. It does not, however, address how it differs from the other close sibling, explain_error, leaving some selection ambiguity.

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

explain_errorExplain a Solana program error codeAInspect

Looks up what a custom program error code means for a given program, using 1,800+ named errors from major Solana programs plus the runtime's own errors. Use it when you only have a code such as 6001 or 0x1771 from a simulation or an RPC response.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesError code as a number, or a hex string like 0x1771.
programIdYesBase58 address of the program that raised the error.

TDQS

A3.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. It usefully states the lookup's coverage (1,800+ named errors, major programs plus runtime errors), which tells the agent how authoritative the answer will be. However, it says nothing about read-only behavior, what happens for an unknown code, or whether programId matters for runtime errors.

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?

Two sentences, zero waste, and the core purpose is front-loaded before the usage cue. Every clause earns its place by either defining the capability or qualifying the input it accepts.

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 two-parameter lookup with 100% schema coverage and no annotations, the description covers purpose, input shape, and data coverage. With no output schema, a brief note on the returned form (or behavior on an unknown code) would close the remaining gap, but nothing essential to invoking it correctly is missing.

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 100%, so both parameters are already documented, including the 'number or hex string like 0x1771' format. The description's re-use of 6001/0x1771 as examples adds only marginal reinforcement and no new syntax or constraint detail. Baseline 3 applies 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.

Purpose4/5

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

States a specific verb and resource: 'Looks up what a custom program error code means for a given program.' It also discloses the data backing the lookup (1,800+ named errors plus runtime errors). It doesn't name the sibling tools, but the 'when you only have a code' framing implicitly separates it from diagnose_transaction, which operates on a whole transaction.

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?

'Use it when you only have a code such as 6001 or 0x1771 from a simulation or an RPC response' gives a concrete triggering condition with example inputs. No explicit when-not or named alternative (e.g. diagnose_transaction) is given, so it stops short of full routing guidance.

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

repair_transactionRepair a Solana transactionAInspect

Give it a Solana transaction that failed, or one you are about to send. It finds the cause and returns a rebuilt UNSIGNED transaction that has been simulated against live mainnet state to prove it passes. Fixes expired blockhashes, compute-unit limits, priority fees, loaded-data limits, slippage on plain Jupiter swaps (fresh quote, same tolerance), and slippage on direct Pump.fun, PumpSwap, Raydium AMM v4, Meteora DBC and Meteora DAMM v2 swaps (only the limit moves, never more than 25% against the user). Handles legacy, v0 and version 1 (SIMD-0385) transactions and durable nonces. When the failure cannot be fixed by rebuilding (not enough funds, a private program's own error), it says so and explains why instead of returning something that would fail again. Pass exactly one of transaction or signature. Sign the returned transaction with your own key and send it within about 60 seconds.

ParametersJSON Schema
NameRequiredDescriptionDefault
signatureNoSignature (or explorer URL) of a transaction that already landed on mainnet and failed.
transactionNoBase64 serialized transaction, signed or unsigned. Use this before sending, or after a send failed.

TDQS

A4.6/5.0
Behavior5/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 so richly: the returned transaction is UNSIGNED and must be signed and sent within ~60 seconds, it has been simulated against live mainnet state, exactly one input is accepted, and specific failure classes (insufficient funds, private program errors) are declared unfixable rather than silently re-broken. It also bounds the slippage change to at most 25% against the user.

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 dense but front-loaded paragraph that opens with what the tool does and closes with the actionable constraint (sign and send within ~60s). The rescue-mechanism inventory (blockhashes, compute units, fees, slippage per venue) is long but each item is decision-relevant, so little is wasted.

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 repair tool with no output schema and no annotations, the description covers inputs, return artifact (rebuilt unsigned transaction), post-call obligations, and non-repairable cases. An agent has everything needed to call it correctly and handle the result.

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 the mutual-exclusivity constraint ('pass exactly one of transaction or signature') and the timing distinction (signature = already landed and failed; transaction = signed or unsigned, before or after a send) that the schema alone does not express.

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 ('repair ... a Solana transaction'), then sharpens it: finds the cause and returns a rebuilt, unsigned, mainnet-simulated transaction. This clearly separates it from diagnose_transaction and explain_error, which only tell you what went wrong rather than producing a fixed artifact.

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?

Gives concrete usage conditions ('a transaction that failed, or one you are about to send', before or after a send) and an explicit exclusion ('when the failure cannot be fixed ... it says so'). It never names the sibling tools diagnose_transaction or explain_error, so the agent gets no explicit routing guidance for the diagnose-vs-repair choice.

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. 3 tool updates
    • First observeddiagnose_transaction
    • First observedexplain_error
    • First observedrepair_transaction

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Extends Solana debugging to AI agents via MCP: decode transaction failures, trace CPI trees, and profile compute for any Solana transaction.
    3 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    On-chain delivery receipts for x402 AI-agent payments on Solana: anchors SHA-256 digests of delivered content to a PDA after settlement; buyers verify proof of delivery offline with zero trust in the seller. Live MCP endpoint + npm bridge.
    1
    3
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Deterministic failure diagnosis for Soroban transactions and simulations, providing a normalized diagnosis with ranked causes, evidence, and fixes via CLI, MCP, or library.
    1
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources