What can this MCP server run on Amsterdam, and which EIPs have runnable twins?
Look fornamed forks and the runnable eips[] rows
Agent will likely call describe_capabilitiesWhat you can ask →
Status: Live on the public MCP. Tool:
describe_capabilities.
What can this MCP server run on Amsterdam, and which EIPs have runnable twins?
Look fornamed forks and the runnable eips[] rows
Agent will likely call describe_capabilitiesWhat you can ask →
Return a machine-readable snapshot of what this server can actually run: engine version, ceilings, named fork capabilities, inspectKinds, and runnable EIP modules. Each named fork describes a generic hardfork run (summary, keywords, tools, advertised relatedEips) — you do not need to name an EIP. Each EIP module describes what became possible (opcodes, encoding rules, keywords, tools) — not demo programs. Unimplemented EIPs are omitted. Use eips[].tools / namedForks[].tools to pick run_bytecode, run_transaction, run_block, generate_artifact, or inspect_artifact. queryShapes[] is the dictionary from internal catalog ids (simulate, generate, …) to those MCP names — do not call the id.
glamsterdam named-fork row for a generic preview run; read opcode encoding so you can construct bytecode (this tool does not hand you a canned example program)describe_capabilities
None required. Pass {} or omit arguments.
| Field | Description |
|---|---|
engineVersion | Semver of mcp-execution-engine |
ceilings | maxGasLimit, maxTransactionGasLimit, defaultGasLimit, maxBytecodeBytes, maxTraceSteps, maxTxsPerBlock |
baselineForkId | Current mainnet EL (fusaka) — probe label for mainnet-today; run the fork the user asked for |
queryShapes | Dictionary: catalog id (simulate, generate, …) → mcpTool (run_bytecode, generate_artifact, …). Agents call mcpTool. |
namedForks | Berlin→Glamsterdam lineage — order, predecessorId, successorId, role, mascotEmoji (when assigned), activatedEips, advertised relatedEips, tools (MCP names) |
eipIntroductions | When each EIP activated. coverage is twin (runnable module), supported (hardfork already applies it — omit that id from eips and use the fork tools), unshown (execution-layer, in the bundle, and this lab does not demonstrate it — do not put it in eips; a generic fork run does not stand in for it), consensus (consensus-layer — this lab does not execute it; do not put it in eips), networking (wire protocol — this lab does not speak it; do not put it in eips), informational (analysis or a schedule — this lab does not execute it; do not put it in eips), or listed (name and fork only). observableTools are MCP names; supported, unshown, consensus, networking, and informational rows omit them |
eips | Runnable modules — optional comparison lookup from eipIntroductions (use when the user asks for before/after); tools lists MCP names to call; each row includes specUrl, specDate, status, and optional testReleaseUrl / testReleaseName (or a live eips.ethereum.org page when unpinned) |
allowedBaseHardforks | Lineage forks (berlin … glamsterdam) plus aliases; glacier/BPO ids rejected |
Tool call:
{}Output (abbreviated):
{
"engineVersion": "0.1.0",
"baselineForkId": "fusaka",
"queryShapes": [
{ "id": "simulate", "mcpTool": "run_bytecode", "summary": "…" }
],
"namedForks": [
{ "id": "fusaka", "role": "current", "mascotEmoji": "🦓", "aliases": ["osaka", "mainnet-el"], "relatedEips": [7883, 7951], "tools": ["run_bytecode", "run_transaction", "run_block"], "…": "…" },
{ "id": "glamsterdam", "role": "preview", "mascotEmoji": "🐻❄️", "aliases": ["amsterdam"], "relatedEips": [2780, 7708, 7778, 7843, 7928, 7954, 7976, 8024, 8037, 8038], "tools": ["run_bytecode", "run_transaction", "run_block"], "…": "…" }
],
"eips": [{
"eip": 8024,
"runnable": true,
"comparison": { "baselineForkId": "fusaka", "previewForkId": "glamsterdam", "note": "…" },
"summary": "Glamsterdam EVM executes DUPN, SWAPN, and EXCHANGE. Supply any bytecode; this server does not ship demo programs.",
"tools": ["run_bytecode"],
"status": "Review",
"specDate": "2026-06-10",
"testReleaseName": "tests-glamsterdam-devnet@v8.1.0",
"opcodes": [
{ "name": "DUPN", "opcodeHex": "0xe6", "effect": "Copy the stack item at depth n onto the top.", "immediate": { "encoding": "n = (immediate + 145) mod 256; …", "minDepth": 17, "maxDepth": 235 } }
]
}]
}describe_capabilities.input.json