Skip to content

Describe Capabilities ​

Status: Live on the public MCP. Tool: describe_capabilities.

Purpose ​

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.

When to use ​

  • First call when connecting — learn forks, modules, limits, and which EIP spec snapshot this lab implements before simulating
  • Answer support questions: “Is Glamsterdam available?”, “Which EIPs does that fork advertise?”, “Is EIP-8024 supported?”, “Can I run Glamsterdam bytecode with DUPN?”
  • Read the 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)

MCP tool name ​

describe_capabilities

Inputs ​

None required. Pass {} or omit arguments.

Outputs ​

FieldDescription
engineVersionSemver of mcp-execution-engine
ceilingsmaxGasLimit, maxTransactionGasLimit, defaultGasLimit, maxBytecodeBytes, maxTraceSteps, maxTxsPerBlock
baselineForkIdCurrent mainnet EL (fusaka) — probe label for mainnet-today; run the fork the user asked for
queryShapesDictionary: catalog id (simulate, generate, …) → mcpTool (run_bytecode, generate_artifact, …). Agents call mcpTool.
namedForksBerlin→Glamsterdam lineage — order, predecessorId, successorId, role, mascotEmoji (when assigned), activatedEips, advertised relatedEips, tools (MCP names)
eipIntroductionsWhen 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
eipsRunnable 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)
allowedBaseHardforksLineage forks (berlin … glamsterdam) plus aliases; glacier/BPO ids rejected

Example ​

Tool call:

json
{}

Output (abbreviated):

json
{
  "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 } }
    ]
  }]
}

JSON schema ​

describe_capabilities.input.json

Describe Capabilities Changelog
Describe Capabilities Changelog
  1. v0.252026-10-06Public endpoint is live.
  2. v0.242026-10-04EIP-7778 is a runnable Glamsterdam twin (run_transaction, run_block).
  3. v0.232026-10-04EIP-8282 is coverage unshown, with EIP-7997.
  4. v0.222026-10-04eipIntroductions.coverage adds unshown: execution-layer EIPs this lab does not demonstrate. EIP-7997 is the first.
  5. v0.212026-09-29eipIntroductions.coverage adds networking and informational: wire protocol and notes this lab does not execute.
  6. v0.202026-09-29eipIntroductions.coverage adds consensus: consensus-layer EIPs this lab does not execute.
  7. v0.192026-09-29eipIntroductions.coverage: twin, supported (omit from eips), or listed.
  8. v0.172026-09-22shapes generate/inspect map to generate_artifact / inspect_artifact.
  9. v0.162026-09-18eips[] rows include specUrl, specDate, status, and named test release (or live EIP page).
  10. v0.152026-09-17maxTransactionGasLimit exposes the separate 110M transaction-only ceiling.
  11. v0.142026-09-17baselineForkId is a first-class run target, not only a compare hint.
  12. v0.132026-09-16namedForks are catalog capabilities (summary, relatedEips, shapes); generic hardfork questions are first-class.
  13. v0.112026-09-10EIP-7843 SLOTNUM in the live catalog (shapes: block).
  14. v0.102026-09-10ceilings.maxTxsPerBlock; shapes may include block (run_block).
  15. v0.92026-09-08shapes distinguish run_bytecode vs run_transaction (7708/8037 include transaction).
  16. v0.82026-09-02Implemented for public launch — not a local stdio product path.
  17. v0.72026-08-27baselineForkId (osaka) and fork role metadata for mainnet vs preview comparisons.
  18. v0.62026-08-27Modules describe opcodes and encoding; demo scenarios removed from the catalog.
  19. v0.52026-08-27Runnable EIP modules with questions and scenarios; stub EIPs and presets removed.
  20. v0.42026-07-22Live MCP tool page — gateway v0.1 stdio ships describe_capabilities.

Get started = connect and ask questions. Reference = catalogues and tool schemas. Internals = for builders.