protogrid

Search / io.github.SUNDRAM07/txwhy

TxWhy

R0· no sign-in

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

v0.2.0 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality83good
Trust80of 100
Uptime, 30 days100%
Latency p50495 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "txwhy": {
      "type": "http",
      "url": "https://txwhy.vercel.app/api/mcp"
    }
  }
}
claude mcp add --transport http txwhy https://txwhy.vercel.app/api/mcp
[mcp_servers.txwhy]
url = "https://txwhy.vercel.app/api/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "txwhy": {
      "type": "remote",
      "url": "https://txwhy.vercel.app/api/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "txwhy": {
      "type": "http",
      "url": "https://txwhy.vercel.app/api/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=txwhy&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vdHh3aHkudmVyY2VsLmFwcC9hcGkvbWNwIn0%3D"
}
{
  "servers": {
    "txwhy": {
      "type": "http",
      "url": "https://txwhy.vercel.app/api/mcp"
    }
  }
}
{
  "mcpServers": {
    "txwhy": {
      "httpUrl": "https://txwhy.vercel.app/api/mcp"
    }
  }
}
extensions:
  "txwhy":
    enabled: true
    name: "txwhy"
    type: streamable_http
    uri: "https://txwhy.vercel.app/api/mcp"
    timeout: 300

Quality 83 / 100good

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene71 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • fail
    tools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: explain_error (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); repair_transaction (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); diagnose_transaction (readOnlyHint, destructiveHint, idempotentHint, openWorldHint)
  • pass
    tools.token_costabout 605 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

3 tools, about 605 tokens to load them all · tool set 95d54d944599 · checked 2026-10-19 10:20 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 80 / 100

no-repository
provenance45
liveness100
freshness100
hygiene80

+website +reachable +uptime-100% +updated-11d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://txwhy.vercel.app/api/mcp streamable-httpnoneyes100%495 ms2026-07-282026-10-19

Tools (3)

diagnose_transactionExplains 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.
explain_errorLooks 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.
repair_transactionGive 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.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.SUNDRAM07/txwhy",
  "title": "TxWhy",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://txwhy.vercel.app/api/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.2.0",
  "websiteUrl": "https://txwhy.vercel.app",
  "description": "Failed Solana transaction in, working transaction out. Exact cause, rebuilt tx, verifiable repair."
}