A Tauri application that loads Novelcrafter codex exports into an SQLite database and configures Claude Desktop to use the SQLite MCP server
This server has severe definition quality issues. It is a Tauri desktop application, not a proper MCP server implementation. The two tools ('load' and 'launch') are invoked via Tauri's IPC bridge (invoke() from App.vue), not through MCP protocol. The 'load' tool accepts a Uint8Array parameter but the tool definitions appear to be inferred from Vue component code rather than explicitly registered with MCP schemas. No evidence of MCP protocol implementation (no stdio, HTTP, or SSE transport). The descriptions are vague and lack detail about prerequisites, error handling, or when to use each tool. Parameter schemas are minimal, 'bytes' is typed as array but lacks detailed constraints. Output schemas are completely undocumented. No error handling guidance, no security considerations around file decompression, and no permission gates despite the destructive nature of database creation and application launching.
Launches Claude Desktop application
Decompresses a ZIP file containing Novelcrafter codices, creates SQLite database tables, loads codex data into the database, creates Claude Desktop MCP configuration, and launches Claude Desktop
Not an MCP server, tool definitions are Tauri IPC invocations, not MCP protocol implementations
Tool 'load' description lacks detail: does not explain WHAT happens (creates SQLite DB? Modifies user config?), WHEN to use it, or prerequisites (file format expectations).
'launch' tool has no meaningful description (only 30 chars: 'Launches Claude Desktop application'). No guidance on when to call it, what happens next, or prerequisites.
Input schema for 'bytes' parameter is incomplete: type is 'array' but no items schema, min/max length, or encoding hints. LLMs cannot determine what format is expected.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 25 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 26 | - | v1 |
'launch' tool has NO input schema (empty object {}).
No output schemas documented for either tool. LLMs cannot plan downstream actions or extract results.
No error handling guidance. 'load' decompresses a ZIP and modifies filesystem/database, failures (corrupt ZIP, disk full, permission denied) are not documented. LLM has no recovery path.
No security considerations: 'load' accepts arbitrary ZIP files and extracts to temp dir, then creates SQLite DB. No path traversal validation visible in code review. No permission gates despite destructive side effects.
Tool names lack clarity on intent. 'load' could mean load data, load config, load file. 'launch' is generic, 'launch_claude_desktop' is better.
Tool definitions inferred from Vue component code (src/App.vue) rather than explicitly registered in MCP.