{
"mcpServers": {
"eth-mcp-server": {
"url": "http://localhost:8080/mcp"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
MCP (Model Context Protocol) server for Ethereum built with Rust and rmcp SDK (Streamable-http).
Is it safe?
No package registry to scan.
No authentication — any process on your machine can connect.
License not specified.
Is it maintained?
Last commit 167 days ago.
Will it work with my client?
Transport: stdio, http. Works with Claude Desktop, Cursor, Claude Code, and most MCP clients.
No automated test available for this server. Check the GitHub README for setup instructions.
No known vulnerabilities.
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Dynamic problem-solving through sequential thought chains
A Model Context Protocol server for searching and analyzing arXiv papers
An open-source AI agent that brings the power of Gemini directly into your terminal.
The official Python SDK for Model Context Protocol servers and clients
MCP Security Weekly
Get CVE alerts and security updates for Mcp Eth Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
MCP (Model Context Protocol) server for Ethereum built with Rust and rmcp SDK (Streamable-http).
get_balance – Query ETH/ERC20 token balances for any addressget_token_price – Get on-chain token prices via Uniswap V3 QuoterV2 (using quoteExactInputSingle for accurate single-pool quotes, base USDC or ETH)swap_tokens – Simulate token swaps on Uniswap V3 (constructs real transactions and uses eth_call - no on-chain execution)McpServer - Main server wrapper supporting multiple transportsEthServer - Tool router implementation with #[tool_router] macrormcp Rust SDKtracing# Set Rust version
rustup override set 1.90.0
# Copy example config
cp config.example.yaml config.yaml
# Edit config.yaml with your settings
Get Sepolia ETH from faucets:
# Build
cargo build
# Run with default config (config.yaml)
cargo run
# Run with specific config
cargo run config.testnet.yaml
cargo run /path/to/custom-config.yaml
# Run tests
cargo test
Add to your Cursor configuration:
{
"mcpServers": {
"eth-mcp-server": {
"url": "http://localhost:8080/mcp"
}
}
}
# Install MCP Inspector
npx @modelcontextprotocol/inspector
# Run server
cargo run
# Connect Inspector to Streamable HTTP transport
MCP Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_balance",
"arguments": {
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
}
}
}
MCP Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "Balance: 1234.567890123456 ETH"
}
]
}
}
With Token Address (USDC):
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "get_balance",
"arguments": {
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
}
}
}
MCP Request:
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "get_token_price",
"arguments": {
"token": "WETH",
"base": "USD"
}
}
}
MCP Response:
{
"jsonrpc": "2.0",
"id": 3,
"result": {
"content": [
{
"type": "text",
"text": "WETH Price: $2,450.00 USD\nSource: Uniswap V3 QuoterV2 (WETH/USDC pool)\nMethod: quoteExactInputSingle"
}
]
}
}
MCP Request:
{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "swap_tokens",
"arguments": {
"from_token": "WETH",
"to_token": "USDC",
"amount_in": "1.0",
"slippage_bps": 50
}
}
}
MCP Response:
{
"jsonrpc": "2.0",
"id": 4,
"result": {
"content": [
{
"type": "text",
"text": "Swap Simulation (Uniswap V3)\n\nInput: 1.0 WETH\nExpected Output: 2,438.25 USDC\nMinimum Output: 2,426.05 USDC (0.5% slippage)\n\nFee Tier: 0.05% (500)\nPrice Impact: ~0.02%\n\nGas Estimate: 150,000 units\nEstimated Gas Cost: 0.0045 ETH (~$11.00)\n\n⚠️ SIMULATION ONLY - Transaction not executed\n✓ Token approval may be required"
}
]
}
}
... [View full README on GitHub](https://github.com/0xByteLeon/mcp-eth-server#readme)