{"apiVersion":"v1","directorySlug":"feelyourprotocol-mcp-0976ff89bf","title":"Feel Your Protocol","description":"Interactive open-source explorations of Ethereum protocol changes. Real EVM and crypto libraries running in your browser.","pageUrl":"https://www.mcpbundles.com/skills/feelyourprotocol-mcp-0976ff89bf","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.feelyourprotocol.org/mcp","hostedMcpUrl":null,"toolCount":6,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"org.feelyourprotocol/feelyourprotocol-mcp-0976ff89bf","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"describe_capabilities","description":"Probe what this Feel Your Protocol MCP server supports before running simulations. Returns engine version, gas/trace/bytecode/txs-per-block ceilings, baselineForkId (fusaka — current mainnet EL), namedForks as the Berlin→Glamsterdam lineage (berlin through glamsterdam; aliases merge, shanghai, cancun, prague, osaka, amsterdam, mainnet-el — each with order, predecessorId, successorId, activatedEips, relatedEips twins, shapes), eipIntroductions (when each EIP activated — use with predecessor compa","inputSchema":{"type":"object","properties":{}},"logicalName":"describe_capabilities","displayName":"describe_capabilities","title":"describe_capabilities","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"run_bytecode","description":"Run caller-supplied raw EVM bytecode as a VM message-call under a fork / EIP configuration and return deterministic results: success, call-frame gasUsed, return data, final stack, optional opcode trace, optional stateGasSpilled (Glamsterdam), and provenance (includes predecessorForkId on historical forks). gasUsed is call-frame only (no 21000 transaction intrinsic). Optional accounts[] seeds code/balance/storage in the same call (existing-slot SSTORE: put storage on 0x000000000000000000000000000","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["bytecode"],"properties":{"fork":{"type":"object","required":["baseHardfork"],"properties":{"eips":{"type":"array","items":{"type":"integer","exclusiveMinimum":0}},"baseHardfork":{"type":"string","minLength":1}},"additionalProperties":false},"trace":{"type":"boolean"},"accounts":{"type":"array","items":{"type":"object","required":["address"],"properties":{"code":{"type":"string"},"address":{"type":"string","minLength":1},"balance":{"type":"string"},"storage":{"type":"array","items":{"type":"object","required":["slot","value"],"properties":{"slot":{"type":"string","minLength":1},"value":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}},"bytecode":{"type":"string","minLength":1},"gasLimit":{"type":"string"}},"additionalProperties":false},"logicalName":"run_bytecode","displayName":"run_bytecode","title":"run_bytecode","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"run_transaction","description":"Run an Ethereum call or contract-creation transaction under a fork / EIP configuration (VM transaction execution). Sender is impersonated from the `from` address — no private key required. Returns paid gasUsed (gasUsedScope: transaction), optional Glamsterdam txRegularGas / txStateGas, receipt logs / decodedLogs (EIP-7708 Transfer decorations), provenance, and for successful creation createdAddress / deployedCodeSize. Set to for a call. Omit to for contract creation; data is then initcode (EIP-7","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["from"],"properties":{"to":{"type":"string","minLength":1},"code":{"type":"string"},"data":{"type":"string"},"fork":{"type":"object","required":["baseHardfork"],"properties":{"eips":{"type":"array","items":{"type":"integer","exclusiveMinimum":0}},"baseHardfork":{"type":"string","minLength":1}},"additionalProperties":false},"from":{"type":"string","minLength":1},"value":{"type":"string"},"accounts":{"type":"array","items":{"type":"object","required":["address"],"properties":{"code":{"type":"string"},"address":{"type":"string","minLength":1},"balance":{"type":"string"},"storage":{"type":"array","items":{"type":"object","required":["slot","value"],"properties":{"slot":{"type":"string","minLength":1},"value":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}},"gasLimit":{"type":"string"},"authorizationList":{"type":"array","items":{"type":"object","required":["chainId","address","nonce","yParity","r","s"],"properties":{"r":{"type":"string","minLength":1},"s":{"type":"string","minLength":1},"nonce":{"type":"string","minLength":1},"address":{"type":"string","minLength":1},"chainId":{"type":"string","minLength":1},"yParity":{"type":"string","minLength":1}},"additionalProperties":false}}},"additionalProperties":false},"logicalName":"run_transaction","displayName":"run_transaction","title":"run_transaction","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"run_block","description":"Run 1–8 impersonated Ethereum transactions as one lab block under a fork / EIP configuration. Senders are impersonated from each `from` address — no private key required. Returns header snapshot (number, timestamp, gasUsed, optional slotNumber), per-tx paid gas / logs, and provenance. Lab mode generates header fields and skips chain header checks. Use when the question needs a header slot (EIP-7843 SLOTNUM), several txs in one block, a header timestamp/number, or a generic lab block on any linea","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["transactions"],"properties":{"fork":{"type":"object","required":["baseHardfork"],"properties":{"eips":{"type":"array","items":{"type":"integer","exclusiveMinimum":0}},"baseHardfork":{"type":"string","minLength":1}},"additionalProperties":false},"header":{"type":"object","properties":{"number":{"type":"string"},"timestamp":{"type":"string"},"slotNumber":{"type":"string"}},"additionalProperties":false},"accounts":{"type":"array","items":{"type":"object","required":["address"],"properties":{"code":{"type":"string"},"address":{"type":"string","minLength":1},"balance":{"type":"string"},"storage":{"type":"array","items":{"type":"object","required":["slot","value"],"properties":{"slot":{"type":"string","minLength":1},"value":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}},"transactions":{"type":"array","items":{"type":"object","required":["from","to"],"properties":{"to":{"type":"string","minLength":1},"code":{"type":"string"},"data":{"type":"string"},"from":{"type":"string","minLength":1},"value":{"type":"string"},"gasLimit":{"type":"string"}},"additionalProperties":false},"maxItems":8,"minItems":1}},"additionalProperties":false},"logicalName":"run_block","displayName":"run_block","title":"run_block","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"generate","description":"Derive structured protocol artifacts from a lab block run (same inputs as run_block: 1–8 txs, accounts, optional header). Default kind block-access-list (EIP-7928): returns BAL JSON, keccak256(RLP) hash, itemCount vs gas item cap, header gasUsed, provenance. Requires Glamsterdam (EIP-7928). BYOS lab only — not verification of a mainnet block BAL without archive parent state. Do not use run_block when the question is what the block commits to in the access list — use generate. Call describe_capab","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["transactions"],"properties":{"fork":{"type":"object","required":["baseHardfork"],"properties":{"eips":{"type":"array","items":{"type":"integer","exclusiveMinimum":0}},"baseHardfork":{"type":"string","minLength":1}},"additionalProperties":false},"kind":{"enum":["block-access-list"],"type":"string"},"header":{"type":"object","properties":{"number":{"type":"string"},"timestamp":{"type":"string"},"slotNumber":{"type":"string"}},"additionalProperties":false},"accounts":{"type":"array","items":{"type":"object","required":["address"],"properties":{"code":{"type":"string"},"address":{"type":"string","minLength":1},"balance":{"type":"string"},"storage":{"type":"array","items":{"type":"object","required":["slot","value"],"properties":{"slot":{"type":"string","minLength":1},"value":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}},"transactions":{"type":"array","items":{"type":"object","required":["from","to"],"properties":{"to":{"type":"string","minLength":1},"code":{"type":"string"},"data":{"type":"string"},"from":{"type":"string","minLength":1},"value":{"type":"string"},"gasLimit":{"type":"string"}},"additionalProperties":false},"maxItems":8,"minItems":1}},"additionalProperties":false},"logicalName":"generate","displayName":"generate","title":"generate","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"inspect","description":"Judge a caller-supplied structured artifact without chain state (encoding, structure, optional hash). Kinds (see inspectKinds): block-access-list (7928 BAL), authorization-list (set-code JSON), typed-transaction (2718 RLP hex), withdrawals (4895 JSON + withdrawalsRoot), execution-requests (7685 envelopes + requestsHash). Returns wellFormed, structureOk, hashMatch, errors[], computedHash, optional details — not consensus replay against mainnet or full blob/KZG sidecars. Call describe_capabilities","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["artifact"],"properties":{"fork":{"type":"object","required":["baseHardfork"],"properties":{"eips":{"type":"array","items":{"type":"integer","exclusiveMinimum":0}},"baseHardfork":{"type":"string","minLength":1}},"additionalProperties":false},"kind":{"enum":["block-access-list","authorization-list","typed-transaction","withdrawals","execution-requests"],"type":"string"},"artifact":{"anyOf":[{"type":"array","items":{}},{"type":"string","minLength":1},{"type":"object","additionalProperties":{}}]},"expectedHash":{"type":"string"},"blockGasLimit":{"type":"string"}},"additionalProperties":false},"logicalName":"inspect","displayName":"inspect","title":"inspect","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Feel-Your-Protocol&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3AuZmVlbHlvdXJwcm90b2NvbC5vcmcvbWNwIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Feel-Your-Protocol%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.feelyourprotocol.org%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Feel-Your-Protocol%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.feelyourprotocol.org%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Feel+Your+Protocol&connectorUrl=https%3A%2F%2Fmcp.feelyourprotocol.org%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Feel-Your-Protocol\" --url \"https://mcp.feelyourprotocol.org/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/feelyourprotocol-mcp-0976ff89bf","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/feelyourprotocol-mcp-0976ff89bf/tools/{tool}","mcpServerUrl":"https://mcp.feelyourprotocol.org/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/feelyourprotocol-mcp-0976ff89bf?live=1"}