wax-mcp-full
A local-first MCP server for the WAX blockchain that enables AI hosts to query accounts, chain state, AtomicAssets, AtomicMarket, Hyperion history, and WAXP prices, as well as prepare unsigned transactions for wallet signing.
README
wax-mcp-full
v0.1.0 — a local-first MCP server for the WAX blockchain.
It lets an AI host (Claude Desktop, Cursor, Grok Build, …) query accounts, chain state, AtomicAssets / AtomicMarket, Hyperion history, and WAXP prices, and prepare unsigned transactions for a wallet to sign. No API keys. Mainnet and testnet.
This is an early public release. It is more complete than the archived yksanjo/wax-mcp-server (8 tools, single RPC, dead v1 history). It is not a 1.0.
Features
| Area | What you get |
|---|---|
| Account | WAXP + token balances, CPU/NET/RAM, permissions, account info |
| Chain | get_info, get_block, get_table_rows, ABI summary |
| History | Hyperion /v2 actions + transaction (not v1 history) |
| AtomicAssets | assets, templates, schemas, collections, mints, transfers |
| AtomicMarket | sales, auctions, buy offers, stats, price history, recent sales, top collections |
| Market | WAXP price + market data (CoinGecko → CoinPaprika) |
| Health | multi-endpoint status |
| Safe writes | unsigned transfer / stake / unstake / vote / Atomic transfer+burn + simulate |
| Signing | off by default — use a wallet |
Also registers resources (wax://account/{name}, …) and prompts (inspect-account, market-overview, …).
Requirements
- Node.js 20+
- HTTPS access to public WAX guild APIs (no keys)
Install
git clone https://github.com/eoinjosephcurran-code/wax-mcp-full.git
cd wax-mcp-full
npm install
npm run build
node dist/index.js --help
Dev (no build):
npx tsx src/index.ts --network mainnet
Add it to a host
Replace /ABSOLUTE/PATH/TO/wax-mcp-full with the folder you cloned.
Claude Desktop
claude_desktop_config.json:
{
"mcpServers": {
"wax": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/wax-mcp-full/dist/index.js"],
"env": { "WAX_NETWORK": "mainnet" }
}
}
}
Restart Claude Desktop.
Cursor
.cursor/mcp.json:
{
"mcpServers": {
"wax": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/wax-mcp-full/dist/index.js"]
}
}
}
Grok Build
~/.grok/config.toml:
[mcp_servers.wax]
command = "node"
args = ["/ABSOLUTE/PATH/TO/wax-mcp-full/dist/index.js"]
startup_timeout_sec = 30
Or: grok mcp add wax -- node /ABSOLUTE/PATH/TO/wax-mcp-full/dist/index.js
Copy-paste templates live in examples/.
Configuration
| Variable | Meaning |
|---|---|
WAX_NETWORK |
mainnet (default) or testnet |
WAX_RPC_URLS |
Comma-separated HTTPS RPC URLs |
WAX_ATOMIC_URLS |
AtomicAssets / AtomicMarket hosts |
WAX_HYPERION_URLS |
Hyperion history hosts |
WAX_LIGHT_URLS |
Light API hosts |
WAX_PRICE_URLS |
CoinGecko / CoinPaprika bases |
WAX_TIMEOUT_MS |
Per-request timeout (default 12000, 1000–30000) |
WAX_RETRIES |
Retries per URL on transient errors (default 2) |
WAX_TX_EXPIRE_SECONDS |
Unsigned tx expiration (default 180) |
WAX_ENABLE_SIGNING |
Must be 1 and a key source to broadcast |
WAX_KEYS_FILE |
File of WIFs (one per line) — prefer this over env |
CLI: --network mainnet\|testnet.
Only https URLs are accepted. Tools never take an RPC URL argument.
eosjs is not installed by default. Prefer a wallet. Local wax_sign_broadcast requires npm install eosjs plus WAX_ENABLE_SIGNING=1.
Safety
- Prepare tools return unsigned JSON. Sign in Anchor, WAX Cloud Wallet, or
cleos. wax_simulate_transactionnever broadcasts. Public RPCs often cannot dry-run unsigned JSON; thensimulatedisfalse.- Never put a private key in chat or in a tool argument.
Example prompts
- “What is the WAXP price and 24h volume?”
- “Show CPU/NET/RAM and tokens for
eosio.” - “List recent AtomicMarket sales for
alien.worlds.” - “Prepare an unsigned transfer of
1.00000000 WAXfromalicetobob— do not sign it.”
More in examples/example-prompts.md.
Tests
npm test # unit + MCP smoke + live probes (skip-soft if offline)
npm run test:live # live probes; fail if public APIs are down
npm run typecheck
Known limits (v0.1)
- Public Atomic / Hyperion nodes can be slow or rate-limit.
- Simulate is best-effort; many RPCs refuse unsigned JSON.
- MCP resources have no
isErrorflag — failures are JSON inside a successful read. wax_get_blockreturns headers +transaction_count, not full transactions.- Optional local signing is a footgun. Leave it off.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.