Persistent, interactive MCP Apps for any MCP host: the AI builds an app once, you both reuse it — data outlives the conversation.
31 tools with significant definition gaps. Tool names follow verb_noun convention (list_apps, get_app, save_app, delete_app) which is good. However, critical issues: (1) No visible input schemas in source code for any tool, cannot verify parameter types, constraints, or descriptions. (2) Tool descriptions are present but generic and brief (10-50 chars typical), lacking WHEN/WHY context. Example: 'List all saved apps with metadata' is 35 chars, below the 50-char minimum for LLM clarity. (3) No documented output schemas, LLMs cannot plan downstream calls. (4) Parameter descriptions not visible in provided source. (5) No error handling guidance in descriptions. (6) Destructive tools (delete_app, delete_app, file_delete, data_delete_item) lack confirmation/dry-run patterns. This server prioritizes functionality over LLM-optimized definitions.
List checkpoints/history of an app
Get the rendered HTML of a saved app
List available apps in the app store
Archive an app (retired seat, name still reserved)
Call a function defined in an app
Add an item to a data collection
Apply multiple data writes in a single transaction
No input schemas visible in source code. Cannot verify parameter types, constraints, enums, or descriptions for any of 31 tools.
Tool descriptions are generic and brief (10-50 chars). Examples: 'List all saved apps with metadata' (35 chars), 'Retrieve a saved app's source code and manifest' (48 chars). Descriptions lack WHEN/WHY context, prerequisites, and error guidance. Baseline for LLM clarity is 50-200 chars.
No documented output schemas. LLMs cannot infer what fields are returned, what IDs to use for chaining, or how to parse responses. Prevents downstream tool composition.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2025-06-18+ | v2 |
Get a delta of changes to a data collection
List all data collections
Delete an item from a data collection
List items in a data collection with pagination
Move an item within a data collection
Query data with filtering and aggregation
Update an item in a data collection
Get the current version/hash of a data collection
Delete a saved app
Edit an existing app's source code
Delete a file from persistent storage
Read a file from persistent storage
Get file storage usage statistics
Write a file to persistent storage
Retrieve a saved app's source code and manifest
Get the authoring guide for building apps
Install an app from the built-in app store
List all saved apps with metadata (name, kind, visibility, limit)
Open an app by name (universal loader)
Preview an app store entry
Restore a previously deleted app from history
Save or update an app with UI HTML and optional manifest
Set security policy for apps
Get the UI preferences schema
Destructive tools (delete_app, delete_app, file_delete, data_delete_item) lack confirmation/dry-run patterns. No evidence of confirmation_request or idempotent-operation support. Agents can delete without safeguards.
No error handling guidance in tool descriptions. Descriptions do not explain what errors can occur, whether they are retryable, or what the LLM should do next. Violates recovery-guide pattern.