Connects to Crypto APIs to dry-run EVM transactions before broadcasting them on-chain. Exposes a simulate_evm tool that lets you preview transaction results, gas costs, and state changes across Ethereum, BSC, Polygon, Avalanche, Arbitrum, Base, Optimism, and other EVM chains. You pass in sender and recipient addresses, transaction data, gas parameters, and get back what would happen without spending real gas or committing to the blockchain. Useful when you're building contract interactions and want to catch reverts or estimate costs before executing. Requires a Crypto APIs account and key. Can run in stdio mode for local development or HTTP mode for remote access with per-request API keys.
MCP server for Crypto APIs Simulate product. Dry-run EVM transactions to preview results without broadcasting.
API Version: Compatible with Crypto APIs version 2024-12-12
npm install @cryptoapis-io/mcp-simulate
Or install all Crypto APIs MCP servers: npm install @cryptoapis-io/mcp
# Run with API key
npx @cryptoapis-io/mcp-simulate --api-key YOUR_API_KEY
# Or use environment variable
export CRYPTOAPIS_API_KEY=YOUR_API_KEY
npx @cryptoapis-io/mcp-simulate
# HTTP transport
npx @cryptoapis-io/mcp-simulate --transport http --port 3000 --api-key YOUR_API_KEY
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"cryptoapis-simulate": {
"command": "npx",
"args": ["-y", "@cryptoapis-io/mcp-simulate"],
"env": {
"CRYPTOAPIS_API_KEY": "your_api_key_here"
}
}
}
}
Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"cryptoapis-simulate": {
"command": "npx",
"args": ["-y", "@cryptoapis-io/mcp-simulate"],
"env": {
"CRYPTOAPIS_API_KEY": "your_api_key_here"
}
}
}
}
npx @modelcontextprotocol/inspector npx @cryptoapis-io/mcp-simulate --api-key YOUR_API_KEY
npx @cryptoapis-io/mcp-simulate --transport http --port 3000 --api-key YOUR_API_KEY
http://localhost:3000/mcpAll servers default to port 3000. Use
--portto assign different ports when running multiple servers.
simulate_evmSimulate an EVM transaction (dry run).
| Parameter | Description |
|---|---|
blockchain | Target blockchain (ethereum, binance-smart-chain, polygon, etc.) |
network | Network (mainnet, sepolia, testnet, etc.) |
fromAddress | Sender address |
toAddress | Recipient address |
value | Amount to send (in native coin) |
data | Contract call data (hex) |
gasLimit | Gas limit |
gasPrice | Gas price |
| Argument | Description | Default |
|---|---|---|
--api-key | Crypto APIs API key | CRYPTOAPIS_API_KEY env var |
--transport | Transport type: stdio or http | stdio |
--host | HTTP host | 0.0.0.0 |
--port | HTTP port | 3000 |
--path | HTTP path | /mcp |
--stateless | Enable stateless HTTP mode | false |
When using HTTP transport, the server supports two API key modes:
--api-key: The key is used for all requests. x-api-key request headers are ignored.--api-key: Each request must include an x-api-key header with a valid Crypto APIs key. This enables hosting a public server where each user provides their own key.# Per-request key mode (multi-tenant)
npx @cryptoapis-io/mcp-simulate --transport http --port 3000
# Clients send x-api-key header with each request
Stdio transport always requires an API key at startup.
Warning: Making requests without a valid API key — or with an incorrect one — may result in your IP being banned from the Crypto APIs ecosystem. Always ensure a valid API key is configured before starting any server.
Crypto APIs provides an official remote MCP server with all tools available via HTTP Streamable transport at https://ai.cryptoapis.io/mcp. Pass your API key via the x-api-key header — no installation required.
MIT
CRYPTOAPIS_API_KEY*secretCrypto APIs API key
io.github.shelvick/shopify-subscription-reconciliation
zleventer/google-ads-mcp
csoai-org/meok-stripe-acp-checkout-mcp
io.github.mharnett/google-ads
csoai-org/stripe-billing-mcp
co.pipeboard/google-ads-mcp