Skip to main content
Glama

Repair a Solana transaction

repair_transaction

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.

Input Schema

TableJSON 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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources