GoldRush MCP Server
A Model Context Protocol server that gives AI agents and LLMs direct access to blockchain data across 100+ chains, powered by the GoldRush API. Wallet token balances, transaction history, NFT holdings, historical prices, token approvals and cross-chain activity, all as MCP tools your model can call.
Works with Claude Desktop, Claude Code, Cursor, Windsurf, Cline and any other MCP client.
- Website: goldrush.dev
- Documentation: GoldRush MCP Server docs
- API reference: goldrush.dev/docs
- Get an API key: sign up free
Quick start
Get a free API key at goldrush.dev, then add the server to your MCP client config.
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"goldrush": {
"command": "npx",
"args": ["-y", "@covalenthq/goldrush-mcp-server@latest"],
"env": {
"GOLDRUSH_API_KEY": "your-api-key-here"
}
}
}
}
Claude Code
claude mcp add goldrush -e GOLDRUSH_API_KEY=your-api-key-here \
-- npx -y @covalenthq/goldrush-mcp-server@latest
Cursor / Windsurf
Add the same mcpServers block to .cursor/mcp.json or
~/.codeium/windsurf/mcp_config.json.
Install globally
npm install -g @covalenthq/goldrush-mcp-server
GOLDRUSH_API_KEY=your-api-key-here goldrush-mcp-server
Once connected, ask your model things like "what tokens does vitalik.eth hold on Base?" or "show me the NFT collections in this wallet across every chain".
Tools
The server registers 28 blockchain data tools backed by the GoldRush API, plus 9 protocol analytics tools over the GoldRush semantic layer.
Wallet balances
| Tool | Purpose |
|---|---|
token_balances | Current ERC20 and native token balances for an address |
historical_token_balances | Token balances as of a past date or block |
historical_portfolio_value | Portfolio value over time for an address |
erc20_token_transfers | ERC20 transfer history for an address |
token_holders | Holders of a token as of any block height |
native_token_balance | Native gas token balance for an address |
Transactions
| Tool | Purpose |
|---|---|
transaction | A single transaction with decoded log events |
transaction_summary | Earliest, latest and total transaction counts for an address |
transactions_for_address | Paginated transaction history for an address |
transactions_for_block | Every transaction in a block |
Cross-chain
| Tool | Purpose |
|---|---|
multichain_balances | Token balances for an address across many chains in one call |
multichain_transactions | Transactions for an address across many chains |
multichain_address_activity | Which chains an address has been active on |
NFTs
| Tool | Purpose |
|---|---|
nft_for_address | NFT holdings for a wallet, with metadata |
nft_check_ownership | Whether an address holds anything in a collection |
nft_check_ownership_token_id | Whether an address holds a specific token ID |
Pricing
| Tool | Purpose |
|---|---|
historical_token_prices | Historical spot prices for a token |
pool_spot_prices | Current spot prices for a DEX pool |
Security
| Tool | Purpose |
|---|---|
token_approvals | Outstanding ERC20 approvals for an address, with risk scores |
Chain and block primitives
| Tool | Purpose |
|---|---|
gas_prices | Current gas prices for a chain |
block | A single block |
block_heights | Block heights in a date range |
log_events_by_address | Decoded log events emitted by a contract |
log_events_by_topic | Decoded log events matching a topic hash |
resolve_address | Resolve an ENS or similar name to an address |
Bitcoin
| Tool | Purpose |
|---|---|
bitcoin_hd_wallet_balances | Balances for an HD wallet address |
bitcoin_non_hd_wallet_balances | Balance for a single Bitcoin address |
bitcoin_transactions | Transaction history for a Bitcoin address |
Protocol analytics
list_entities, search_catalog, get_metadata, list_members, get_metric,
get_metrics, get_breakdown, compare_entities, rank_entities: read-only analytics
over the GoldRush warehouse through its Cube semantic layer.
They run in this server against Cube, so they need the Cube variables below. Without
them the analytics tools find no datasets (list_entities reports
semantic_source: "unavailable").
Resources
| URI | Contents |
|---|---|
config://supported-chains | Every chain the GoldRush API supports |
config://quote-currencies | Valid quote currencies for price fields |
status://all-chains | Sync status for all chains |
status://chain/{chainName} | Sync status for one chain |
See the full network list for chain names.
Configuration
Environment variables
| Variable | Required | Purpose |
|---|---|---|
GOLDRUSH_API_KEY | Yes | Your GoldRush API key |
CUBE_API_URL, CUBE_API_TOKEN | For analytics | The Cube the analytics tools query (the same in every environment) |
CUBE_META_URL, CUBE_META_API_TOKEN | No | A separate Cube for /meta; defaults to the query Cube |
SEMANTIC_META_TTL_MS | No | How often /meta is re-checked (default 10 minutes) |
Command line flags
| Flag | Default | Purpose |
|---|---|---|
--transport <stdio|http> | stdio | Transport to serve on |
--port <number> | 3000 | Port for the HTTP transport |
--api-key <key> | API key, as an alternative to the environment variable |
Most MCP clients spawn the server over stdio, which is the default. The HTTP transport serves
Streamable HTTP on /mcp for remote or containerized deployments:
goldrush-mcp-server --transport http --port 3000
Requirements
- Node.js 18 or newer
- A GoldRush API key (free tier available)
Links
- GoldRush
- MCP server documentation
- GoldRush API reference
- Supported networks
- Pricing
@covalenthq/client-sdk, the TypeScript SDK this server is built on- Model Context Protocol
Show your support
Give a ⭐️ if this project helped you!
License
This project is MIT licensed.