@ggui-ai/mcp-server-core
UI generation harness for ggui — the LLM system prompt, multi-turn coding loop, and evaluation engine that turn a DataContract into a React component. Implements the UiGenerator contract from @ggui-ai/mcp-server-core; consumed by @ggui-ai/mcp-server.
Versions
0.5.0-rc.2latest0.5.0-rc.10.5.0-rc.00.4.0-rc.00.3.0-rc.0+ show 5 moreshow less
0.2.0-alpha.40.2.0-alpha.30.2.0-alpha.10.1.0-rc.30.1.0-rc.1Tools 41
tasks_list List tasks with optional filter (status, assignee, priority, due-date window), sort, and cursor-based pagination.
tasks_get Retrieve a single task by id. Returns `{ item: null }` when no task with that id exists.
tasks_create Create a new task. `status` defaults to `todo`, `priority` to `medium`. The new item is returned in full.
tasks_update Patch a task's fields. Pass `null` in `assigneeId` / `dueDate` / `linkedNoteId` to clear. Status transitions may also flow here OR through `tasks_complete`. Returns `{ item: null }` when no task with that id exists.
tasks_delete Delete a task by id. Idempotent: `deleted: false` when no task with that id existed.
tasks_search Case-insensitive substring search over task titles, with optional filter composition. Returns matched items up to `limit` plus `totalMatches` (unbounded count).
tasks_complete Mark a task as done. Distinct from a generic `tasks_update({status:"done"})` so the blueprint negotiator can tell "edit task" apart from "mark done". Returns `{ item: null }` when no task with that id exists.
contacts_list List contacts with optional filter (tags, favorite, company, hasEmail/hasPhone), sort, and cursor-based pagination.
contacts_get Retrieve a single contact by id. Returns `{ item: null }` when no contact with that id exists.
contacts_create Create a new contact. Only `displayName` is required; structured `givenName`/`familyName` are optional. `tags`/`linkedTaskIds`/`linkedNoteIds` default to `[]`, `favorite` to false. The new item is returned in full.
contacts_update Patch a contact's fields. Pass `null` in any nullable scalar to clear. `tags`/`linkedTaskIds`/`linkedNoteIds` replace the whole array — use `contacts_link` to add/remove a single linked id. Returns `{ item: null }` when no contact with that id exists.
contacts_delete Delete a contact by id. Idempotent: `deleted: false` when no contact with that id existed.
contacts_search Case-insensitive substring search over displayName OR email OR company, with optional filter composition. Returns matched items up to `limit` plus `totalMatches` (unbounded count).
contacts_link Add or remove a single id on the contact's `linkedTaskIds[]` (kind='task') or `linkedNoteIds[]` (kind='note'). Idempotent. Distinct from `contacts_update({linkedTaskIds:[...]})` so the blueprint negotiator can distinguish link operations from contact-record edits. Returns `{ item: null }` when no contact with that id exists.
notes_list List notes with optional filter (tags, pinned, aboutContactId, updatedAt window), sort, and cursor-based pagination.
notes_get Retrieve a single note by id. Returns `{ item: null }` when no note with that id exists.
notes_create Create a new note. `body` defaults to empty, `tags` to `[]`, `pinned` to false. The new item is returned in full.
notes_update Patch a note's fields. Pass `null` in `aboutContactId` to clear. `tags` / `linkedTaskIds` replace the whole array. Body edits are a FULL replace; use `notes_append` to add without losing existing content. Returns `{ item: null }` when no note with that id exists.
notes_delete Delete a note by id. Idempotent: `deleted: false` when no note with that id existed.
notes_search Case-insensitive substring search over note titles AND bodies, with optional filter composition. Returns matched items up to `limit` plus `totalMatches` (unbounded count).
notes_append Append markdown to a note's body (separated by a blank line). Distinct from `notes_update({body:…})` so the blueprint negotiator can tell 'edit note' apart from 'add to existing note'. Returns `{ item: null }` when no note with that id exists.
whoami Returns the resolved session identity (role + table, if any). Handy for confirming which persona this MCP connection is acting as.
get_order_queue List orders for the kitchen board. Defaults to active tickets (submitted, cooking, ready); pass a status to filter. Returns orders with lines + subtotal. Use as the data source to render a status-column board.
update_order_status Move an order along its lifecycle (submitted → cooking → ready → served). Returns the updated order. Use void_order to cancel — this tool cannot set draft or voided.
set_menu_availability Mark a menu item available or "86\'d" (unavailable). Returns the updated item. Use to take an item off the menu when it runs out.
get_sales_summary Return revenue (cents), order count, and top-selling items for a period (today, week, or all). Use as the data source to render a sales dashboard chart.
list_tables List dining tables with status (empty, seated, needs_assistance) and current order id. Use as the data source to render a floor map. Pass a status to filter (e.g. needs_assistance).
respond_to_call Clear a table\'s assistance flag (needs_assistance → seated). Returns the updated table. Use after staff has attended to a table that called for help.
void_order Void (cancel) an order with a required reason. This is irreversible — the order is frozen. Returns the voided order.
browse_menu List orderable menu items, optionally filtered by free-text query or category. Each item includes price (cents), tags, modifier option groups, and an absolute photoUrl. Use as the data source to render a menu of cards.
get_item_details Fetch one menu item by id, including its modifier option groups (size, spice, extras) so the agent can render a modifier form.
add_to_order Add an item (with optional chosen modifiers) to this table\'s order, creating a draft order if none exists. Returns the updated order with line totals + subtotal (cents). Use after the diner confirms an add-to-order action.
update_order_item Change the quantity and/or modifiers of an existing draft order line. Returns the updated order. Only a draft (not-yet-submitted) order can be edited.
remove_order_item Remove a line from this table\'s draft order. Returns the updated order.
view_order Return this table\'s current order (draft or in-progress), with lines + subtotal, or null if there is none yet.
submit_order Submit this table\'s draft order to the kitchen (draft → submitted, stamps placedAt). Returns the submitted order. Use when the diner confirms they are done ordering.
request_assistance Flag this table as needing a server\'s attention (optionally with a reason). Returns the table with its updated status.
todo_list Returns every todo in the current list. Empty list returns an empty array. Use as the data source when an agent wants to render a todo UI.
todo_add Append a new todo with the given text. Returns the created row including its server-assigned id + createdAt. Use after the user submits an add-todo form.
todo_toggle Flip a todo\'s `done` boolean by id. Returns the updated row, or `{ todo: null }` if no todo matches. Use after the user clicks a checkbox.
todo_delete Remove a todo by id. Returns `{ deleted: true }` on success, `{ deleted: false }` if no todo matches. Use after the user clicks a delete affordance.
Permissions 4
network medium filesystem low shell high env_vars low