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.

Read and explain ACPI tables for OS development: CPUs and APIC IDs, I/O APICs and interrupt overrides, HPET, PCIe ECAM, power-off and reset recipes. First load a table set under a name: acpi_load with port= (a QEMU VM started with -s; tables are read from guest physical memory) or path= (/sys/firmware/acpi/tables, or acpidump -b output). Then: acpi_tables to list, acpi_table to decode and explain one, acpi_find for questions like 'how do I shut down', acpi_interrupt_routing for the ISA IRQ -> GSI map, acpi_dump for raw bytes, acpi_disassemble for AML (needs iasl).

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
acpi_loadA

Load a set of ACPI tables and register it under name.

Pass exactly one source:

  • port: a live VM's gdbstub (QEMU -s is port 1234). Tables are read from guest PHYSICAL memory, so this works even after the guest enables paging. QEMU allows one debugger at a time - disconnect gdbstub-mcp first. QEMU pauses the guest while attached; resume=True detaches afterwards (the guest runs on, even one started with -S), resume=False leaves it paused. If QEMU was started with -S the firmware hasn't built the tables yet: set boot_wait_s=5: it runs the guest until the tables exist, then stops.

  • path: a directory of raw tables - /sys/firmware/acpi/tables on Linux (needs root), or the output of acpidump -b (any OS). Tables are a snapshot; load again to re-read.

acpi_tablesC

List every table: signature, address, length, checksum, OEM, and what it's for.

acpi_tableB

Decode one table and explain what it means for an OS.

signature: FACP/FADT, APIC/MADT, HPET, MCFG, DSDT, SSDT, FACS, RSDT, XSDT, WAET, RSDP. index picks among duplicates (e.g. several SSDTs).

acpi_interrupt_routingB

Map every legacy ISA IRQ (0-15) to its GSI and I/O APIC pin, with polarity and trigger mode, from the MADT's interrupt source overrides. This is the table to program I/O APIC redirection entries from.

acpi_findB

Answer an OS-developer question from the tables, with the exact ports, addresses and values to use. Understands: shutdown / power off, reset / reboot, hpet, pci config / ecam, cpus / smp, irq routing / ioapic, pm timer, keyboard / ps2, serial, rtc century, sci.

acpi_dumpC

Hexdump a table's raw bytes (offset/length within the table, max 4096 bytes).

acpi_disassembleA

Disassemble a DSDT/SSDT's AML to ASL source with ACPICA's iasl -d.

Needs iasl on PATH (Debian/Ubuntu: apt install acpica-tools; macOS: brew install acpica; Windows: the ACPICA release from intel.com/acpi). acpi_table already lists devices and _S5_ without iasl.

acpi_setsC

List loaded table sets.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 8 tools

Disambiguation4/5

Each tool targets a distinct layer of the ACPI workflow: discovery (acpi_tables, acpi_sets), loading (acpi_load), inspection (acpi_table, acpi_dump, acpi_disassemble), and higher-level queries (acpi_find, acpi_interrupt_routing). The main overlap is acpi_find, which can answer IRQ-routing or table-derived questions that specialized tools also surface, but the descriptions make the intended split clear.

Naming Consistency4/5

All names use snake_case with a consistent acpi_ prefix and are readable. However, the action style is mixed—some are verbs (load, find, dump, disassemble) while others are noun-like list tools (tables, table, sets)—so it is not a uniform verb_noun convention.

Tool Count5/5

Eight tools is well within the sweet spot and each covers a distinct stage of ACPI table workflows. There is no obvious padding or missing core operation.

Completeness4/5

The surface covers loading, listing, decoding, raw dumping, disassembly, IRQ routing, and developer Q&A, which is strong end-to-end coverage. Minor gap: loaded sets can be listed but not unloaded or removed, so lifecycle management is not fully closed.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues