MCP Now
Heurist Mesh Agent

Heurist Mesh Agent

by heurist-network
GitHub

Access specialized web3 AI agents for blockchain analysis, smart contract security, token metrics, and blockchain interactions through theHeurist Mesh network.

search
token
chain
agent
docker

Mesh Agent MCP Server

mesh-2

A Model Context Protocol (MCP) server that connects to Heurist Mesh APIs, providing Claude with access to various blockchain and web3 tools.

Heurist Mesh is an open network of purpose-built AI agents and tools, each specialized in particular web3 domains such as blockchain data analysis, smart contract security, token metrics, and blockchain interaction. We are actively growing the Heurist Mesh ecosystem, continuously integrating more tools to expand its capabilities.

Features

  • Connects to the Heurist Mesh API
  • Loads tools for cryptocurrency data and Web3 use cases
  • Supports both SSE and stdio transports
  • Works with Claude in Cursor, Claude Desktop, and other MCP-compatible interfaces
  • Use one API key to access multiple services (e.g. CoinGecko crypto market data, GoPlus token security review)

Hosted SSE Endpoint (Alpha Release)

We provide a hosted SSE endpoint at https://sequencer-v2.heurist.xyz/mcp/sse. This includes all the tools from the following commonly used agents: CoingeckoTokenInfoAgent, ElfaTwitterIntelligenceAgent, ExaSearchAgent, DexScreenerTokenInfoAgent, ZerionWalletAnalysisAgent. This is a shared server and the performance may be unstable.

Cursor can directly access SSE servers. For Claude Desktop users, we recommend installing mcp-proxy to connect to the SSE server.

Prerequisites

Installation

1# Clone the repository 2git clone https://github.com/yourusername/heurist-mesh-agent-mcp.git 3cd heurist-mesh-agent-mcp 4 5# Install the package 6uv pip install -e .

Using Docker

1# Clone the repository 2git clone https://github.com/yourusername/heurist-mesh-agent-mcp.git 3cd heurist-mesh-agent-mcp 4 5# Build the Docker image 6docker build -t mesh-tool-server .

Usage

Option 1: Run with stdio Transport (for Claude Desktop)

Using UV

To use this with Claude Desktop, add the following to your claude_desktop_config.json:

