Iyi 0.20: The Language That Ships Its MCP Server in the Binary The Iyi language project released version 0.20.1 on November 4, a Crystal-compatible compiled language whose compiler binary bundles both its Language Server Protocol server and its Model Context Protocol server, exposing five MCP tools (check, fix, test --affected, run --sandbox, context) over stdio with no separate install. Iyi's .iyimod module system compiles against dependency declarations rather than bodies, and the project reports that `iyi mod context --json` outputs declaration-only context at 52–59% of full source size, cutting prompt tokens for models by 31–43%. The project has 55 GitHub stars, an unstable syntax, and is not production-ready for most teams, though the same compiler builds .cr files and nine Crystal shards including kemal, db, ameba, sqlite3 and radix, and CI cross-compiles seven triples including wasm32-wasi. Iyi shipped v0.20.1 on November 4. It is a Crystal-compatible compiled language with one rule that separates it from every other language announcement this year: the LSP server and the MCP server are in the compiler binary. Not plugins. Not optional installs. The binary. The .iyimod Module System Every language that calls itself “AI-native” in 2026 means it has Python bindings or runs on a GPU. Iyi https://iyi.dev/ means something specific. Its central design rule: a module compiles against its dependencies’ declarations, never their bodies. A .iyimod artifact packages three things — declarations, machine code, and a per-section checksum. Build once, ship the artifact, delete the source. The next build reads declarations and links. It does not parse bodies. For agents, this translates directly. iyi mod context --json outputs declaration-only context at 52–59% of full source size. Models writing against it use 31–43% fewer prompt tokens. That is not a small optimization. That is the difference between fitting a codebase in a context window and not fitting it. Other languages make agents read entire files to understand a function signature. Iyi does not. MCP and LSP Are in the Binary No other language ships this way. iyi mcp exposes five Model Context Protocol https://modelcontextprotocol.io/ tools over stdio. iyi lsp speaks Language Server Protocol the same way. Configuration required: none. Separate install: none. - check — returns JSON with file, line, span, and a suggested edit when the compiler knows the fix. Clean check exits 0, making the exit code the verdict. - fix — applies the suggested edit. - test –affected — runs only the tests an edit can reach. - run –sandbox — executes generated code against a sandboxed runtime. - context — prints every import’s declarations with docs, no bodies. The key point here is ownership. Iyi’s compiler owns the MCP tools, so check can return suggested edit directly from the type-checker. A third-party plugin bolted onto another language cannot do that. Crystal Compatibility New languages usually ask you to abandon your ecosystem. Iyi does not. The same compiler builds .cr files. iyi build --crystal gives the program Crystal https://crystal-lang.org/ ‘s full standard library. require "kemal" in an .iyi file serves HTTP. The team ran nine Crystal shards — kemal, db, ameba, sqlite3, radix, and others — through the compiler. They build. For Crystal and Ruby-ish developers, this is the lowest-friction path to experimenting with Iyi. For everyone else: if the language builds Crystal’s ecosystem, its stdlib foundations are solid. Nine Targets, Including WASM CI cross-compiles against seven triples: Linux x86 64 and aarch64, macOS Intel and ARM, Windows MSVC and GNU, and wasm32-wasi. Concurrency runs on the native targets. The WASM target gets no concurrency runtime rather than a broken sequential imitation — an honest call. Status: Early, Worth Watching 55 GitHub stars. Syntax not stable. v0.20.1 https://github.com/iyilang/iyi/releases/tag/v0.20.1 was a stress-test bugfix round: a darwin server killed by SIGPIPE when a client reset before accept, a collector crash on M2 aarch64, compiler crashes around NoReturn blocks, and a stale Windows DLL in the build cache. The team found and fixed these quickly. But this is not production-ready for most teams. The .iyimod approach is the right architectural bet for agentic programming. The decision to put MCP and LSP in the compiler binary — instead of leaving it to third-party tooling — sets the right precedent. Watch v0.21 for syntax stability signals. Experiment now if you are building agent tooling and want to see what this model feels like in practice. curl -fsSL https://raw.githubusercontent.com/iyilang/iyi/master/install.sh | sh ~/.local/bin/iyi run ~/.local/share/iyi/samples/hello.iyi