
Edict
This is a compiler-as-a-service for agent-written code. Instead of generating text that gets parsed, your agent builds JSON ASTs directly and submits them through tools like edict_check and edict_compile. The pipeline validates structure, resolves names, type-checks, tracks effects (pure, io, reads, writes), verifies contracts via Z3, and outputs WASM. Errors come back as structured JSON with enough context for self-repair. You'd use this when you want agents to write programs with formal verification, not just scripts. It runs in Node, browser, Docker, or QuickJS, and includes 41 example programs to learn from. The effect system and WASM sandbox mean agent code runs isolated by default.
- GitHub stars
- 6
- tools
- 22
- transport
- STDIO
- last updated
- Mar 11, 2026
Tools
22 toolsPublic tool metadata for what this MCP can expose to an agent.
edict_schemaReturns the full AST JSON Schema — the spec for how to write programs
Returns the full AST JSON Schema — the spec for how to write programs
No parameter schema in public metadata yet.
edict_versionReturns compiler version and capability info
Returns compiler version and capability info
No parameter schema in public metadata yet.
edict_examplesReturns 41 example programs as JSON ASTs (includes schema snippet)
Returns 41 example programs as JSON ASTs (includes schema snippet)
No parameter schema in public metadata yet.
edict_validateValidates AST structure (field names, types, node kinds)
Validates AST structure (field names, types, node kinds)
No parameter schema in public metadata yet.
edict_checkFull pipeline: validate → resolve names → type check → effect check → verify contracts
Full pipeline: validate → resolve names → type check → effect check → verify contracts
No parameter schema in public metadata yet.
edict_compileCompiles a checked AST to WASM (returns base64-encoded binary)
Compiles a checked AST to WASM (returns base64-encoded binary)
No parameter schema in public metadata yet.
edict_runExecutes a compiled WASM binary, returns output and exit code
Executes a compiled WASM binary, returns output and exit code
No parameter schema in public metadata yet.
edict_patchApplies targeted AST patches by nodeId and re-checks
Applies targeted AST patches by nodeId and re-checks
No parameter schema in public metadata yet.
edict_errorsReturns machine-readable catalog of all error types
Returns machine-readable catalog of all error types
No parameter schema in public metadata yet.
edict_lintRuns non-blocking quality analysis and returns warnings
Runs non-blocking quality analysis and returns warnings
No parameter schema in public metadata yet.
edict_debugExecution tracing and crash diagnostics
Execution tracing and crash diagnostics
No parameter schema in public metadata yet.
edict_composeCombines composable program fragments into a module
Combines composable program fragments into a module
No parameter schema in public metadata yet.
edict_explainExplains AST nodes, errors, or compiler behavior
Explains AST nodes, errors, or compiler behavior
No parameter schema in public metadata yet.
edict_exportPackages a program as a UASF portable skill
Packages a program as a UASF portable skill
No parameter schema in public metadata yet.
edict_import_skillImports and executes a UASF skill package
Imports and executes a UASF skill package
No parameter schema in public metadata yet.
edict_generate_testsGenerates tests from Z3-verified contracts
Generates tests from Z3-verified contracts
No parameter schema in public metadata yet.
edict_replayRecords and replays deterministic execution traces
Records and replays deterministic execution traces
No parameter schema in public metadata yet.
edict_deployCompiles and deploys an Edict program to edge runtimes (Cloudflare Workers)
Compiles and deploys an Edict program to edge runtimes (Cloudflare Workers)
No parameter schema in public metadata yet.
edict_invokeInvokes a deployed Edict WASM service via HTTP
Invokes a deployed Edict WASM service via HTTP
No parameter schema in public metadata yet.
edict_invoke_skillInvokes a UASF skill package directly
Invokes a UASF skill package directly
No parameter schema in public metadata yet.
edict_packagePackages a compiled program as a deployable skill bundle
Packages a compiled program as a deployable skill bundle
No parameter schema in public metadata yet.
edict_supportReturns diagnostics and environment info for troubleshooting
Returns diagnostics and environment info for troubleshooting
No parameter schema in public metadata yet.
Sponsors
Readme
Edict
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.
Details
- Repository
- github.com/sowiedu/edict
- Categories
- AI & LLM Tools, Data & Analytics
- Package
edict-lang- Transport
- STDIO
- Registry
- MCP registry, active