1{ 2 "mcpServers": { 3 "heurist-mesh-agent": { 4 "command": "uv", 5 "args": [ 6 "--directory", 7 "/path/to/heurist-mesh-mcp-server/mesh_mcp_server", // Update this path 8 "run", 9 "mesh-tool-server" 10 ], 11 "env": { 12 "HEURIST_API_KEY": "your-api-key-here" // Update this key 13 } 14 } 15 } 16}

Using Docker

Alternatively, you can use Docker with Claude Desktop by adding this to your claude_desktop_config.json:

1{ 2 "mcpServers": { 3 "mesh-agent": { 4 "command": "docker", 5 "args": [ 6 "run", 7 "--rm", 8 "-i", 9 "-e", "TRANSPORT=stdio", 10 "-e", "HEURIST_API_KEY=your-api-key-here", // Update this key 11 "mesh-tool-server" 12 ] 13 } 14 } 15}

Replace /path/to/mesh-agent-mcp with the actual path to the repository and your-api-key-here with your Heurist API key.

Option 2: Run with SSE Transport (for Cursor)

Setting up Environment Variables in .env

1cp .env.example .env 2HEURIST_API_KEY=your-api-key-here

Using UV:

1uv run mesh-tool-server --transport sse --port 8000

Using Docker:

1docker run -p 8000:8000 -e PORT=8000 mesh-tool-server

Then, in Cursor, add the MCP Server URL: http://0.0.0.0:8000/sse

Available tools

| Tool Name | Description | Agent | Parameters | Required Params | |-----------|-------------|-------|------------|----------------| | get_coingecko_id | Search for a token by name to get its CoinGecko ID | CoinGeckoTokenInfoAgent | token_name (string): The token name to search for | token_name | | get_token_info | Get detailed token information and market data using CoinGecko ID (you can't use the token address or name or symbol) | CoinGeckoTokenInfoAgent | coingecko_id (string): The CoinGecko ID of the token | coingecko_id | | get_trending_coins | Get the current top trending cryptocurrencies on CoinGecko | CoinGeckoTokenInfoAgent | - | None | | get_specific_pair_info | Get trading pair info by chain and pair address on DexScreener | DexScreenerTokenInfoAgent | chain (string): Chain identifier (e.g., solana, bsc, ethereum, base)
pair_address (string): The pair contract address to look up | chain, pair_address | | get_token_pairs | Get the trading pairs by chain and token address on DexScreener | DexScreenerTokenInfoAgent | chain (string): Chain identifier (e.g., solana, bsc, ethereum, base)
token_address (string): The token contract address to look up all pairs for | chain, token_address | | get_token_profiles | Get the basic info of the latest tokens from DexScreener | DexScreenerTokenInfoAgent | - | None | | search_pairs | Search for trading pairs on DexScreener by token name, symbol, or address | DexScreenerTokenInfoAgent | search_term (string): Search term (token name, symbol, or address) | search_term | | get_trending_tokens | Get current trending tokens on Twitter | ElfaTwitterIntelligenceAgent | time_window (string): Time window to analyze | None | | search_account | Analyze a Twitter account with both mention search and account stats | ElfaTwitterIntelligenceAgent | username (string): Twitter username to analyze (without @)
days_ago (integer): Number of days to look back for mentions
limit (integer): Maximum number of mention results | username | | search_mentions | Search for mentions of specific tokens or topics on Twitter | ElfaTwitterIntelligenceAgent | keywords (array): List of keywords to search for
days_ago (integer): Number of days to look back
limit (integer): Maximum number of results (minimum: 20) | keywords | | answer | Get a direct answer to a question using Exa's answer API | ExaSearchAgent | question (string): The question to answer | question | | search | Search for webpages related to a query | ExaSearchAgent | search_term (string): The search term
limit (integer): Maximum number of results to return (default: 10) | search_term | | search_and_answer | Perform both search and answer operations for a query | ExaSearchAgent | topic (string): The topic to search for and answer | topic | | execute_search | Execute a web search query by reading the web pages | FirecrawlSearchAgent | search_term (string): The search term to execute | search_term | | generate_queries | Generate related search queries for a topic that can expand the research | FirecrawlSearchAgent | topic (string): The main topic to research
num_queries (integer): Number of queries to generate | topic | | fetch_security_details | Fetch security details of a blockchain token contract | GoplusAnalysisAgent | contract_address (string): The token contract address
chain_id (['integer', 'string']): The blockchain chain ID or 'solana' for Solana tokens. Supported chains: Ethereum (1), Optimism (10), Cronos (25), BSC (56), Gnosis (100), HECO (128), Polygon (137), Fantom (250), KCC (321), zkSync Era (324), ETHW (10001), FON (201022), Arbitrum (42161), Avalanche (43114), Linea Mainnet (59144), Base (8453), Tron (tron), Scroll (534352), opBNB (204), Mantle (5000), ZKFair (42766), Blast (81457), Manta Pacific (169), Berachain Artio Testnet (80085), Merlin (4200), Bitlayer Mainnet (200901), zkLink Nova (810180), X Layer Mainnet (196), Solana (solana) | contract_address |

Customizing Supported Agents

The server comes with a default set of agents. To modify which agents are available:

  1. Open the server.py file and locate the Config class.
  2. Edit the DEFAULT_AGENTS list to add or remove agents listed at Heurist Metadata
1DEFAULT_AGENTS = [ 2 "CoinGeckoTokenInfoAgent", 3 "DexScreenerTokenInfoAgent", 4 "ElfaTwitterIntelligenceAgent", 5 "ExaSearchAgent", 6 "FirecrawlSearchAgent", 7 "GoplusAnalysisAgent", 8 # Add agents here 9 "NewAgent" 10]

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License.