TxWhy
Failed Solana transaction in, working transaction out. Exact cause, rebuilt tx, verifiable repair.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"txwhy": {
"url": "https://txwhy.vercel.app/api/mcp"
}
}
}远程端点
https://txwhy.vercel.app/api/mcpstreamable-http它能做什么
工具清单
工具(3)
🟡repair_transaction(transaction, signature)
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.
输入模式
{
"type": "object",
"properties": {
"transaction": {
"description": "Base64 serialized transaction, signed or unsigned. Use this before sending, or after a send failed.",
"type": "string"
},
"signature": {
"description": "Signature (or explorer URL) of a transaction that already landed on mainnet and failed.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢diagnose_transaction(signature)
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.
输入模式
{
"type": "object",
"properties": {
"signature": {
"type": "string",
"description": "Transaction signature or explorer URL."
}
},
"required": [
"signature"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢explain_error(programId, code)
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.
输入模式
{
"type": "object",
"properties": {
"programId": {
"type": "string",
"description": "Base58 address of the program that raised the error."
},
"code": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "string"
}
],
"description": "Error code as a number, or a hex string like 0x1771."
}
},
"required": [
"programId",
"code"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社区
证据