Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
IK8B_BINNoPath to prebuilt ik8b binary
IK8B_ROOTNoPath to ik8b checkout (defaults to <IKIDE_ROOT>/tools/ik8b)
IKIDE_BINNoPath to prebuilt ikide binary
IKIDE_ROOTNoPath to ikide checkout (overrides vendored submodule)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}
prompts
{}
resources
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
ik_overviewA

Curated cheat-sheet for the ik language: sigils ($ @ %), the left-to-right value -> target assignment, program shape, types, memory spaces, control flow, interrupts, and a minimal program. READ THIS FIRST before writing any ik code.

ik_grammarA

The complete formal EBNF grammar of the ik language.

ik_referenceA

Read a language-reference chapter as plain text. Topics: lexical, types, memory, expressions, statements, functions, interrupts, interrupt-vectors, intrinsics, conditional-compilation, grammar.

ik_intrinsicsA

List the compiler intrinsics (@nop @sei @cli @wdr @sleep @break @burn @swap @movw @mul @goto @spm @swtch) with signatures and notes. These are the only built-in @-functions.

ik_vm_referenceA

Deep reference for the ik8bvm AVR simulator: core classes, register file, SREG flags, memory map, the implemented instruction set, the peripherals/interrupts modeled, cycle counting, and the explicit limitations. Use this to reason about simulation behaviour.

ik_compiler_referenceA

Deep reference for the ik8b compiler internals: the lex->parse->IR->regalloc->AVR->HEX pipeline, the SSA IR shown by --emit ir, register allocation, the calling convention/ABI, ISR codegen, fixed-point (r8/r16) lowering, intrinsic lowering, and optimization passes. Use this to reason about the generated code.

ik_tutorialA

Read a tutorial page, or list pages when no argument is given. Pages: index, installing, firstprogram, tour, stdlib, interrupts.

ik_stdlib_listA

List every standard-library module with a one-line summary, whether it depends on the selected target, and its public function count.

ik_stdlib_moduleA

Full API for one stdlib module: every public function signature + summary, the rendered reference doc, and optionally the ik source. Accepts 'gpio' or 'std/gpio'.

ik_examplesA

List bundled ik example programs, or return one example's source by name.

ik_searchA

Full-text search across the language reference, stdlib docs, tutorial, toolchain docs, std/ sources, and examples. Returns matching lines with scope/file/line.

ik_devicesA

List supported AVR target devices (name, core family, SRAM, FLASH, EEPROM, SRAM_START). Optional filter matches a device-name substring or an exact core family (AVRe, AVRePlus, AVRxm, AVRxt, AVRrc).

ik_device_infoA

Memory layout and core family for one device (the value for target <device>).

ik_compileA

Compile ik source (inline source or a path) with the real ik8b compiler. Returns success, diagnostics, and the Intel HEX (emit=hex) or SSA IR (emit=ir) artifact. import std/... resolves automatically. Use this to VERIFY any ik code you generate.

ik_checkA

Fast syntax/semantic check: compile and return only ok + diagnostics (no artifact). The quickest write-compile-fix feedback loop.

ik_simulateA

Run code on the ik8bvm AVR core simulator. Provide ik source/path (compiled then run with the source's own target), OR a hex_path + mcu. Returns the register/PC/SP/SREG dump, any --peek bytes, and an optional instruction trace. Interrupts can be injected for testing.

ik_project_analyzeA

Understand a multi-file ik project structurally (exact, parser-based — not fuzzy search). Returns the import graph, the effective target and where it is declared, the @main entry file, the symbols each file exports (functions/isrs/consts), and cross-file problems (no/conflicting target, missing/duplicate @main, unresolved imports). Use this BEFORE editing an existing project so you write in the right context (e.g. don't re-declare target in imported files — they inherit it). Give a directory path, a single-file path, or inline files. Set include_diagnostics to also compile the entry point for authoritative errors.

ik_statusA

Diagnostics: resolved toolchain root, compiler/simulator binary paths, and whether documentation sources are available.

ide_overviewA

How to build a complete ikide project: the program (.ik), the test bench (tests/.rhai), and virtual devices/peripherals (devices/.rhai), and how they fit together. READ THIS before writing tests or devices.

ide_test_apiB

The complete test-bench (Bench) API for tests/*.rhai: every function to drive and observe the simulated core (program, run, UART, SPI, I2C, ADC, GPIO, SRAM/IO, EEPROM, interrupts, core) plus assertions, grouped by area, with how-to-run notes and examples.

ide_test_templateC

A starter tests/*.rhai bench script to adapt.

ide_run_testsA

Run the headless ikide test runner and return the real PASS/FAIL verdict. Provide an existing workspace (with tests/*.rhai), OR inline program + test (assembled into a throwaway workspace). Optionally attach custom devices and pick an mcu for load_hex tests.

ide_device_apiB

The complete virtual-device authoring contract for devices/.rhai: meta() fields, pin/terminal modes, view element kinds, every behaviour handler (pin_set, on_view, spi_transfer, i2c_, uart_tx/poll, tick), the framebuffer/display API, helpers, and the execution model & limits.

ide_device_templateC

A starter devices/*.rhai virtual-device script to adapt.

ide_devicesA

List the virtual-device models the IDE ships (name, bus, address, display, pins, purpose). Optional filter matches name or bus (none/uart/spi/i2c). Read one model's source with ide_device_script.

ide_device_scriptA

Return the full Rhai source of a shipped device model (e.g. 'ssd1306', 'max7219', 'led') — a worked reference for authoring your own.

ide_examplesA

List the IDE's bundled breadboard example projects (program + wiring + often tests/devices), with title and description.

ide_exampleA

Return all files of one example project (main.ik, tests/.rhai, devices/.rhai, info.json, README) — a complete worked reference.

ide_searchA

Full-text search across the IDE's device scripts, the device-authoring guide, and example projects' programs/tests.

ide_statusB

Diagnostics: resolved ikide root, ikide binary path, and whether the IDE checkout is available.

Prompts

Interactive templates invoked by user choice

NameDescription
ik_new_projectScaffold a new ik program from a plain-language goal: pick the target, write idiomatic ik, and verify it compiles and simulates.
ik_write_testsWrite a tests/*.rhai bench for an ik program and run it headless for a real PASS/FAIL verdict.
ik_model_deviceAuthor a devices/*.rhai virtual peripheral so a program can be tested against a part you don't have on the bench.
ik_port_targetPort an ik program to a different AVR target, adjusting register addresses and guarding device-specific code.
ik_debugDiagnose and fix an ik compile or simulation failure using the real compiler and the language reference.
ik_reviewReview an ik program or project for correctness, idiom, and resource use.

Resources

Contextual data attached and managed by the client

NameDescription
ik overviewCurated ik language cheat-sheet.
ik grammar (EBNF)Formal EBNF grammar.
ik8bvm referenceDeep AVR simulator reference.
ik8b internalsDeep compiler internals reference.
ikide project overviewHow program + tests + devices fit together.
ikide test APIThe test-bench (Bench) scripting API.
ikide device APIThe virtual-device authoring contract.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/isakruas/ikmcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server