Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

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
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
iso_inspectA

List an install ISO's contents WITHOUT mounting it (pure ISO9660/Joliet read).

Use this before any VM work: confirms the image is readable, shows the layout (I386/ legacy vs SOURCES/ modern), and surfaces version markers. Run fingerprint_windows for the full version verdict.

vm_createB

Create a registered sandbox VM (qcow2 disk + config) for the reference ISO.

Networking is OFF by default — enabling it needs the user's OK (RULES.md). Call vm_boot next. workspace: path of the universal-os workspace this VM belongs to.

vm_bootA

Boot the VM headless (boot='d' = CD-ROM first, 'c' = disk). Waits, then reports status.

Take a screenshot afterwards to see the display. Under pure TCG (no /dev/kvm) a full Windows install can take 30-90+ minutes — snapshot right after setup milestones.

vm_statusA

Report one VM's status, or every registered VM when name is empty.

vm_screenshotA

Capture the VM display to a PNG and return its path.

Use it after boot, after each setup screen, and after app tests — it is the AI's eyes on the guest. Read the PNG with vision to decide the next step.

vm_snapshotA

Save an internal qcow2 snapshot of the running VM (e.g. 'clean-install', 'pre-app-test').

Snapshot before risky operations: installing apps, changing components, registry edits. Restore with vm_restore. Tag naming: kebab-case, one milestone per tag.

vm_restoreC

Restore the running VM to a previously saved snapshot (revert experiments safely).

vm_execB

Run a command inside the guest via the QEMU guest agent (qemu-ga must be installed).

args: single string, split on whitespace, quotes respected, backslashes kept as-is (Windows guest paths like 'C:\uos-tests\app.exe' survive). Windows guests: use 'cmd.exe' with args like '/c dir C:'. If the agent is missing the error explains how to install it (virtio-win ISO for Windows guests).

vm_put_fileA

Copy a file from the host into the guest (via qemu-ga). Guest paths are Windows-style for Windows guests (e.g. C:\uos-tests\app.exe). Size cap: ~2GB practical.

vm_get_fileC

Pull a file out of the guest (e.g. an .etl trace, a crash dump, a test log).

vm_mount_isoA

Swap the CD-ROM medium in the running VM (e.g. insert virtio-win to install the guest agent, then swap back to the reference ISO).

vm_sendkeyA

Send a key combo to the VM display: 'ret', 'esc', 'f8', 'ctrl-alt-delete', 'shift-f10', 'spc', 'tab', 'up'/'down'/'left'/'right', single letters/digits.

This drives text-mode installers BEFORE the guest agent exists (the part vm_exec cannot reach). One combo per call; screenshot after each to see the installer's reaction.

vm_shutdownA

Shut the VM down (ACPI powerdown; falls back to quit after a timeout; force=true kills immediately). Registry metadata is kept — vm_boot can start it again.

vm_logB

Tail the VM's serial console log and show the qemu command line (debugging boot).

fingerprint_windowsA

Identify the Windows version/build inside an install ISO (any version): layout markers, version resources of setup binaries, cversion.ini — with confidence.

Run this first. It decides the API-surface strategy (NT 5.x vs 6.x differ a lot). Version facts are interface facts — fine to journal; media contents stay out of the repo.

analyze_peA

Analyze one PE binary (headers, sections, imports, exports, version resource).

Works on a file extracted INSIDE the VM sandbox or copied out with vm_get_file. Reports interface facts only — no disassembly, nothing shippable from the binary.

iso_extractA

Extract ONE file from an install ISO to the host inspect dir — no mounting (pure ISO9660/Joliet read), e.g. member='/I386/NTOSKRNL.EX_' dest='~/inspect/xp/'.

Inspection only: keep extracted copies OUTSIDE the rebuilt-OS repo and keep only interface facts (RULES.md). Pair with analyze_pe / dump_api_surface.

dump_api_surfaceB

Dump the interface surface of a directory of reference DLLs: export names, ordinals, imports, versions -> JSON + MD. This is the rebuild's target contract.

IMPORTANT (moderate guardrails): keep the inspected copies OUTSIDE the repo (e.g. ~/inspect/); only the generated surface JSON/MD goes into workspace/api/.

trace_syscallsA

Write a concrete NT-syscall/API tracing plan for this VM (ETW/WPR steps, KDNET setup, static-surface fallback) and optionally kick off in-guest prep via qemu-ga.

Dynamic tracing needs in-guest tooling; this tool gives the exact commands and can fetch the results with vm_get_file afterwards.

behavior_diffB

Diff two API-surface dumps (reference vs rebuilt build): per-module export coverage, missing/extra exports. THE key progress metric for compatibility.

init_workspaceB

Create a rebuild workspace: src/{boot,drivers,subsystems,dll,shell,include,apps}, spec/, api/, tests/, reports/, third-party/, plus WORKSPACE.md journal.

Everything the AI builds lands here. target examples: windows-xp, windows-7, windows-any (version decided after fingerprint_windows).

scaffold_componentB

Scaffold a ReactOS-style component: CMakeLists.txt, .spec export table, .c with DllMain, README, and an API test file.

