Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoPort for the HTTP server (e.g., 3000).
AIKEA_HOMENoDirectory where outputs are written (default ~/.aikea).
AIKEA_PUBLIC_URLNoPublic URL of the server (e.g., https://aikea.example.com) used to include download links in build results when running in HTTP mode.
AIKEA_FABRICATOR_WEBHOOKNoWebhook URL for a CNC shop fabricator to receive RFQ POST requests.

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": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
aikea_list_optionsA

List furniture templates with their parameters, board materials, joinery methods and load presets. Call this first.

aikea_designA

Generate a parametric flat-pack design: every panel, its CNC machining (holes, grooves, edge bores), hardware and assembly steps. Returns a summary, validation issues and a preview image. Pass design_id to revise an existing design in place.

aikea_get_designA

Return a saved design's summary, or the full JSON model (every part with local-frame machining) when full=true.

aikea_list_designsA

List saved designs, newest first.

aikea_previewA

Render an isometric preview of the finished piece, or of a single assembly step (1-based) with the newly added parts highlighted and labelled.

aikea_shelf_sagA

Estimate the deflection of a uniformly loaded shelf (simply supported). Useful for choosing widths/materials before designing.

aikea_buildB

Nest parts onto sheets and write the fabrication package: nested-sheet and per-part DXFs (layered by operation), cutlist.csv, hardware.csv, instructions.html (IKEA-style), SHOP_NOTES.md and a zip. Returns file paths (and download URLs when served over HTTP) plus a sheet layout image.

aikea_list_fabricatorsB

List CNC shops configured for quotes ($AIKEA_HOME/fabricators.json, or AIKEA_FABRICATOR_WEBHOOK).

aikea_add_fabricatorC

Save a CNC shop for quotes. Give an email for RFQ emails and/or a webhook URL that accepts the aikea.rfq/v1 JSON schema.

aikea_request_quoteB

Package a design for a CNC shop: builds it if needed, POSTs the RFQ to the fabricator's webhook when one is configured, and always returns a ready-to-send RFQ email (to/subject/body + zip path). Confirm quantities and contact details with the user before submitting.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 10 tools

Disambiguation4/5

Most tools target distinct resources and actions, but a few overlaps exist: aikea_design already returns a preview image while aikea_preview renders specific previews, and aikea_request_quote internally builds a design, blurring the line with aikea_build. The descriptions clarify these differences well enough that an agent can usually select correctly.

Naming Consistency4/5

All tools share the aikea_ prefix and use snake_case, which is good. However, most follow a verb_noun pattern (list_options, get_design, add_fabricator), while several are verb-only (design, preview, build) and one is noun_noun (shelf_sag), creating minor inconsistency.

Tool Count5/5

With 10 tools, the set is well-scoped for a parametric furniture design and CNC fabrication server. Each tool covers a distinct part of the workflow: templates, design, retrieval, preview, engineering check, build, fabricator management, and quoting.

Completeness4/5

The core lifecycle from design to fabrication and quoting is covered, and aikea_design allows in-place revision. Minor gaps include no delete operations for saved designs or fabricators, and no way to fetch a single fabricator, but these are not critical for the primary workflow.

Maintenance

ActivityMaintained
ResponsivenessNo issues