Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Solana Pulse: agent safety layer

by Timothymycompcversion 0.8.0i★ –iRuns in the cloud
Registry nameio.github.Timothymycompc/solana-pulse-gateway

Install

Overview

Description from the maker (original English)

Dry-run Solana txs before agents sign: exact balance changes, intent match, token traps. 25 free/day

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs in the cloud
  • Transport: Streamable HTTP
  • Category: Crypto & blockchain

Install

Pick the AI app you use, then copy the settings.

Before you install

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:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcp

Run this in your terminal

claude mcp add --transport http solana-pulse-gateway https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcp

Open in Cursor

Or copy the settings yourself

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

Open in VS Code

Or copy the settings yourself

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:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcp

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

What it can do

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_tx

    Run 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_matches

    Run 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_tx

    Run 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

  • fee

    Run 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_version

    Run 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_tx

    Run 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_token

    Run 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_safety

    Run 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

  • wallet

    Run 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

  • trace

    Run 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

  • balance

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

  • tokens

    Run 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

  • history

    Run 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

  • blockhash

    Run 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_account

    Run 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_this

    Run 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

  • convert

    Run 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_failed

    Run 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

Basic checksi

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

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account Timothymycompc, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • ✓ Pass

    Endpoint responds

    Responded in 180 ms (HTTP 200)

  • – Not applicable

    Sign-in with OAuth

    No sign-in needed

  • ✓ Pass

    No hidden instructions in tool descriptions

    Read 18 tool descriptions and found no hidden instructions to the AI

Compared with others in Crypto & blockchaini

  • More stars than 0% of the other 1615 servers in this category
  • Published to the registry more recently than 82% of the other 1615 servers in this category
  • Basic checks equal to or better than 100% of the other 1615 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Solana Pulse: agent safety layer safe?

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.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

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.

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.8.0) reached the registry 12 days ago.

Which apps can use it?

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.

What can I use instead?

In the same category: Smogon MCP, Mempool MCP, SA Crypto Tax Rules

Alternatives

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

Smogon MCP

MCP server for competitive Pokemon, full dex data plus monthly Smogon usage statistics.

by mrfentmenVery new↓ 53/wkUpdated today

Runs on your computer

Mempool MCP

Bitcoin network status: recommended fees, mempool backlog, blocks, addresses, difficulty retargets.

by mrfentmenVery new↓ 184/wkUpdated today

Runs on your computer

SA Crypto Tax Rules

SA crypto tax: FIFO capital gains, tax estimates, CGT exclusion, capital vs revenue, CARF

by aiagenttools.co.zaEarlyUpdated today

Runs in the cloud✓ aiagenttools.co.za

README from the maker

Open the README

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.

Solana Pulse

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.

  • Add it to your AI in a minute (Claude, ChatGPT, Cursor, VS Code, Codex and more): step-by-step on the Connect page
  • Live: https://solana-pulse-gateway-1021990235790.us-central1.run.app
  • MCP endpoint: POST /mcp (Streamable HTTP) or /mcp/sse
  • Listed in the official MCP Registry as io.github.Timothymycompc/solana-pulse-gateway
  • Open source (MIT) and free to use: every tool gives 25 free calls a day
  • Built on our principles: real data with its source, "unknown" instead of a guess, and no false data on the chain. A safety check doesn't make a token safe, and it can't. It looks for the known ways people get robbed with a token. "SAFE" really means "none of the traps we know about are present." Every rule exists because it matches a real scam.

Proof

  • 9 of 9 attacks caught, no false alarm: 10 cases built from real mainnet accounts and simulated against live mainnet state (wrong recipient, wrong amount, wrong token, hidden transfer, balance drain, malicious program, replayed payment...). Benchmark; benchmark/score.ts scores any other checker on the same cases.
  • No BLOCK on 200 ordinary mainnet transactions that really worked: 80 of 80 transfers and 26 of 27 swaps MATCH. How it was measured.
  • 6 bugs found in other Solana projects, all fixed by their maintainers (elizaOS, rotki, Agent402, UltiMafia, taurvia, sol-parser-sdk-nodejs): the list.
  • Uptime, measured honestly: two long outages in September and early October, explained below.

Why

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.

Bugs we found, fixed by their maintainers

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:

ProjectWhat brokeFix
Agent402Solana payments sent as version 1 reported as not foundFixed by the maintainer
elizaOSCloud wallet deposits sent as version 1 couldn't be verifiedPR #38116
UltiMafiaInvoices paid with version 1 never matchedPR #3128
rotkiVersion 1 transactions silently skipped in users' historyPR #13511
taurviaVersion 1 activity shown as a blank "Transaction"PR #93
sol-parser-sdk-nodejsparseTransactionFromRpc failed on version 1PR #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.

Tools

ToolPreventsPrice
check_txSigning 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_txHand-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_matchesA 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_safetyBuying 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_txGuessing from logs: real balance changes by wallet, programs used, and why it failed$0.01
find_tokenCopycat tickers: the verified token address for a ticker, with copycats counted$0.01
feeFee unit mistakes: cheap, normal and fast prices in micro-lamports per compute unit, plus the exact cost in SOL$0.01
walletTotals inflated by spam airdrops: holdings with USD values, priced vs unpriced, verified vs unverified$0.01
traceGuessing 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
convertDecimal errors: normal amounts to exact raw units using the token's real decimals$0.01
why_failedBlind retries: Solana error codes in plain words, with a fix$0.01
whats_thisSending to the wrong kind of address: wallet, token account, token, program and more$0.01
token_accountWrong token accounts: Token-2022 aware address, whether it exists, and what creating it costs$0.01
balanceA balance remembered from earlier in a chat: the live SOL balance$0.01
tokensFake holdings: tokens held, ranked by USD value, with unverified (often spam) tokens flagged$0.01
historyMade-up transaction IDs: a wallet's recent transactions, real and checkable$0.01
blockhashExpired 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.

Calling it

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 (claude.ai and the Claude apps): Customize, Connectors, Add custom connector, paste the URL, choose No sign in.
  • Claude Code: claude mcp add --transport http solana-pulse https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcp
  • ChatGPT (web, developer mode on Business, Enterprise, Edu or Pro): ChatGPT Plugins, plus button, Add custom MCP server, paste the URL, Authentication: No authentication, Create as a plugin.
  • Gemini CLI: gemini mcp add -s user --transport http solana-pulse https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcp
  • Antigravity (replaced Gemini CLI for free and Google One accounts): in ~/.gemini/config/mcp_config.json, { "mcpServers": { "solana-pulse": { "serverUrl": "https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcp" } } }
  • Cursor (~/.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" } } }
  • VS Code (Copilot): 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"
  • Windsurf (~/.codeium/windsurf/mcp_config.json): { "mcpServers": { "solana-pulse": { "serverUrl": "https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcp" } } }
  • Cline (cline_mcp_settings.json): { "mcpServers": { "solana-pulse": { "type": "streamableHttp", "url": "https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcp" } } }
  • Codex CLI: codex mcp add solana-pulse --url https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcp
  • Zed (settings.json): { "context_servers": { "solana-pulse": { "url": "https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcp" } } }
  • OpenCode (opencode.json): { "mcp": { "solana-pulse": { "type": "remote", "url": "https://solana-pulse-gateway-1021990235790.us-central1.run.app/mcp" } } }
  • ElizaOS and Coinbase AgentKit: setup on the Connect page.

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.

Pricing and payments

  • All calls are rate-limited to 120 requests per minute per IP.
  • Every tool gives each caller 25 free calls a day (reset

Only the beginning is shown; read the rest in the repo

Ask PopNx