Skip to main content
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

1

Usage with Claude Desktop

Add this to your claude_desktop_config.json:
{
  "mcpServers": {
    "goldrush": {
      "command": "npx",
      "args": [
        "-y",
        "@covalenthq/goldrush-mcp-server@latest"
      ],
      "env": {
        "GOLDRUSH_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}   
For more details, follow the official MCP Quickstart for Claude Desktop Users.
2

Usage with Claude Code CLI

$ claude mcp add goldrush -e GOLDRUSH_API_KEY=<YOUR_API_KEY_HERE> -- npx @covalenthq/goldrush-mcp-server
For more details, see Set up Model Context Protocol (MCP).
3

Usage with Cursor

  1. Open Cursor Settings
  2. Go to Features > MCP
  3. Click + Add new global MCP server
  4. Add this to your ~/.cursor/mcp.json:
{
  "mcpServers": {
    "goldrush": {
      "command": "npx",
      "args": [
        "-y",
        "@covalenthq/goldrush-mcp-server@latest"
      ],
      "env": {
        "GOLDRUSH_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}   
For project-specific configuration, add the above to a .cursor/mcp.json file in your project directory.
4

Usage with Windsurf

Add this to your ~/.codeium/windsurf/mcp_config.json file:
{
  "mcpServers": {
    "goldrush": {
      "command": "npx",
      "args": [
        "-y",
        "@covalenthq/goldrush-mcp-server@latest"
      ],
      "env": {
        "GOLDRUSH_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}   

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:
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";

const transport = new StdioClientTransport({
  command: "npx",
  args: ["-y", "@covalenthq/goldrush-mcp-server@latest"],
  env: {"GOLDRUSH_API_KEY": "your_api_key_here"}
});

const client = new Client(
  {
    name: "example-client",
    version: "1.0.0"
  },
  {
    capabilities: {
      tools: {}
    }
  }
);

await client.connect(transport);

// List tools
const resources = await client.listTools();
const tools = await client.listTools();
console.log("Available tools:", tools.tools.map(tool => tool.name).join(", "));

// Now you can call tools
const result = await client.callTool({
  name: "getAllChains",
  arguments: {}
});

console.log(result);

Available Tools

The GoldRush MCP Server exposes over 50 tools for interacting with blockchain data. Here are some of the most commonly used tools:
  • 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.
  • 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: 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_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.
  • token_approvals: Commonly used to get a list of approvals across all token contracts categorized by spenders for a wallet’s assets.
  • 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.
  • 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.
  • 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:
  • 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
  • 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.