A Tauri desktop application for collaborative design and rendering with MCP integration, providing HTTP-based API endpoints for project management, versioning, comments, and publishing
Lucius is a Tauri desktop app with an embedded HTTP server exposing 12 tools. Tool definitions are inferred from source code rather than explicitly registered via MCP protocol. Naming follows verb_noun convention (get_, create_, set_, add_) but descriptions are minimal (10-50 chars), most parameters lack type information in visible schemas, and output schemas are undocumented. No error handling guidance, no pagination support, and no security annotations. The server appears to be a project versioning/collaboration tool but lacks the structured definitions required for reliable LLM integration.
Add a comment to a project, optionally anchored to a version or text location
Create a new project with the given name
Retrieve all projects in the store
Get the current selection state
Get the current state of a project including versions and comments
Get the current session status map
Retrieve the HTML content of a specific version
Output schemas completely undocumented. Tools like get_projects, get_state, get_selection, get_status, and publish provide no schema documentation. LLMs cannot plan downstream tool calls or extract required fields (e.g., project_id, version_id) without knowing response structure.
Descriptions are too brief (10-50 chars). Rubric baseline is 194 chars average; 94% of A+ tools have descriptions 50+ chars. Current descriptions lack context on WHEN to use each tool, WHAT it returns, and dependencies. E.g., 'Get the current state of a project including versions and comments' (59 chars) omits what fields are returned and when to call it vs get_projects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
Health check endpoint that returns app status
Publish a project to a remote URL
Add a new rendered version to a project with HTML content
Set the focused version in a project
Update the session status state for a project
Tool definitions are inferred from source code, not explicitly registered via MCP protocol. No visible tool registration with schemas, capabilities, or annotations.
No error handling guidance. Tools provide no recovery hints, error classification, or actionable messages. E.g., if create_project fails due to duplicate name, the LLM receives no guidance on whether to retry, ask the user, or call a different tool.
No pagination or result limits documented. Tools like get_projects and get_state may return unbounded lists, risking context window exhaustion. Rubric requires: 'Tools returning lists should accept page/offset and limit parameters and return a total count or next_cursor.'