Model Context Protocol server exposing 11 core tools for brain queries, memory management, personal profiles, swarm status, and integrations (Shopify, Klaviyo, Slack). Runs at 127.0.0.1:8787 behind Cloudflare Tunnel with bearer token authentication.
Compai MCP server has 11 tools with basic schemas and descriptions, but significant gaps prevent production readiness. Tool names lack consistent verb-noun structure (brain_query, brain_read, brain_write are good; status, me_read, me_write are weak). Descriptions are present but brief (avg ~60 chars, below 194-char baseline). Parameter descriptions are sparse or missing entirely. No output schemas documented. Error handling and recovery guidance absent. Security-critical tools (brain_write, slack_send_message) lack explicit permission documentation. No evidence of input validation or actionable error messages.
List files and folders under a directory (relative to brain root).
Hybrid search across the brain (vector + keyword + rerank). Default choice.
Read a single doc from the brain by path (relative to brain root).
Create or update a doc in the brain. Admin only.
Klaviyo API GET call. Pass endpoint like 'campaigns' or 'metrics'.
Read a me.md personal profile. If name omitted, lists all profiles.
Write your own me.md personal profile (or any employee's if admin).
No output schemas documented. LLMs cannot predict response structure, forcing them to parse unstructured output and plan downstream calls blindly.
Parameter descriptions missing or minimal. 'collection' in brain_query has a description, but 'max_results' lacks guidance on typical values or limits. 'resource' in shopify_query and 'endpoint' in klaviyo_query are unexplained.
Weak tool names reduce discoverability. 'status' is generic (does not convey 'health check'); 'me_read' and 'me_write' are unclear (should be 'read_profile' / 'write_profile'). 'brain_query' vs 'brain_read' distinction is not obvious to LLMs.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
Append a note to today's memory file for the calling employee.
Shopify Admin API GET call. Pass resource like 'orders.json?status=any&limit=5'.
Post a message to a Slack channel. Admin only (prevents accidental mass-send).
Health check — returns integrations, services, brain stats, tunnel.
No error handling or recovery guidance. Tools lack descriptions of failure modes, retryability, or actionable error messages. E.g., brain_write says 'Admin only' but does not explain what error an unauthorized user receives or how to recover.
Permission gates not explicitly documented in tool definitions. brain_write, me_write, and slack_send_message require 'admin' or special roles, but tool descriptions do not state what permission is required or how the LLM should handle 403/401 responses.