# mcp-thorchain
## 基本信息
- Slug: `missionsquad-mcp-thorchain`
- Source: modelscope
- Publisher: @MissionSquad/mcp-thorchain
- Categories: blockchain / web3 / 金融
- Hosted: No
- License: Apache License 2.0
- Source URL: https://www.modelscope.cn/mcp/servers/@MissionSquad/mcp-thorchain
## 简介
暂无描述。
## 安装提示

```bash
npm install -g @missionsquad/mcp-thorchain
```

## MCP Server 详情

# mcp-thorchain

A Model Context Protocol (MCP) server providing access to THORChain blockchain data. This server enables AI assistants like Claude to query THORChain transactions, pools, network statistics, and vault addresses through a standardized interface.

## Features

- **Transaction Lookup**: Get detailed information about specific THORChain transactions
- **Address History**: Query transaction history for any blockchain address
- **Pool Statistics**: Access liquidity pool data including prices, APY, and trading volume
- **Pool Details**: Get in-depth information for specific liquidity pools
- **Network Stats**: Retrieve network-wide statistics including swap volumes and active users
- **Vault Addresses**: Get current inbound addresses for depositing funds to THORChain

## Requirements

- Node.js >= 20.0.0
- npm or compatible package manager

## Installation

### From npm (Recommended)

```bash
npm install -g @missionsquad/mcp-thorchain
```

### From Source

```bash
# Clone the repository
git clone https://github.com/MissionSquad/mcp-thorchain.git
cd mcp-thorchain

# Install dependencies
npm install

# Build the project
npm run build
```

## Configuration

### Claude Desktop

To use this MCP server with Claude Desktop, add the following configuration to your Claude Desktop config file:

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

```json
{
  "mcpServers": {
    "thorchain": {
      "command": "node",
      "args": [
        "/absolute/path/to/mcp-thorchain/dist/index.js"
      ]
    }
  }
}
```

Replace `/absolute/path/to/mcp-thorchain` with the actual path to your installation directory.

After adding the configuration:
1. Completely quit Claude Desktop (Cmd+Q on macOS, or via System Tray on Windows)
2. Reopen Claude Desktop
3. The THORChain tools should now be available

### Testing with MCP Inspector

You can test the server without Claude Desktop using the MCP Inspector:

```bash
npx @modelcontextprotocol/inspector node dist/index.js
```

This will open a web interface (usually at `http://localhost:5173`) where you can:
- View all available tools
- Test tool execution with custom parameters
- See request/response data
- Debug server behavior

## Available Tools

### 1. `get-transaction`

Get detailed information about a specific THORChain transaction.

**Parameters:**
- `txid` (string, required): Transaction hash (64-character hexadecimal string)

**Example:**
```typescript
{
  "txid": "DC85CB537CB6082F61270D70C4058BB111475BCDC403E6E42AAF2106D067E1B4"
}
```

### 2. `get-address-history`

Retrieve transaction history for a blockchain address.

**Parameters:**
- `address` (string, required): Blockchain address to query
- `limit` (number, optional): Maximum transactions to return (default: 10, max: 50)
- `offset` (number, optional): Pagination offset (default: 0)

**Example:**
```typescript
{
  "address": "thor1...",
  "limit": 20,
  "offset": 0
}
```

### 3. `get-pools`

Get statistics for all THORChain liquidity pools.

**Parameters:**
- `period` (enum, optional): Time period - "1h" | "24h" | "7d" | "30d" | "90d" | "365d" | "all" (default: "24h")

**Example:**
```typescript
{
  "period": "24h"
}
```

### 4. `get-pool-detail`

Get detailed information for a specific liquidity pool.

**Parameters:**
- `asset` (string, required): Pool asset identifier (e.g., "BTC.BTC", "ETH.ETH")

**Example:**
```typescript
{
  "asset": "BTC.BTC"
}
```

### 5. `get-network-stats`

Get overall THORChain network statistics.

**Parameters:** None

### 6. `get-vault-addresses`

Get current THORChain vault addresses for depositing funds.

**Parameters:** None

## API Providers

The server automatically rotates between multiple API providers for redundancy:

**Primary**: Nine Realms (`https://midgard.ninerealms.com`, `https://thornode.ninerealms.com`)
**Fallback**: Liquify (`https://midgard.thorchain.liquify.com`, `https://thornode.thorchain.liquify.com`)

If the primary provider fails or times out, the server automatically tries the fallback provider.

## Development

### Build

```bash
npm run build
```

### Watch Mode

```bash
npm run watch
```

### Project Structure

```
mcp-thorchain/
 src/
    index.ts           # MCP server and tool definitions
    api-client.ts      # THORChain API client with provider rotation
    types.ts           # TypeScript type definitions
 dist/                  # Compiled JavaScript output
 package.json
 tsconfig.json
 README.md
```

## Technical Details

### Dependencies

- `@modelcontextprotocol/sdk@1.22.0`: MCP server SDK
- `zod@3.23.8`: Schema validation

### Type Safety

The project uses TypeScript with strict mode enabled. Due to a known incompatibility between Zod v3.23.8 (bundled with the MCP SDK) and TypeScript's type inference, the main server file uses `@ts-nocheck`. Runtime validation and type safety are maintained through Zod schemas.

### Error Handling

- All API requests include 5-second timeouts
- Automatic provider failover on connection errors
- Comprehensive error messages with context
- Custom `THORChainAPIError` class for API-specific errors

## Troubleshooting

### Tools Not Appearing in Claude

1. Verify the path in `claude_desktop_config.json` is absolute and correct
2. Ensure the project is built (`npm run build`)
3. Completely quit and restart Claude Desktop
4. Check Claude's logs:
   - macOS: `~/Library/Logs/Claude/mcp-server-thorchain.log`
   - Windows: `%APPDATA%\Claude\logs`

### Build Errors

If you encounter build errors after updating dependencies:

```bash
# Clean and rebuild
rm -rf dist node_modules package-lock.json
npm install
npm run build
```

### Connection Timeouts

The server has a 5-second timeout for each API request. If you're experiencing frequent timeouts:

1. Check your internet connection
2. Verify the API providers are operational
3. The server will automatically try the fallback provider

## API Reference

For detailed THORCh…

