Statically-typed JSON AST programming language with verification and WASM compilation, exposed via 19 MCP tools.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag โ we're steadily working through the catalog.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Edict.
edict_schemaReturns the full AST JSON Schema โ the spec for how to write programs
edict_versionReturns compiler version and capability info
edict_examplesReturns 41 example programs as JSON ASTs (includes schema snippet)
edict_validateValidates AST structure (field names, types, node kinds)
edict_checkFull pipeline: validate โ resolve names โ type check โ effect check โ verify contracts
edict_compileCompiles a checked AST to WASM (returns base64-encoded binary)
A programming language designed for AI agents. No parser. No syntax. Agents produce AST directly as JSON.
Edict is a statically-typed, effect-tracked programming language where the canonical program format is a JSON AST. It's purpose-built so AI agents can write, verify, and execute programs through a structured pipeline โ no text parsing, no human-readable syntax, no ambiguity.
Int, Float, String, Bool, Array<T>, Option<T>, Result<T,E>, records, enums, refinement types.pure, reads, writes, io, fails. The compiler verifies consistency.Edict compiles to WebAssembly and runs in a sandboxed VM. This is a deliberate security decision โ not a limitation:
EdictHostAdapter interfaceio, reads, writes, fails) lets the host inspect what a program requires before running itRunLimits controls execution timeout, memory ceiling, and filesystem sandboxingHost capabilities available through adapters: filesystem (sandboxed), HTTP, crypto (SHA-256, MD5, HMAC), environment variables, CLI arguments. New capabilities are added by extending EdictHostAdapter.
The fastest way to use Edict is through the MCP server โ it exposes the entire compiler pipeline as tool calls:
Or install locally:
Two calls to get started: edict_schema (learn the AST format) โ edict_check (submit a program). See MCP Tools for the full tool list.
Run the Edict MCP server in a container โ no local Node.js required:
Supported platforms: linux/amd64, linux/arm64.
Run the Edict compiler entirely in the browser โ no server required:
| Bundle | Size | Phases | Use case |
|---|---|---|---|
edict-lang/browser | 318 KB | 1โ3 (validate, resolve, typecheck, effects, lint, patch) | Lightweight checking |
edict-lang/browser-full | ~14 MB | 1โ5 (+ WASM codegen, Z3 contracts, WASM execution) | Full compile & run |
Note: ESM modules require HTTP serving. Use
npx serve .or any static server โfile://won't work.
See examples/browser/index.html for a working example.
The Edict compiler also runs inside QuickJS WASM โ useful for sandboxed runtimes, edge workers, or embedding in other WASM applications:
| Bundle | Size | Phases | Slowdown vs Node.js |
|---|---|---|---|
dist/edict-quickjs-check.js | 373 KB | 1โ3 (validate, resolve, typecheck, effects) | ~3.7x |
dist/edict-quickjs-full.js | 932 KB | 1โ5 (check + WASM compile) | ~3.7x |
Note:
quickjs-emscriptenis an optional peer dependency โ install it alongsideedict-langto useEdictQuickJS. For fs-free environments, passbundleSourcedirectly instead of loading from disk.
See docs/quickjs-feasibility-report.md for full benchmarks and recommendations.
| Tool | Description |
|---|---|
edict_schema | Returns the full AST JSON Schema โ the spec for how to write programs |
edict_version | Returns compiler version and capability info |
edict_examples | Returns 41 example programs as JSON ASTs (includes schema snippet) |
edict_validate | Validates AST structure (field names, types, node kinds) |
edict_check | Full pipeline: validate โ resolve names โ type check โ effect check โ verify contracts |
edict_compile | Compiles a checked AST to WASM (returns base64-encoded binary) |
edict_run | Executes a compiled WASM binary, returns output and exit code |
edict_patch | Applies targeted AST patches by nodeId and re-checks |
edict_errors | Returns machine-readable catalog of all error types |
edict_lint | Runs non-blocking quality analysis and returns warnings |
edict_debug | Execution tracing and crash diagnostics |
edict_compose | Combines composable program fragments into a module |
edict_explain | Explains AST nodes, errors, or compiler behavior |
edict_export | Packages a program as a UASF portable skill |
edict_import_skill | Imports and executes a UASF skill package |
edict_generate_tests | Generates tests from Z3-verified contracts |
edict_replay | Records and replays deterministic execution traces |
edict_deploy | Compiles and deploys an Edict program to edge runtimes (Cloudflare Workers) |
edict_invoke | Invokes a deployed Edict WASM service via HTTP |
edict_invoke_skill | Invokes a UASF skill package directly |
edict_package | Packages a compiled program as a deployable skill bundle |
edict_support | Returns diagnostics and environment info for troubleshooting |
| URI | Description |
|---|---|
edict://schema | The full AST JSON Schema |
edict://schema/minimal | Minimal schema variant for token-efficient bootstrap |
edict://examples | All example programs |
edict://errors | Machine-readable error catalog |
edict://schema/patch | JSON Schema for the AST patch protocol |
edict://guide | Agent bootstrap guide for MCP-first onboarding |
edict://support | Diagnostics and environment info |
A "Hello, World!" in Edict's JSON AST:
The core design: an agent submits an AST โ the compiler validates it โ if wrong, returns a StructuredError with enough context for the agent to self-repair โ the agent fixes it โ resubmits.
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/sowiedu-edict)<a href="https://allmcps.com/mcp/sowiedu-edict"><img src="https://allmcps.com/api/badge/sowiedu-edict?style=directory" alt="Edict on AllMCPs" /></a>