GoldRush MCP Server
A server that exposes GoldRush APIs as MCP resources and tools, enabling LLMs to interact with blockchain data.
The GoldRush MCP Server provides a Model Context Protocol (MCP) implementation that exposes GoldRush APIs as MCP resources and tools. It enables LLMs to interact with blockchain data across multiple chains.
You’ll need a GoldRush API key to use this server.
Get Started
Sign up for a free API key to get started with GoldRush.
Setup Instructions
Step 1: Installation
No installation is needed as the server can be run directly using npx
.
Step 2: Configure with MCP clients
Usage with Claude Desktop
Add this to your claude_desktop_config.json
:
For more details, follow the official MCP Quickstart for Claude Desktop Users.
Usage with Claude Code CLI
For more details, see Set up Model Context Protocol (MCP).
Usage with Cursor
- Open Cursor Settings
- Go to Features > MCP
- Click + Add new global MCP server
- Add this to your
~/.cursor/mcp.json
:
For project-specific configuration, add the above to a .cursor/mcp.json
file in your project directory.
Usage with Windsurf
Add this to your ~/.codeium/windsurf/mcp_config.json
file:
Step 3: Programmatic Usage
The server is designed to be started as a subprocess by an MCP client. Here’s an example using the MCP TypeScript SDK:
Available Tools
The GoldRush MCP Server exposes over 50 tools for interacting with blockchain data. Here are some of the most commonly used tools:
Cross Chain
Cross Chain
- multichain_address_activity: Gets a summary of wallet activity across all supported blockchains.
- multichain_balances: Gets token balances for a wallet address across multiple blockchains.
- multichain_transactions: Gets transactions for multiple wallet addresses across multiple blockchains.
Balances
Balances
- token_balances: Commonly used to fetch the native and fungible (ERC20) tokens held by an address.
- historical_token_balances: Commonly used to fetch the historical native and fungible (ERC20) tokens held by an address at a given block height or date.
- native_token_balance: Get the native token balance (ETH, BNB, MATIC, etc.) for a specified wallet address on a blockchain.
- erc20_token_transfers: Commonly used to render the transfer-in and transfer-out of a token along with historical prices from an address.
- historical_portfolio_value: Commonly used to render a daily portfolio balance for an address broken down by the token.
- token_holders: Used to get a paginated list of current or historical token holders for a specified ERC20 or ERC721 token.
Transaction
Transaction
- transaction: Commonly used to fetch and render a single transaction including its decoded log events.
- transaction_summary: Commonly used to fetch the earliest and latest transactions, and the transaction count for a wallet.
- transactions_for_address: Commonly used to fetch and render the most recent transactions involving an address.
- transactions_for_block: Commonly used to fetch all transactions including their decoded log events in a block and further flag interesting wallets or transactions.
NFT
NFT
- nft_for_address: Commonly used to get all NFTs owned by a specific wallet address on a blockchain.
- nft_check_ownership: Commonly used to verify ownership of NFTs (including ERC-721 and ERC-1155) within a collection.
Security
Security
- token_approvals: Commonly used to get a list of approvals across all token contracts categorized by spenders for a wallet’s assets.
Bitcoin
Bitcoin
- bitcoin_hd_wallet_balances: Fetch balances for each active child address derived from a Bitcoin HD wallet.
- bitcoin_non_hd_wallet_balances: Fetch Bitcoin balance for a non-HD address.
- bitcoin_transactions: Fetch transactions for a specific Bitcoin address with full transaction details.
Prices
Prices
- historical_token_prices: Commonly used to get historic prices of a token between date ranges.
- gas_prices: Get real-time gas estimates for different transaction speeds on a specific network.
Utility
Utility
- log_events_by_address: Commonly used to get all the event logs emitted from a particular contract address.
- log_events_by_topic: Commonly used to get all event logs of the same topic hash across all contracts within a particular chain.
- block: Commonly used to fetch and render a single block for a block explorer.
- block_heights: Commonly used to get all the block heights within a particular date range.
Visit our GitHub repository for a complete list of tools and their parameters.
Available Resources
Resources are a core primitive in the Model Context Protocol that allow servers to expose data and content for use as context in LLM interactions. The GoldRush MCP Server provides both static and dynamic resources:
Static Resources
Static Resources
- config://supported-chains: Provides a list of all blockchain networks supported by the GoldRush API
- config://quote-currencies: Provides a list of all supported quote currencies for price conversions
Dynamic Resources
Dynamic Resources
- status://all-chains: Provides real-time synchronization status for all chains
- status://chain/: Provides detailed status information for a specific chain
Dynamic resources fetch real-time data from the GoldRush API on each request, ensuring current information.
Example LLM Interaction
Once you’ve set up the GoldRush MCP Server with your preferred LLM client, you can start asking blockchain-related questions:
- “What are the top tokens in this Ethereum wallet: 0xeefB13C7D42eFCc655E528dA6d6F7bBcf9A2251d?”
- “Show me the transaction history for this wallet address on Polygon.”
- “What NFTs does this wallet own across multiple chains?”
- “Get the gas prices for ERC20 transfers on Ethereum mainnet.”
The LLM will automatically use the appropriate GoldRush MCP tools to retrieve the blockchain data and provide you with informative responses.