Skip to main content
Glama
README.md6.45 kB
# 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 THORChain API documentation, see the [THORChain API Handbook](https://dev.thorchain.org/). ## License MIT ## Contributing Contributions are welcome! Please feel free to submit a Pull Request. ## Links - [Model Context Protocol](https://modelcontextprotocol.io/) - [THORChain Documentation](https://docs.thorchain.org/) - [Nine Realms API](https://midgard.ninerealms.com)

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MissionSquad/mcp-thorchain'

If you have feedback or need assistance with the MCP directory API, please join our Discord server