Standalone MCP servers — deployed to Proxmox via systemd. Includes calculator, calendar, gdrive, gmail, docs, spotify, hue, monarch, tv, web_search, and pdf servers.
Server provides 9 tools with moderate quality. Naming follows verb-noun convention (calculator_evaluate, docs_read_file, log_recent). All tools have descriptions and input schemas are present. However, descriptions are generally brief (10-20 chars for some tools like 'log_status'), parameter descriptions lack depth in several tools (e.g., log_recent's 'query' param is described generically), and error handling guidance is absent. No documented output schemas beyond what can be inferred from implementation. Tools like docs_read_file and log_recent have moderate parameter complexity but lack examples of expected formats or constraints. Security consideration: docs_write_file is a WRITE operation but lacks confirmation/dry-run pattern.
Perform a simple arithmetic operation.
High-level overview: repos, LXC/VM services, DHCP devices, and env key counts.
Read a file from ~/REPOS by relative path (e.g. 'NETWORK/infrastructure.md'). If path is a directory, lists its contents.
Grep across all repos. Returns matching lines (max 50). Optional file_pattern like '*.py'.
Write text docs/config files inside ~/REPOS. mode: replace (default) or append.
Show normalized Hue activity including inputs, sensors, scenes, and lights.
Show indexed Hue history.
Minimal output schema documentation. Tools like log_status and docs_overview return structured data (status dict, record lists) but the response format is not formally documented. LLMs must infer structure from implementation code.
Missing error recovery guidance. Error conditions are handled (e.g., 'Hue event database not found') but responses do not guide the LLM on next steps. E.g., log_recent returns 'No Hue [kind] records found for [scope]' with no suggestion to adjust filters or check database state.
docs_write_file is a destructive WRITE operation but lacks confirmation/dry-run capability. No idempotentHint or destructiveHint annotation visible. Agents could accidentally overwrite files without a safety mechanism.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 57 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 47 | - | v1 |
Search indexed Hue history by plain text.
Summarize the Hue event database and collector health.
Generic parameter descriptions. Many parameters like 'query' in log_recent describe the semantic intent ('Optional case-insensitive text filter') but do not specify format constraints, character limits, regex patterns, or examples of valid inputs. This forces LLMs to guess.
Undocumented parameter dependencies. In log_recent, the 'query' and 'light' parameters are functionally identical (light is an alias), but this relationship is only clear in implementation code, not in schema descriptions. Agents may pass both, causing confusion.
Inconsistent naming of similar parameters across tools. log_recent, log_activity, and log_search all have 'limit' but log_recent defaults to 50 while log_activity defaults to 80. No consistent convention or explanation of when to use each default.