sowiedu avatar

Edict

sowiedu/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 tools

Public 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

CI License: MIT Node.js MCP

badge

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.


View the full README on GitHub

Details

Repository
github.com/sowiedu/edict
Categories
AI & LLM Tools, Data & Analytics
Package
edict-lang
Transport
STDIO
Registry
MCP registry, active

Related AI & LLM Tools MCP servers

View all
1spectra-g avatarEngramspectra-g/engramMCP adapter for Engram - organizational memory for AI agents6stars
2writbase avatarWritbasewritbase/writbaseMCP-native task management for AI agent fleets with scoped permissions and provenance.6stars
30xmortuex avatarQemu Mcp0xmortuex/qemu-mcpBoot and drive QEMU VMs from an AI agent: keys, screenshots, serial. No guest agent.5stars
4hasdata avatarHasData Binghasdata/bing-mcpBing search results with the ad block and Copilot answer, geo and market targeting, as JSON.5stars
5unlikefraction avatarSilicon Friendlyunlikefraction/silicon-friendlyDirectory rating websites on AI-agent-friendliness. Search, lookup, and submit.5stars
6tickerdb avatarTickerDBtickerdb/tickerdb-mcpPre-computed market data that improves agent reasoning, reduces token usage, and replaces pipelines.5stars