MCP server for querying AIECOS Social CRM data (Supabase schema)
8 tools with basic schemas and descriptions, but significant gaps. All tools have input schemas with type definitions and descriptions present, meeting minimum viability. However, descriptions are terse (avg 80 chars, well below 194-char baseline), lack WHEN/WHY context, and omit error guidance. No output schemas documented. Parameters lack format constraints and validation hints. Tool names follow verb_noun pattern (good), but descriptions read like API docs, not LLM-optimized guidance. No tool annotations (readOnlyHint, destructiveHint). Error handling absent, no recovery guidance or actionable error messages. Composition is reasonable (single responsibility per tool), but missing chaining IDs in responses (e.g., get_partner_messages should return partner_id for downstream calls). Vietnamese descriptions mixed with English reduce clarity for English-speaking LLMs.
Partners có last_seen từ min_days → max_days. Default 7-30d (At-Risk stage)
Lấy lịch sử tin nhắn của 1 partner theo conversation_id
Liệt kê partners (B2B shop), filter theo stage (active/sleeping/at_risk/dormant/churned)
Phân bố partners theo 5 stages (active/sleeping/at_risk/dormant/churned) + %
N messages mới nhất across toàn workspace
Search messages bằng substring (case-insensitive)
No output schemas documented. LLMs cannot infer response structure, forcing them to guess field names and types for downstream tool calls. Breaks tool chaining.
Descriptions are terse (30 - 45 chars) and lack WHEN/WHY context. E.g., 'Lấy lịch sử tin nhắn của 1 partner theo conversation_id' (Vietnamese) does not explain when to call this vs. search_messages, or what fields the response contains. Below 194-char baseline.
No error handling or recovery guidance. Tools lack descriptions of failure modes, retryability, or actionable error messages. LLMs cannot self-correct on failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Overall stats: pages, customers, messages, partner stage distribution, sender ratio
Top partners theo số messages trong N ngày gần đây
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are read-only, but this is not declared in schema. Agents cannot distinguish safe tools from destructive ones.
Mixed language descriptions (Vietnamese + English) reduce clarity for English-speaking LLMs. Descriptions should be in a single language matching the LLM's training data.