You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A comprehensive Model Context Protocol (MCP) server that provides blockchain services across 60+ EVM-compatible networks. This server enables AI agents to interact with Ethereum, Optimism, Arbitrum, Base, Polygon, and many other EVM chains with a unified interface through 22 tools and 10 AI-guided prompts.
9
+
A comprehensive Model Context Protocol (MCP) server that provides blockchain services across 60+ EVM-compatible networks. This server enables AI agents to interact with Ethereum, Optimism, Arbitrum, Base, Polygon, and many other EVM chains with a unified interface through 25 tools and 10 AI-guided prompts.
10
10
11
11
## 📋 Contents
12
12
@@ -257,16 +257,17 @@ Get your free API key from:
257
257
258
258
### Server Configuration
259
259
260
-
The server uses the following default configuration:
260
+
The HTTP server uses the following default configuration:
261
261
262
262
-**Default Chain ID**: 1 (Ethereum Mainnet)
263
-
-**Server Port**: 3001
264
-
-**Server Host**: 0.0.0.0 (accessible from any network interface)
These values are hardcoded in the application. If you need to modify them, you can edit the following files:
268
+
When binding to a non-local interface, explicitly configure the public hostnames accepted by `MCP_ALLOWED_HOSTS` and `MCP_ALLOWED_ORIGINS`. Values may be hostnames or origin URLs; validation is port-agnostic.
267
269
268
-
- For chain configuration: `src/core/chains.ts`
269
-
- For server configuration: `src/server/http-server.ts`
270
+
Chain defaults and RPC endpoints are configured in `src/core/chains.ts`.
270
271
271
272
## 🚀 Usage
272
273
@@ -294,7 +295,7 @@ bun start
294
295
bun dev
295
296
```
296
297
297
-
Or start the HTTP server with SSE for web applications:
298
+
Or start the stateless Streamable HTTP server for web applications:
298
299
299
300
```bash
300
301
# Start the HTTP server
@@ -336,10 +337,6 @@ For a more portable configuration that you can share with your team or use acros
@@ -351,32 +348,45 @@ Place this file in your project's `.cursor` directory (create it if it doesn't e
351
348
2. Version control your MCP setup
352
349
3. Use different server configurations for different projects
353
350
354
-
### Example: HTTP Mode with SSE
351
+
### Example: Streamable HTTP Mode
355
352
356
-
If you're developing a web application and want to connect to the HTTP server with Server-Sent Events (SSE), you can use this configuration:
353
+
The HTTP entrypoint uses MCP `2026-07-28` stateless Streamable HTTP on `POST /mcp`. It does not mint `Mcp-Session-Id` values, and `GET /mcp` or `DELETE /mcp` return `405 Method Not Allowed`. HTTP is modern-only; stdio additionally serves legacy MCP `2025-11-25` clients through the SDK's version negotiation.
357
354
358
-
```json
359
-
{
360
-
"mcpServers": {
361
-
"evm-mcp-sse": {
362
-
"url": "http://localhost:3001/sse"
363
-
}
364
-
}
365
-
}
366
-
```
355
+
Modern HTTP clients must send:
367
356
368
-
This connects directly to the HTTP server's SSE endpoint, which is useful for:
357
+
-`Accept: application/json, text/event-stream`
358
+
-`MCP-Protocol-Version: 2026-07-28`
359
+
-`Mcp-Method: <json-rpc method>`
360
+
-`Mcp-Name: <tool name, resource URI, or prompt name>` for `tools/call`, `resources/read`, and `prompts/get`
- Web applications that need to connect to the MCP server from the browser
371
-
- Environments where running local commands isn't ideal
372
-
- Sharing a single MCP server instance among multiple users or applications
364
+
Clients should also send `params._meta.io.modelcontextprotocol/clientInfo`. The final specification makes client identity optional, so the server accepts a request when that field is absent.
373
365
374
-
To use this configuration:
366
+
Example discovery request:
375
367
376
-
1. Create a `.cursor` directory in your project root if it doesn't exist
377
-
2. Save the above JSON as `mcp.json` in the `.cursor` directory
378
-
3. Restart Cursor or open your project
379
-
4. Cursor will detect the configuration and offer to enable the server(s)
0 commit comments