Opt-in in-process MCP server for DisplayXR that binds a per-PID unix socket and speaks MCP-style JSON-RPC 2.0 framed by Content-Length headers. Includes workspace aggregator for merging multiple MCP endpoints.
Two tools with minimal documentation. tail_log has a basic description (89 chars) and input schema with two numeric parameters (since, max) both documented. echo has a trivial description (44 chars, below 20-char threshold) and no visible input schema. Neither tool has output schema documentation. No error handling guidance. Naming is acceptable (verb_noun pattern) but descriptions lack context on when/why to use these tools. Schema completeness is poor, only input params are shown, no return types documented.
Echo tool for slice 1 handshake check
Retrieve log entries from the MCP server's ring buffer, optionally filtered by timestamp and maximum entry count
echo tool has trivial description (44 chars, below 20-char minimum) and no visible input schema. Violates pattern:tool-description and pattern:constrained-input.
No output schemas documented for either tool. LLMs cannot infer return structure or plan downstream calls. Violates pattern:tool (D. SCHEMAS & OUTPUT).
No error handling guidance. If tail_log fails (e.g., ring buffer unavailable), no recovery hint provided. Violates pattern:recovery-guide.
tail_log description lacks context on when to use it. Should explain: 'Retrieve diagnostic log entries from the MCP server's in-memory ring buffer. Use this to debug server behavior or inspect recent events. Returns up to max entries with timestamps >= since (nanoseconds).'
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | <=2025-11-25 | v2 |
echo tool purpose unclear. Description says 'handshake check' but does not explain what input it expects, what it returns, or when an LLM should call it. Violates pattern:tool-description.