Labsco
MCP SERVER

SVM-MCP

by rkmonarch

Balances, latest transaction and token holdings for any address on SOON's testnet and mainnet — the same three reads, split per network.

Chain State, Explorers & Contract Tooling
Summary
Network is in the tool name, not in an argument.

Splitting testnet and mainnet into separate tools is a small decision with a real payoff: a model cannot quietly read mainnet when you meant testnet, because the choice is made at call time by name. The trade-off is that switching to a different SVM chain is a source edit rather than a config change — fine for SOON, worth knowing if you intended to point it elsewhere.

What it is

An MCP server connecting a client to SOON and other SVM-based chains. It ships six tools: three reads, each present once for testnet and once for mainnet, so the network is chosen by which tool is called rather than by a parameter that can be forgotten.

What you get
  • Native balance for an address on either network — `get-soon-testnet-balance`, `get-soon-mainnet-balance`
  • The most recent transaction for an address, fetched by signature and returned in full — `get-soon-testnet-last-transaction`, `get-soon-mainnet-last-transaction`
  • Every token account owned by an address — `get-soon-testnet-account-tokens`, `get-soon-mainnet-account-tokens`
  • A clear message when an address has no transactions, rather than an empty result to interpret
Requirements

No account and no key — it uses SOON's public RPC endpoints, https://rpc.testnet.soo.network/rpc and https://rpc.mainnet.soo.network/rpc. Node.js v16 or higher, npm or Bun. Clone, install, build, then point the client at `build/index.js`. Pointing it at another Solana-compatible chain means editing the connection URLs in the source. The package is `svm-mcp` (1.0.0 in package.json).

Setup effort

One command — npm install