exports: comma-separated export names from the API surface. Implementation always comes from behavioral specs written in spec/ — never from decompiled bodies.

gen_api_stubB

Generate .spec + stub .c for one DLL straight from an API-surface dump (stubs return E_NOTIMPL; implement from behavioral specs, highest-import first).

gen_compat_layerC

Scaffold a small compat shim for one module: records per-quirk workarounds that unblock specific apps (quirks: semicolon-separated; for_apps: comma-separated).

clone_reference_repoA

Clone a reference implementation into third-party/ (read-only reference): reactos, wine, qemu, virtio-win, or any git URL. Clone repos as needed when a component needs proven patterns or test suites.

build_planC

Return the concrete build plan for the workspace and check which host toolchains are present (cmake/ninja/mingw/RosBE). The AI runs the steps in src/.

test_app_in_vmB

Full app-compat cycle on the rebuilt (or reference) OS: copy the app in, run install_cmd then the app, capture exit/output, screenshot, record PASS/FAIL.

install_cmd/run_cmd: single command lines (argv[0] + args). Results go to tests/results/ and tests/RESULTS.md in the workspace. Use reference apps the user owns (RULES.md).

compat_reportB

Aggregate all recorded app tests into a dated compatibility report (pass rate, failing labels, next-step guidance).

regression_logB

Append a dated entry to tests/REGRESSIONS.md (status: pass|regressed|fixed|wip).

kb_searchA

Search field notes from previous rebuild attempts (routes, gotchas, versions). Search BEFORE starting — prior art saves the whole session. Covers the repo knowledge base, the wheel's seed notes, and $UOS_HOME/knowledge.

kb_pathA

Report which knowledge-base roots resolve and where new notes go (repo checkout / packaged seed / UOS_HOME). Use when kb_search comes back empty and you need to know why.

kb_newB

Create a field-note template for this rebuild. Fill it while working, then kb_check before sharing. One note per os+component milestone.

kb_checkB

Lint a field note: required sections + prohibited-content scan (no binary dumps, no media links). Run before opening a PR.

kb_indexA

Regenerate knowledge/INDEX.md from all notes' front matter.

env_checkA

Check the host environment: qemu, qemu-img, git, cmake, ninja, mingw, /dev/kvm. Run once at session start; the result decides what the AI can do right now.

iso_verifyA

Validate an install ISO before use. Checks that the media exists and contains a recognizable Windows boot/install structure with no host-side mounting.

vm_network_configA

Set the VM's network flag: OFF by default; enabling needs the user's OK (RULES.md). Only user-mode NAT is implemented (bridge raises honestly). Applies at the next vm_boot - a running VM keeps its old network until shutdown + boot. Check with vm_status.

workspace_statusA

Summarize the rebuild workspace: required dirs (src/spec/api/tests/reports/ third-party), the WORKSPACE.md journal state and its last line, api/ surface count and src/ components. Use to decide the next phase of the loop.

cleanup_workspaceA

Find (and with confirm=true delete) regenerable junk in the workspace: pycache, .pytest_cache, build/, dist/, .pyc/.pyo/*.tmp. Dry run by default - the response lists what would go. Sources, WORKSPACE.md, reports/ and third-party/ are never touched; VMs live under UOS_HOME and are unaffected. Use before archiving or sharing the workspace.

Prompts

Interactive templates invoked by user choice

NameDescription
start_rebuildKick off a full ISO -> rebuilt-OS session following SKILL.md.
fingerprintFingerprint an ISO's Windows version without booting anything.
boot_and_installBoot the reference ISO in a VM and drive the installer via screenshots.
survey_apisSurvey the reference OS's API surface from inside the VM.
scaffold_and_buildScaffold the next missing components and build what the host allows.
test_appRun an app-compat cycle and record the result.
field_noteWrite and lint the session's field note.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 39 tools

Disambiguation4/5

Most tools have clearly distinct purposes (vm_snapshot vs vm_restore, kb_search vs kb_path, build_plan vs env_check). There is mild overlap in the ISO cluster (iso_inspect/iso_verify/iso_extract/fingerprint_windows) and between env_check/workspace_status/build_plan which all report environment state, but descriptions make the boundaries readable.

Naming Consistency4/5

Predominantly consistent verb_noun snake_case with clear namespace prefixes (vm_, iso_, kb_). A few deviations exist: fingerprint_windows is noun_verb, and behavior_diff/compat_report/regression_log are noun-only, but all remain readable and predictable.

Tool Count3/5

39 tools is heavy and above the comfortable range, though the domain (VM management, ISO/binary analysis, scaffolding, testing, knowledge base) is genuinely broad and most tools map to a real workflow step. It is on the borderline of over-fragmentation rather than gratuitous sprawl.

Completeness4/5

Covers the full lifecycle: VM create/boot/snapshot/restore/shutdown, ISO inspection, API-surface analysis and diffing, workspace scaffolding, app-compat testing, and KB management. Minor gaps (e.g. no VM delete/deregister, no in-place file edit) are workable around.

Maintenance

ActivityMaintained
ResponsivenessNo issues