Trinity as an MCP server (slice 061): implements BeamMCP.Server, handling tool discovery, validation, execution, and multi-round-trip approval flows for MCP clients
Trinity has 7 tools with schemas and descriptions present, but quality is inconsistent. Naming follows verb_noun convention (skill_manage, learn, skills_list, skill_view, skill_file, session_search, web_fetch), which is good. However, descriptions are brief (avg ~80 chars) and lack actionable context for LLM selection. Parameter descriptions exist but are minimal. No output schemas documented. Error handling and recovery guidance absent. Tool composition shows some chaining potential (skill_file references skill_name from skill_view), but no pagination support visible for list operations. Security concerns: skill_manage and learn are WRITE operations but lack confirmation/dry-run patterns. No evidence of permission gates or audit logging in source.
Learns from a file, URL, or text and creates a staged skill with distilled content and references
Searches the session's memory for relevant context using semantic similarity
Reads a reference file from a skill directory with path traversal protection
Manages skill lifecycle (create, patch, delete) with staging and approval workflow
Displays a skill's full body, metadata, and list of reference files
Lists active skills with optional category filtering and token-aware truncation
Fetches and parses web content from a URL, converting HTML to text
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields without knowing response structure.
Destructive operations (skill_manage delete, learn create) lack confirmation/dry-run patterns. Agents can irreversibly delete skills without safeguards.
No pagination support visible for skills_list. Large skill collections will blow context window. Missing limit_tokens parameter documentation.
Error handling and recovery guidance absent. No indication of retryable vs fatal errors, or what LLM should do next on failure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Parameter descriptions are minimal (avg 30-40 chars). Missing format constraints, ranges, and dependency hints. E.g., 'action' param lacks enum values; 'limit_tokens' lacks min/max bounds.