Smogon MCP
MCP server for competitive Pokemon, full dex data plus monthly Smogon usage statistics.
Description from the maker (original English)
Dry-run Solana txs before agents sign: exact balance changes, intent match, token traps. 25 free/day
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcpRun this in your terminal
claude mcp add --transport http solana-pulse-gateway https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"solana-pulse-gateway": {
"url": "https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"solana-pulse-gateway": {
"type": "http",
"url": "https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 7, 2026. The maker wrote them, not us; we show them as plain text.
check_txRun on every transaction before signing. Shows what each wallet gains and loses, blocks drainer tricks, and catches failures and expired blockhashes before you pay a fee. Decodes each step, dry-runs it on live mainnet, finds each wallet's SOL and token changes, and answers OK, RE
tx_matchesRun just before signing a transfer built from a request like "send 5 USDC to X", or a swap built for "swap 1 USDC for JUP". Confirms it moves exactly that token, amount and recipient, nothing more, or that the swap sells exactly that amount and pays the bought token back to you.
explain_txRun after a transaction lands or fails, to report what happened instead of guessing from logs. For failures it names the failing program and the fix. Reads a confirmed transaction: whether it worked, the fee, each wallet's SOL and token changes, the programs used, and why it fail
feeRun before setting a priority fee. Gives the price in the unit Compute Budget expects (micro-lamports per compute unit) and the total in SOL, so a unit mix-up never overpays. Turns what recent transactions paid for priority into three prices: cheap, normal, fast. Pass your transa
tx_versionRun when code can't find or read a transaction that is on chain, or before relying on code that reads other people's transactions. Says whether a transaction is legacy, version 0 or version 1, and which readers (RPC settings and library versions) can read it. Example: {"tx_id": "
build_txRun when an agent needs to send SOL or a token, or swap through Jupiter: it returns the unsigned transaction already checked, with ready_to_sign and the reasons. Sign only when ready_to_sign is true. Builds a SOL or token transfer, or a Jupiter swap, as an unsigned transaction wi
find_tokenRun whenever a user names a token ("buy BONK"). Tickers aren't unique; copycats reuse them. Never take an address from memory. Finds the real address for a ticker or name, ranks matches by verification and liquidity, and warns when copycats share the ticker. Example: {"name": "BO
token_safetyRun before buying, accepting or recommending a token. Answers SAFE, CAUTION or AVOID with exact reasons from chain and market data, plus rug_chance (high, with reasons, or null). Simulates a real holder selling, then checks if liquidity can be pulled, the creator's record, inside
walletRun when asked what a wallet holds or is worth. One call instead of balance + tokens + history; spam is left out of the total. SOL balance, top tokens with USD values, estimated total, and recent activity in one answer. Example: {"wallet": " "}. Cost: 25 free calls a day, then $0
traceRun when a wallet was drained or money went missing, or before trusting an address someone gave you: follows the money and flags sweeper, pass-through and lookalike-address patterns. Follows a wallet's money through its recent transactions: net SOL and token change and the other
balanceRun before sending SOL or paying fees, to confirm the wallet has enough. Never trust a remembered balance. A wallet's SOL balance, read from the chain. Example: {"wallet": " "}. Cost: 25 free calls a day, then $0.01 USDC per call (x402). Outputs explained: GET /api/tools/balance.
tokensRun to learn which tokens a wallet holds and how much. Ranked by USD value; unverified (often spam airdrop) tokens are flagged so you don't report fake holdings. Lists a wallet's tokens (SPL Token and Token-2022) with exact amounts, whether each is verified, and USD value where p
historyRun to see a wallet's recent activity or get a real transaction ID. Never make one up. Lists a wallet's latest transactions, newest first, whether each worked, and a plain error name for failures. Example: {"wallet": " ", "how_many": 5}. Cost: 25 free calls a day, then $0.01 USDC
blockhashRun just before building a transaction to sign. Blockhashes expire in about 60-90 seconds; this says how long is left. A fresh blockhash and how many blocks (and about how many seconds) are left before it expires. Example: {}. Cost: 25 free calls a day, then $0.01 USDC per call (
token_accountRun before sending a token. Tokens go to the recipient's token account, not their wallet, and models can't work that address out. Finds the token account (ATA) for a wallet and token with the token's real program, says if it exists, and prices creating it. Example: {"wallet": " "
whats_thisRun when unsure what an address is, before sending to it or passing it on. SOL sent to a token or program address can be lost for good. Says what any address is (wallet, token account, token, program, stake account and more) with its key facts. Example: {"address": "EPjFWdd5AufqS
convertRun before putting any token amount in a transaction. "5 USDC" is 5,000,000 raw units; wrong decimals send 1,000x too much or too little. Converts between normal amounts and raw units with the token's real on-chain decimals. Example: {"token": "SOL", "amount": "0.5"} gives 500000
why_failedRun whenever a Solana transaction or dry run fails, before retrying. Retrying blind burns fees. Turns a Solana error (hex code, log line or RPC error) into the plain cause and fix. Offline, no chain call. Example: {"error": "custom program error: 0x1771", "program": "JUP6LkbZbjS1
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account Timothymycompc, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 180 ms (HTTP 200)
No sign-in needed
Read 18 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (0.8.0) reached the registry 12 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Smogon MCP, Mempool MCP, SA Crypto Tax Rules
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP server for competitive Pokemon, full dex data plus monthly Smogon usage statistics.
Bitcoin network status: recommended fees, mempool backlog, blocks, addresses, difficulty retargets.
SA crypto tax: FIFO capital gains, tax estimates, CGT exclusion, capital vs revenue, CARF
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Transaction safety for AI agents on Solana. It checks transactions before an agent signs them, confirms a transaction does exactly what the agent meant, gives token safety verdicts, explains failures, and converts amounts with real on-chain decimals, so agents stop losing money to hallucinated values.
POST /mcp (Streamable HTTP) or /mcp/sseio.github.Timothymycompc/solana-pulse-gatewaybenchmark/score.ts scores any other checker on the same cases.Automated accounts fail on Solana far more often than people expect: a study of over 1.5 billion failed transactions found bots failing 58% of the time (Why Does My Transaction Fail?, ISSTA 2025). For AI agents the usual causes are mistakes a model makes confidently: wrong decimals, copycat tickers, invented addresses or signatures, expired blockhashes, priority fees in the wrong unit, and signing transactions whose effects nobody checked. Each tool here removes one of those mistakes and returns a verdict, the reasons and a fix.
Since 2026-09-15 Solana has version 1 transactions (41.9% of non-vote transactions in sampled mainnet blocks, Oct 16-30). Code that asks the RPC for version 0 at most gets error -32015 on them and silently misses payments, deposits and history. We report each case with the code line, a real mainnet transaction and the one-line fix. Fixed so far:
| Project | What broke | Fix |
|---|---|---|
| Agent402 | Solana payments sent as version 1 reported as not found | Fixed by the maintainer |
| elizaOS | Cloud wallet deposits sent as version 1 couldn't be verified | PR #38116 |
| UltiMafia | Invoices paid with version 1 never matched | PR #3128 |
| rotki | Version 1 transactions silently skipped in users' history | PR #13511 |
| taurvia | Version 1 activity shown as a blank "Transaction" | PR #93 |
| sol-parser-sdk-nodejs | parseTransactionFromRpc failed on version 1 | PR #5 |
Hitting the error yourself? The fix page has the fix for each library, which versions can read version 1 (tested on mainnet), and a live checker.
| Tool | Prevents | Price |
|---|---|---|
check_tx | Signing a drainer or a transaction that will fail: shows each wallet's exact gains and losses, flags approvals, authority changes and account closures, expired blockhashes and fee overpay | $0.02 |
build_tx | Hand-built transactions nobody checked: builds a SOL or token transfer, or a Jupiter swap, unsigned, then runs check_tx and tx_matches on it and says whether it's ready to sign. Never signs or sends | $0.03 |
tx_matches | A transaction that differs from what was asked ("send 5 USDC to X", or "swap 1 USDC for JUP"): compares token, exact amount, recipient and sender, checks a swap pays the bought token back to you, and flags anything extra | $0.02 |
token_safety | Buying scam tokens: SAFE / CAUTION / AVOID from a simulated sale by a real holder, whether the liquidity can be pulled, the creator's rug record, insider wallet networks, value vs. liquidity, same-ticker copies, mint and freeze powers, Token-2022 traps, verification, liquidity, who holds it and age, plus a separate rug_chance with its reasons | $0.02 |
explain_tx | Guessing from logs: real balance changes by wallet, programs used, and why it failed | $0.01 |
find_token | Copycat tickers: the verified token address for a ticker, with copycats counted | $0.01 |
fee | Fee unit mistakes: cheap, normal and fast prices in micro-lamports per compute unit, plus the exact cost in SOL | $0.01 |
wallet | Totals inflated by spam airdrops: holdings with USD values, priced vs unpriced, verified vs unverified | $0.01 |
trace | Guessing where money went after a drain: each transaction's net SOL and token change and the other side, where most of it went (and whether that's a wallet or program-controlled), and drain patterns with the transactions that show them (swept with someone else paying the fee, passed straight through, emptied, lookalike-address dust, dust from strangers), and a ready report: the problem in one line, every transaction with its Solscan link and the caller's local time, a confidence level with its reason, what it points to, and next steps | $0.02 |
convert | Decimal errors: normal amounts to exact raw units using the token's real decimals | $0.01 |
why_failed | Blind retries: Solana error codes in plain words, with a fix | $0.01 |
whats_this | Sending to the wrong kind of address: wallet, token account, token, program and more | $0.01 |
token_account | Wrong token accounts: Token-2022 aware address, whether it exists, and what creating it costs | $0.01 |
balance | A balance remembered from earlier in a chat: the live SOL balance | $0.01 |
tokens | Fake holdings: tokens held, ranked by USD value, with unverified (often spam) tokens flagged | $0.01 |
history | Made-up transaction IDs: a wallet's recent transactions, real and checkable | $0.01 |
blockhash | Expired blockhashes: a fresh one with the seconds it has left | $0.01 |
tx_version | "Transaction not found" for a transaction that is on chain: says whether it is legacy, version 0 or version 1, and which RPC settings and library versions can read it | $0.01 |
Every input and returned field is documented in plain words: what an input is looking for and where to get it, what each returned value is and how it's worked out (GET /api/tools/ ). The tools and their fields were renamed in October 2026 to short, plain names (preflight_transaction became check_tx, transaction became tx, walletChanges became balance_changes). The old tool names and input names still work.
Prices apply only after a tool's 25 free calls for the day.
Every tool documents each input (with how to get it) and each returned field (with what it means and exactly how it is computed): GET /api/tools and GET /api/tools/ . GET /api/tools/ /example returns ready-to-run inputs built from live mainnet data.
HTTP:
curl -X POST https://solana-pulse-gateway-1021990235790.us-central1.run.app/api/tools/convert \
-H 'content-type: application/json' -d '{"token":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","amount":"5"}'
MCP, at https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcp:
claude mcp add --transport http solana-pulse https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcpgemini mcp add -s user --transport http solana-pulse https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcp~/.gemini/config/mcp_config.json, { "mcpServers": { "solana-pulse": { "serverUrl": "https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcp" } } }~/.cursor/mcp.json) and most other clients that take a URL: { "mcpServers": { "solana-pulse": { "url": "https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcp" } } }code --add-mcp '{"name":"solana-pulse","type":"http","url":"https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcp"}', or .vscode/mcp.json with servers and "type": "http"~/.codeium/windsurf/mcp_config.json): { "mcpServers": { "solana-pulse": { "serverUrl": "https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcp" } } }cline_mcp_settings.json): { "mcpServers": { "solana-pulse": { "type": "streamableHttp", "url": "https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcp" } } }codex mcp add solana-pulse --url https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcp{ "context_servers": { "solana-pulse": { "url": "https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcp" } } }opencode.json): { "mcp": { "solana-pulse": { "type": "remote", "url": "https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcp" } } }Solana Agent Kit (SendAI): a plugin in agent-kit/ (solana-agent-kit-plugin-pulse on npm) turns each tool into an action (PULSE_CHECK_TX, PULSE_TOKEN_SAFETY, ...) and a method (agent.methods.pulseCheckTx(agent, { tx })). Its tool list is generated from the same registry (npm run agent-kit), and tests/agent-kit.test.ts fails if it falls behind.
Agent templates: templates/ has five small agents to fork (Vercel AI SDK, Claude Agent SDK, LangChain, elizaOS, Coinbase AgentKit). Each one checks every transfer with check_tx (must be OK) and tx_matches (must be MATCH) before signing, refuses when Pulse can't answer, and is a dry run by default.
Only the beginning is shown; read the rest in the repo