Skip to main content
Glama
chainfetch

ChainFETCH MCP Server

Official
by chainfetch
README.md
# ChainFETCH MCP Server

A Model Context Protocol (MCP) server that provides access to [ChainFETCH](https://www.chainfetch.app) API - an AI-powered Ethereum blockchain intelligence platform with advanced semantic search capabilities.

## Features

ChainFETCH combines real-time blockchain streaming with AI-powered analysis to provide:

- **🔥 Live Block Streaming**: Real-time Ethereum block processing every ~12 seconds
- **🧠 AI-Powered Semantic Search**: Vector similarity search using Qwen3-Embedding-0.6B model
- **🤖 LLM-Enhanced Queries**: LLaMA 3.2 3B model for intelligent parameter selection
- **âš¡ Multi-Modal Search**: Semantic, LLM, and JSON search options
- **🎯 Comprehensive Coverage**: Addresses, transactions, blocks, tokens, and smart contracts

## Available Tools

### Address Analysis
- `search_addresses_semantic` - AI-powered vector similarity search
- `search_addresses_json` - 150+ parameter filtering
- `search_addresses_llm` - Natural language to smart parameter selection
- `get_address_summary` - AI-generated address summaries
- `get_address_info` - Detailed address information

### Transaction Intelligence
- `search_transactions_semantic` - Semantic transaction search
- `search_transactions_json` - 254+ curated parameters
- `search_transactions_llm` - Natural language transaction queries
- `get_transaction_summary` - AI transaction summaries
- `get_transaction_info` - Detailed transaction data

### Block Analysis
- `search_blocks_semantic` - AI-powered block search
- `search_blocks_json` - 120+ block parameters
- `search_blocks_llm` - Natural language block queries
- `get_block_summary` - AI block summaries
- `get_block_info` - Detailed block information

### Token Intelligence
- `search_tokens_semantic` - Semantic token search
- `search_tokens_json` - Comprehensive token filtering
- `search_tokens_llm` - Natural language token queries
- `get_token_summary` - AI token summaries
- `get_token_info` - Detailed token information
- `get_nft_instance_info` - NFT instance details

### Smart Contract Analysis
- `search_smart_contracts_semantic` - AI contract search
- `search_smart_contracts_json` - 50+ contract parameters
- `search_smart_contracts_llm` - Natural language contract queries
- `get_smart_contract_summary` - AI contract summaries
- `get_smart_contract_info` - Detailed contract information

## Installation

### Prerequisites
- Node.js 18.0.0 or higher
- ChainFETCH API token from [chainfetch.app](https://www.chainfetch.app)

### Option 1: NPM Install (Recommended)
```bash
npm install -g chainfetch-mcp-server
```

### Option 2: From Source
```bash
git clone https://github.com/chainfetch/chainfetch-mcp-server.git
cd chainfetch-mcp-server
npm install
npm run build
npm link
```

## Configuration

### Environment Variables
Set your ChainFETCH API token:
```bash
export CHAINFETCH_API_TOKEN="your_api_token_here"
```

### For Claude Desktop
Add to your Claude Desktop configuration file:

**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "chainfetch": {
      "command": "npx",
      "args": ["chainfetch-mcp-server"],
      "env": {
        "CHAINFETCH_API_TOKEN": "CHAINFETCH_API_TOKEN"
      }
    }
  }
}
```

### For Claude via ngrok (HTTP Mode)
Start the server in HTTP mode:
```bash
MCP_HTTP_MODE=true chainfetch-mcp-server
```

In another terminal, start ngrok:
```bash
ngrok http 8000
```

Configure Claude MCP Connector with:
- **Server URL**: `https://your-ngrok-url.ngrok.app/streamable-http`
- **API Key**: Your ChainFETCH API token

## Usage Examples

### Semantic Search
```javascript
// Find whale addresses
search_addresses_semantic({
  query: "whale addresses with high ETH balance and DeFi activity",
  limit: 10
})

// Find suspicious transactions
search_transactions_semantic({
  query: "high gas transactions with failed status",
  limit: 5
})
```

### Natural Language Queries
```javascript
// LLM-powered address search
search_addresses_llm({
  query: "Show me verified smart contracts deployed in the last month"
})

// LLM-powered transaction search
search_transactions_llm({
  query: "Find large value transfers between exchanges"
})
```

### Structured Filtering
```javascript
// JSON search with specific parameters
search_addresses_json({
  eth_balance_min: "10.0",
  is_contract: true,
  is_verified: true,
  transactions_count_min: 1000,
  limit: 20
})
```

### Detailed Analysis
```javascript
// Get comprehensive address information
get_address_info({
  address: "0x742D35Cc6335C06576BE5A1D5E2A7df9e7B0E8df"
})

// Get AI-generated summary
get_address_summary({
  address_hash: "0x742D35Cc6335C06576BE5A1D5E2A7df9e7B0E8df"
})
```

## API Coverage

This MCP server provides access to ChainFETCH's comprehensive API including:

- **150+ Address Parameters**: Balance, contract status, transaction counts, token holdings
- **254+ Transaction Parameters**: Value, gas, addresses, block info, token transfers
- **120+ Block Parameters**: Height, gas usage, transaction counts, miner info
- **Token Analysis**: ERC-20, ERC-721, ERC-1155 support with metadata
- **Smart Contract Intelligence**: Verification status, proxy patterns, ABI analysis

## Error Handling

The server provides detailed error messages for common issues:
- Missing API token
- Invalid addresses/hashes
- Rate limiting
- Network connectivity issues

## Development

### Local Development
```bash
# Install dependencies
npm install

# Run in development mode
npm run dev

# Run in HTTP mode for testing
npm run dev:http
```

### Testing with Claude
1. Set up your API token
2. Configure Claude Desktop or use ngrok
3. Test with simple queries first
4. Use the semantic search for exploratory analysis

## Support

- **Documentation**: [ChainFETCH API Docs](https://www.chainfetch.app/docs)
- **API Access**: [Get API Token](https://www.chainfetch.app)
- **Issues**: [GitHub Issues](https://github.com/chainfetch/chainfetch-mcp-server/issues)

## License

MIT License - see LICENSE file for details.

## Changelog

### v1.0.0
- Initial release
- Full ChainFETCH API integration
- Semantic, LLM, and JSON search modes
- Address, transaction, block, token, and smart contract tools
- Claude Desktop and ngrok HTTP support

TDQS

C2.9/5.0

Scored across 26 tools

Disambiguation4/5

The tools are organized by resource type (address, block, NFT, smart contract, token, transaction) and action (get_info, get_summary, search), which provides clear distinctions. However, the three search methods (JSON, LLM, semantic) for each resource create some potential confusion about which search tool to use for a given query, as their purposes overlap significantly despite different interfaces.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout: get_<resource>_info, get_<resource>_summary, search_<resource>_json, search_<resource>_llm, search_<resource>_semantic. The naming is systematic and predictable across all 26 tools, making it easy to understand the pattern and locate specific tools.

Tool Count2/5

With 26 tools, the count feels excessive for a blockchain data server. While the domain is broad, having three nearly identical search methods (JSON, LLM, semantic) for each of five resource types creates significant redundancy. A more streamlined approach with fewer overlapping tools would improve coherence without losing functionality.

Completeness5/5

The tool set provides comprehensive coverage for blockchain data exploration. Each major resource type (address, block, smart contract, token, transaction) has both detailed information retrieval and AI-generated summaries, plus multiple search approaches. The inclusion of NFT instance information adds additional domain coverage, creating a complete surface for blockchain data analysis.

Maintenance

ActivityInactive
ResponsivenessNo issues