MCP server for controlling Pinokio - the 1-click localhost cloud for AI apps
Three tools with complete schemas and descriptions, but significant gaps in parameter documentation and error handling. Tool names use action verbs (app_management, system_management, lww_management) but are overly generic and combine multiple responsibilities. Descriptions are present (avg ~80 chars) but lack actionable context for LLM selection. Parameters have types and enums but lack descriptions for nullable fields. No output schema documentation. Error handling and recovery guidance absent. Follows basic structure but falls short of production-grade quality.
Manage Pinokio apps: list, status, start, stop, delete.
LAN Wide Web: discover Pinokio instances and start apps remotely.
Pinokio system operations: ping, info, localhost_search.
Tool names combine multiple actions (app_management handles list, status, start, stop, delete). Should split into separate tools: list_apps, get_app_status, start_app, stop_app, delete_app. LLMs struggle to select the right action when multiple responsibilities hide behind one tool name.
Parameter descriptions missing for nullable fields. 'app' param in app_management states 'required for status, start, stop, delete' but lacks description of what it represents (app folder name). 'device' in lww_management similarly underdocumented. LLMs cannot infer parameter semantics from names alone.
No output schema documentation. Tools return dict but LLMs have no visibility into response structure (fields, types, pagination). Downstream tool chaining and field extraction become error-prone. Baseline: 100% of A+ tools document return types.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
No error handling or recovery guidance. Tools return dict but no documentation of error cases, failure modes, or what LLM should do if a call fails. E.g., if app_management(action='start') fails because Pinokio is offline, LLM has no guidance.
Generic tool names obscure intent. 'system_management' could mean OS-level operations, service management, or Pinokio-specific health checks. 'lww_management' is domain-jargon (LAN Wide Web) not self-explanatory. Rename to: ping_pinokio, get_pinokio_info, discover_pinokio_devices, start_remote_app.