Universal Crypto MCP Server Guide
The Universal Crypto MCP is a single MCP server that lets AI agents interact with any EVM blockchain through natural language. Instead of configuring separate servers for each chain, this one server handles everything.
Supported Chains
| Chain |
Chain ID |
RPC |
Status |
| Ethereum |
1 |
Public/Infura/Alchemy |
✅ |
| Arbitrum One |
42161 |
Public |
✅ |
| Base |
8453 |
Public |
✅ |
| Polygon |
137 |
Public |
✅ |
| BSC |
56 |
Public |
✅ |
| Optimism |
10 |
Public |
✅ |
| Avalanche |
43114 |
Public |
✅ |
| Sepolia Testnet |
11155111 |
Public |
✅ |
Quick Start
npx @nirholas/universal-crypto-mcp
Claude Desktop Config
{
"mcpServers": {
"universal-crypto": {
"command": "npx",
"args": ["@nirholas/universal-crypto-mcp"]
}
}
}
Core Tools
Token Operations
| Tool |
Description |
getBalance |
Get native/token balance on any chain |
getTokenInfo |
Token metadata (name, symbol, decimals, supply) |
transfer |
Transfer tokens between addresses |
approve |
Set token spending allowance |
DeFi Operations
| Tool |
Description |
swap |
Execute token swap via DEX aggregator |
getSwapQuote |
Get swap quote without executing |
bridge |
Bridge tokens between chains |
stake |
Stake tokens in a protocol |
lend |
Supply tokens to lending protocol |
borrow |
Borrow against collateral |
Data & Analytics
| Tool |
Description |
getPrice |
Current token price |
getGasPrice |
Gas price on target chain |
getTransactionHistory |
Address transaction history |
getContractInfo |
Smart contract details |
Plugin Architecture
The Universal Crypto MCP uses a plugin system for extensibility:
universal-crypto-mcp/
├── core/ # Base chain interactions
├── plugins/
│ ├── swap/ # DEX aggregation (1inch, 0x, Paraswap)
│ ├── bridge/ # Cross-chain (Across, Stargate, Hop)
│ ├── lending/ # Aave, Compound
│ ├── staking/ # Lido, Rocket Pool
│ └── custom/ # Add your own plugins
Writing a Custom Plugin
export const myPlugin = {
name: 'my-protocol',
tools: [
{
name: 'myTool',
description: 'Does something useful',
parameters: { /* JSON Schema */ },
execute: async (params) => { /* implementation */ }
}
]
};
Natural Language Examples
| User Says |
Agent Action |
| "What's my ETH balance on Arbitrum?" |
getBalance(chain: 'arbitrum', address: '...', token: 'ETH') |
| "Swap 100 USDC for ETH on Base" |
swap(chain: 'base', from: 'USDC', to: 'ETH', amount: '100') |
| "Bridge 500 USDT from Ethereum to Arbitrum" |
bridge(from: 'ethereum', to: 'arbitrum', token: 'USDT', amount: '500') |
| "What's the gas price on Polygon?" |
getGasPrice(chain: 'polygon') |
Security Considerations
- Private keys are stored locally, never transmitted
- Transaction simulation before execution (when supported)
- Slippage protection on all swaps
- Gas estimation with safety margin
- Approval amount warnings for unlimited approvals
Sperax Integration
On Arbitrum, the Universal Crypto MCP can:
- Mint/redeem Sperax USDs (auto-yield stablecoin)
- Stake SPA tokens and manage veSPA positions
- Interact with Sperax Farms for LP yield
- Query Sperax protocol analytics
Links
1---2name: universal-crypto-mcp-guide3description: Guide to the Universal Crypto MCP server — a multi-chain MCP for AI agents to interact with any blockchain via natural language. Supports swaps, bridges, gas estimation, staking, lending, and more across Ethereum, Arbitrum, Base, Polygon, BSC, and testnets. Plugin architecture for extensibility.4license: MIT5---67# Universal Crypto MCP Server Guide89The Universal Crypto MCP is a single MCP server that lets AI agents interact with any EVM blockchain through natural language. Instead of configuring separate servers for each chain, this one server handles everything.1011## Supported Chains1213| Chain | Chain ID | RPC | Status |14|-------|----------|-----|--------|15| Ethereum | 1 | Public/Infura/Alchemy | ✅ |16| Arbitrum One | 42161 | Public | ✅ |17| Base | 8453 | Public | ✅ |18| Polygon | 137 | Public | ✅ |19| BSC | 56 | Public | ✅ |20| Optimism | 10 | Public | ✅ |21| Avalanche | 43114 | Public | ✅ |22| Sepolia Testnet | 11155111 | Public | ✅ |2324## Quick Start2526```bash27npx @nirholas/universal-crypto-mcp28```2930### Claude Desktop Config3132```json33{34 "mcpServers": {35 "universal-crypto": {36 "command": "npx",37 "args": ["@nirholas/universal-crypto-mcp"]38 }39 }40}41```4243## Core Tools4445### Token Operations46| Tool | Description |47|------|-------------|48| `getBalance` | Get native/token balance on any chain |49| `getTokenInfo` | Token metadata (name, symbol, decimals, supply) |50| `transfer` | Transfer tokens between addresses |51| `approve` | Set token spending allowance |5253### DeFi Operations54| Tool | Description |55|------|-------------|56| `swap` | Execute token swap via DEX aggregator |57| `getSwapQuote` | Get swap quote without executing |58| `bridge` | Bridge tokens between chains |59| `stake` | Stake tokens in a protocol |60| `lend` | Supply tokens to lending protocol |61| `borrow` | Borrow against collateral |6263### Data & Analytics64| Tool | Description |65|------|-------------|66| `getPrice` | Current token price |67| `getGasPrice` | Gas price on target chain |68| `getTransactionHistory` | Address transaction history |69| `getContractInfo` | Smart contract details |7071## Plugin Architecture7273The Universal Crypto MCP uses a plugin system for extensibility:7475```76universal-crypto-mcp/77├── core/ # Base chain interactions78├── plugins/79│ ├── swap/ # DEX aggregation (1inch, 0x, Paraswap)80│ ├── bridge/ # Cross-chain (Across, Stargate, Hop)81│ ├── lending/ # Aave, Compound82│ ├── staking/ # Lido, Rocket Pool83│ └── custom/ # Add your own plugins84```8586### Writing a Custom Plugin8788```typescript89export const myPlugin = {90 name: 'my-protocol',91 tools: [92 {93 name: 'myTool',94 description: 'Does something useful',95 parameters: { /* JSON Schema */ },96 execute: async (params) => { /* implementation */ }97 }98 ]99};100```101102## Natural Language Examples103104| User Says | Agent Action |105|-----------|-------------|106| "What's my ETH balance on Arbitrum?" | `getBalance(chain: 'arbitrum', address: '...', token: 'ETH')` |107| "Swap 100 USDC for ETH on Base" | `swap(chain: 'base', from: 'USDC', to: 'ETH', amount: '100')` |108| "Bridge 500 USDT from Ethereum to Arbitrum" | `bridge(from: 'ethereum', to: 'arbitrum', token: 'USDT', amount: '500')` |109| "What's the gas price on Polygon?" | `getGasPrice(chain: 'polygon')` |110111## Security Considerations112113- Private keys are stored locally, never transmitted114- Transaction simulation before execution (when supported)115- Slippage protection on all swaps116- Gas estimation with safety margin117- Approval amount warnings for unlimited approvals118119## Sperax Integration120121On Arbitrum, the Universal Crypto MCP can:122- Mint/redeem **Sperax USDs** (auto-yield stablecoin)123- Stake **SPA** tokens and manage **veSPA** positions124- Interact with **Sperax Farms** for LP yield125- Query Sperax protocol analytics126127## Links128129- GitHub: https://github.com/nirholas/universal-crypto-mcp130- npm: https://www.npmjs.com/package/@nirholas/universal-crypto-mcp131- Sperax: https://app.sperax.io132- MCP Spec: https://modelcontextprotocol.io