TTCraft MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| auth_statusA | Check TTCraft login and identity. Never returns credentials. |
| auth_beginA | Start the same browser device-code sign-in as the VS Code extension. Opens a browser by default; disable on a headless host. Show the returned URL and code to the user, then call auth_poll after the indicated interval. |
| auth_pollA | Check browser approval once, respecting server polling intervals. Stores the token securely without exposing it to the model. |
| auth_logoutA | Disconnect all tables and remove the local login. Revocation on the TTCraft website is separate. |
| tables_listA | List TTCraft tables that your account can manage, with running status, room and channel. |
| table_connectA | Connect to a running table and make it active. Supports multiple connected tables; pass table_id on later calls to select explicitly. |
| table_reconnectA | Reconnect and get a fresh full state after connection loss. Does not replay commands. |
| table_disconnectA | Disconnect this MCP client from a table. Does not shut down the shared table. |
| connections_statusA | Show active table, connections, protocol versions and granted capabilities. |
| state_readA | Read a cached authoritative state section (table, zones, snaps, drawings, decals, players, groups, timemachine, policy, lighting, music, etc.). Omit section for a compact overview. Large sections are paged as JSON text. |
| objects_listB | Find objects by name, kind, GUID or id, including live positions and rotations. Paginated. details includes full properties. |
| object_readA | Read one object by stable GUID or runtime id. refresh asks the server for current properties. Returns paginated JSON text. |
| objects_spawnA | Spawn an object or a native linked library template. For a template, spawn fields come from the template; use objects_patch afterwards. Returns observed new objects, which can also include concurrent spawns by others. Use blueprint_apply for reliably tracked repeated builds. |
| objects_patchA | Patch appearance/physics/name properties on one or more objects. Properties follow setprops; use command_describe for exact fields. label is the display name. |
| objects_moveA | Place an object in metres with optional quaternion rotation [x,y,z,w] and scale [x,y,z]. Locked objects must be explicitly unlocked with objects_lock first. Inspect state afterwards to verify clamping/physics. |
| objects_lockC | Lock or unlock a list of objects. |
| objects_removeA | Remove objects from the live shared table. Cascade rules include attached contents. Export a backup first when needed. |
| table_plan_applyA | Apply the TTCraft declarative table plan: shape, seats, areas, snaps. Read table-plan docs first. Returns server validation errors/warnings. merge patches the stored plan. |
| library_listA | Search library templates by name/category/id/kind. Includes scripts and large geometry only with details=true; script_read reads template scripts separately. |
| library_saveA | Create a template or update an existing template by id, preserving omitted fields from the cached full template. Changes may affect linked instances. Locked built-ins cannot be overwritten. |
| script_readA | Read a Global, object or template Lua script with SHA-256 for conflict detection. Page large source or write to an absolute output_path for local editing. Existing files are never overwritten. |
| script_writeA | Compile and install Lua source on the live table. Supply exactly one of code/file_path. expected_sha256 checks the current source before writing. A compile failure returns isError and the previous script stays active. Read console afterwards. |
| console_readA | Read bounded console logs, including compilation/runtime errors. Pass after_cursor from the previous call. wait_ms optionally waits for new logs up to 20 seconds. |
| events_readA | Read table event history with a cursor (up to 500 retained messages). Filter by message types. Reports truncation; state_read/objects_list are the authoritative current state. |
| commands_searchA | Discover the native TTCraft command catalog by name/domain/field. Covers cards, containers, tablets, UI actions, effects, materials, lighting, music, zones, decals, players, undo and more. Call command_describe before using an unfamiliar command. |
| command_describeA | Read exact native command fields, required capability and reference handler from the bundled server source snapshot. Fields are inferred hints; use docs and the handler for types/defaults. Native commands may return no acknowledgement. |
| table_commandA | Run a native TTCraft command from the catalog. Read command_describe first. Supply protocol fields in arguments; object id must be a current runtime id. Server enforces all permissions and script vetoes. processed_unverified is not a success acknowledgement. |
| batch_executeA | Run up to 100 native commands sequentially without interleaving other MCP commands. Prevalidates names. dry_run defaults true; set false to apply. Not atomic; returns completed steps on failure, with no automatic replay. |
| blueprint_applyA | Build/update a complete table from a validated blueprint: plan, templates, tracked objects, poses, properties and scripts. Stable id/key mappings persist locally. Dry run first; set dry_run=false to apply. Reapplying updates GUIDs without duplicating existing objects. Does not delete omitted objects or provide atomic rollback. Templates are cloned into standalone objects. |
| assets_listB | Read/search the uploaded asset gallery (images, models, fonts, audio, PDFs) with pagination. |
| asset_uploadA | Upload a local image/model/model ZIP/font/audio/PDF to the table gallery. Uses bounded-memory chunked uploads. Returns a library/assets path to reference in templates and objects. Path must be absolute. |
| archives_exportA | Export the whole table and assets to an absolute local ZIP path. Useful as a backup before major edits. Streams to disk and refuses to overwrite unless requested. |
| archives_importA | Load a local TTCraft ZIP archive into the shared table, REPLACING current objects. Requires Admin. Export a backup first. Reconnects after success. Never automatically retries the import. |
| modules_importA | Additively merge one or more local TTCraft module ZIP archives. Supports per-package layout and optional table shape/global-script selection. Requires Admin. Reconnects after success. |
| table_saveA | Create a named snapshot in the table server database (native savetable). This is separate from TTCraft account save slots. Use archives_export for a portable backup. |
| docs_searchB | Search bundled TTCraft manual and Lua API without internet/login. Empty query lists document slugs. |
| docs_readB | Read a bundled TTCraft manual page with character pagination. Examples: table-plan, table-archives, scripting, scripting-world, scripting-objects, scripting-ui, scripting-events. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| build-table | Plan and build a TTCraft table with repeatable blueprint authoring. |
| debug-table | Inspect and fix TTCraft Lua errors. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| guide | TTCraft MCP workflow and live-table semantics |
| getting-started | |
| mcp-setup | |
| mcp | |
| scripting-events | |
| scripting-objects | |
| scripting-players | |
| scripting-recipes | |
| scripting-ui | |
| scripting-world | |
| scripting | |
| table-archives | |
| table-plan | |
| vscode |
TDQS
Scored across 37 tools
Most tools have clear resource/action targets, but several clusters overlap: table_command vs. batch_execute, commands_search vs. command_describe, and objects_spawn vs. blueprint_apply vs. table_plan_apply. The descriptions help distinguish intent, but an agent can still misselect among creation and command-execution paths.
The set largely follows a predictable resource_action pattern (docs_search, objects_list, script_read, archive_export-style). Minor inconsistencies exist, such as singular/plural mixes (object_read vs. objects_list, asset_upload vs. assets_list) and a few noun_status or noun_noun names like connections_status and table_command.
37 tools is heavy for most MCP servers, though this server covers a broad domain spanning auth, tables, objects, scripts, assets, archives, blueprints, and native commands. Each tool is reasonably purposeful, but the surface is at the borderline of being too large and could benefit from consolidation.
The surface is broad and covers core workflows well: docs, auth, table lifecycle, object CRUD, scripting, console/events, commands, blueprints, assets, archives, and snapshots. Minor gaps remain, such as no delete operations for library templates or uploaded assets, and no table creation operation, but most agents can work around these.