mcp-gateway
Provides tools for running EVM bytecode in a simulated Ethereum execution environment, enabling agents to test and execute smart contract bytecode.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-gatewaysimulate EVM bytecode for a simple transfer"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-gateway
MCP server gateway for Feel Your Protocol — exposes the mcp-execution-engine to AI agents over stdio (local) and HTTP (later).
Repo: github.com/feelyourprotocol/mcp-gateway · Release: v0.1.0 (stdio, local agents)
Architecture
Agent (Cursor, Claude Desktop, …)
→ MCP stdio transport
→ mcp-gateway (tools + TaskProcessor)
→ mcp-execution-engine (isolated EthereumJS lab)Layer | This repo | Role |
Gateway |
| MCP transport, tool registry, payments seam (later) |
Engine |
| Pure simulation core — no HTTP or MCP |
Docs: mcp-docs.feelyourprotocol.org
Related MCP server: multivon-mcp
Tools (v0.1.0)
MCP tool | Shape | Status |
| probe | Shipped (stdio) |
| simulate | Shipped (stdio) |
| transaction | Shipped (stdio) |
| block | Shipped (stdio) |
| generate | Shipped (stdio) |
| inspect | Shipped (stdio) |
Local development
Clone the execution engine as a sibling directory (required — gateway depends on file:../mcp-execution-engine):
git clone https://github.com/feelyourprotocol/mcp-execution-engine.git
git clone https://github.com/feelyourprotocol/mcp-gateway.git# From mcp-execution-engine
npm ci && npm run build
# From mcp-gateway
npm ci
npm run test:ci # build + vitest
npm run build && npm start # stdio MCP server (for agent config)Cursor / Claude Desktop
{
"mcpServers": {
"feel-your-protocol": {
"command": "node",
"args": ["/absolute/path/to/mcp-gateway/dist/index.js"]
}
}
}Build first (npm run build). Use an absolute path to dist/index.js.
After pulling or changing gateway code: run npm run build again, then restart the MCP server in Cursor (Settings → MCP → restart feel-your-protocol, or reload the window). Cursor caches the tool list from the running process — it will not pick up new tools until restart.
On startup the server logs to stderr (visible in MCP logs):
[fyp-mcp] FeelYourProtocol v0.1.0 ready — tools: describe_capabilities, run_bytecode, run_transaction, run_block, generate_artifact, inspect_artifactIf you only see one tool in that line, the running binary is stale.
Usage metrics (HTTP lab)
HTTP is stateless. Each POST builds a fresh server, no session id is issued, and a process restart does not invalidate an install. GET and DELETE on /mcp return 405 (no server-push stream, no session to close).
HTTP runs engine work on one worker thread per core (os.availableParallelism()), so a heavy call cannot block /healthz or other clients. One WorkerPool is created in src/http/index.ts and shared by every request. Limits are constants in src/engine/WorkerPool.ts, with no env settings: 15 s wall clock per call (the worker is terminated, result execution_timeout), 4 queued calls (the next gets server_busy), 256 MB heap per worker. A caller that disconnects cancels its queued or running call. describe_capabilities stays on the main thread. Stdio keeps the in-process LocalTaskProcessor.
Gateway appends events to SQLite when MCP_METRICS_DB is set on fyp-mcp-http (session_open on initialize with client name/version; tool_call per tool with outcome, optional payment fields, and fork id / fork.eips from structured input only — no prompts). Stdio does not write metrics. Operator UI lives in metrics-ui/ (Vue + Tailwind + ECharts): clients table, tool usage with all six tools, hardfork and EIP charts, window-correct headline totals.
npm run start:http # MCP on :3000
MCP_METRICS_DB=/tmp/events.sqlite MCP_METRICS_PEPPER=dev npm run start:http
MCP_METRICS_DB=/tmp/events.sqlite npm run start:metrics # after metrics-ui build
cd metrics-ui && npm ci && npm run dev # :5177 demo fixtures (see website README dev ports)
npm run metrics-ui:buildProduction: fyp-mcp-metrics on loopback :3001, nginx https://mcp.feelyourprotocol.org/usage/ (basic auth). See server-config aws/roles/health/METRICS.md.
JSON schemas
Runtime validation uses Zod in src/schemas/. Published JSON copies for agents and mcp-docs live in schemas/ (see manifest.json) — mirror byte-for-byte to website/mcp-docs/public/schemas/.
License
MIT
Lab host
Merges to main run .github/workflows/deploy.yml (rsync dist/, production node_modules/, and metrics-ui/dist/ to the AWS lab; engine sibling is not overwritten). The deploy stamp restarts fyp-mcp-http and fyp-mcp-metrics. Ops: server-config aws/hosts/mcp-lab/SETUP-CD.md and aws/roles/health/METRICS.md.
Related MCP Connectors
MCP server for building and testing AI agents with multi-model experimentation and insights.
Self-hosted MCP server: 26 deterministic dev, security, and EVM tools.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
MCP server connecting AI agents to non-custodial staking data across 130+ networks.
Related MCP Servers
AlicenseCqualityDmaintenanceAn MCP server providing unified access to blockchain operations, bridging, swapping, and crypto trading strategies for AI agents.37179GPL 3.0
multivon-mcpofficial
AlicenseAqualityAmaintenanceMCP server that gives AI coding agents direct access to evaluation tools.23Apache 2.0- AlicenseNot gradedqualityCmaintenanceAn MCP server that bridges AI models with Ethereum blockchains via all JSON-RPC calls, enabling natural language queries for block numbers, balances, transactions, and smart contract data.12 npm21MIT
- AlicenseNot gradedqualityDmaintenanceMCP server providing AI assistants with tools for advanced EVM smart contract analysis, including proxy detection, implementation resolution, and security analysis.1MIT