warengonzaga/relay-protocol-mcp-server
If you are the rightful owner of relay-protocol-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Relay Protocol MCP Server facilitates cross-chain bridging and token swapping operations using the Relay Protocol REST API.
Relay Protocol MCP Server
Model Context Protocol (MCP) server for the Relay Protocol REST API enabling cross-chain bridging and token swapping operations.
Features
- Cross-Chain Bridging - Bridge tokens between 50+ blockchain networks
- Multi-Chain Swaps - Aggregate tokens from multiple chains into single destination
- Real-Time Pricing - Get current token prices across all supported chains
- Request Monitoring - Track execution status and transaction details
- Currency Discovery - Browse 1000+ supported tokens with filtering
- Zero Configuration - No API keys required (free public API)
- Type Safety - Full TypeScript support with comprehensive validation
Quick Start
Option 1: Local Setup (Claude Desktop)
# Install and build
pnpm install && pnpm build
# Run development server
pnpm dev
# Run production server
pnpm start
Cloud Deployment (SSE transport)
Deploy to Railway, Heroku, Render, or any cloud platform:
# Build the server
pnpm build
# Start SSE server (uses PORT from environment or 3000)
pnpm start:sse
# Or for development
pnpm dev:sse
See for detailed Railway deployment guide.
MCP Integration
Stdio Transport (Local - Claude Desktop)
Add to your Claude Desktop configuration file:
Config Location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"Relay Protocol": {
"command": "node",
"args": ["/absolute/path/to/relay-protocol-mcp-server/dist/index.js"]
}
}
}
Option 2: Cloud Deployment (Railway)
Deploy Steps:
- Push your code to GitHub
- Go to railway.app → "New Project" → "Deploy from GitHub repo"
- Select your repository (Railway auto-detects configuration)
- Get your deployment URL:
https://your-app.railway.app
Claude Desktop Configuration:
{
"mcpServers": {
"Relay Protocol": {
"transport": "sse",
"url": "https://your-app.railway.app/sse"
}
}
}
Test Your Deployment:
curl https://your-app.railway.app/health
# Response: {"status":"healthy","server":"Relay Protocol","version":"0.1.0","transport":"sse"}
Deployment Info:
- Free tier: $5/month credits (plenty for personal use)
- Memory usage: ~50-100MB RAM
- Auto-sleeps after 30 minutes of inactivity
- Railway CLI:
npm i -g @railway/cli(optional)
Available Tools (9 total)
| Tool | Purpose | Example Use Case |
|---|---|---|
relay_get_chains | List supported blockchain networks | "Show me all chains Relay supports" |
relay_get_token_price | Get real-time token prices | "What's the price of USDC on Ethereum?" |
relay_get_currencies | Discover tokens with advanced filtering | "Show verified tokens on Arbitrum" |
relay_get_quote | Generate bridging/swap quotes | "Quote bridging 100 USDC from Ethereum to Polygon" |
relay_swap_multi_input | Execute multi-chain swaps | "Swap ETH + USDC from multiple chains to USDC on Base" |
relay_get_execution_status | Track request progress | "Check status of my bridge transaction" |
relay_get_requests | Monitor request history | "Show my recent cross-chain transactions" |
relay_transactions_index | Index transactions for tracking | "Register this transaction for monitoring" |
relay_transactions_single | Index specific transfers/wraps | "Track this specific transfer operation" |
Example Prompts
# Bridge tokens
"Bridge 100 USDC from Ethereum to Polygon"
"What chains can I bridge USDC between?"
# Multi-chain swaps
"Swap all my USDC from Ethereum and Polygon to ETH on Arbitrum"
"Consolidate my tokens from multiple chains into USDC on Base"
# Price discovery
"Show current ETH prices across all chains"
"What's the cheapest way to get USDC on Optimism?"
# Currency discovery
"Find all stablecoins available on Polygon"
"Show me verified tokens with bridging support"
Development
pnpm typecheck # Type checking
pnpm dev # Development with auto-reload
pnpm build # Production build
pnpm start # Start production server
Project Structure
src/
├── client/ # HTTP client and error handling
├── tools/ # 9 MCP tool implementations
├── types/relay.ts # Complete TypeScript definitions
├── config.ts # API configuration
├── index.ts # Stdio transport (local)
└── server.ts # SSE transport (cloud)
Troubleshooting
"No available tools" in Claude:
- Verify absolute path in config is correct
- Test server:
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | node dist/index.js - Restart Claude Desktop after config changes
- Ensure Node.js >= 20.0.0 and
pnpm buildcompleted
Connection issues:
- Run
pnpm buildbefore starting - Check server starts without errors:
pnpm dev - Verify JSON syntax in Claude config file
Requirements
- Node.js >= 20.0.0
- pnpm package manager
API Reference
Full access to Relay Protocol REST API with TypeScript types and validation. The Relay Protocol supports:
- 50+ Blockchain Networks including Ethereum, Polygon, Arbitrum, Optimism, Base, etc.
- 1000+ Tokens with real-time pricing and bridging support
- Free Public API with no rate limits or authentication required
- Production-Ready infrastructure handling millions in daily volume
License
MIT