MCP server that exposes ZettaQuant V-SLM (topic-conditioned sentence relevancy) to any MCP-aware LLM host — Claude Desktop, Cursor, Zed, Windsurf.
Single tool with clear purpose and well-structured schema. Tool name 'vslm_predict' uses verb_noun pattern appropriately. Description is comprehensive (287 chars, within 10-1024 baseline) and explains WHAT, WHEN, and WHY. Input schema is complete with proper types and descriptions. However, output schema is documented only in docstring, not in formal schema definition. Error handling is present but minimal, no recovery guidance for common failures (auth, quota, upstream). No tool annotations (readOnlyHint, idempotentHint) despite being read-only and idempotent. Missing pagination guidance despite accepting ~2000 sentences per call.
Filter a list of sentences to only those relevant to `query`. Use this BEFORE feeding noisy context (earnings-call transcripts, news articles, long reports, log lines) to an LLM; it typically cuts token spend without losing important context. Chain it with your own language model.
Output schema not formally defined in tool registration. Return type documented only in docstring, not in structured schema. LLMs cannot parse expected fields programmatically.
No tool annotations despite clear semantics. Tool is read-only and idempotent but lacks readOnlyHint and idempotentHint. Agents cannot infer safety properties.
Error messages are user-friendly but lack recovery guidance. 401/402/403/429 errors tell what went wrong but not what the agent should do next (retry, ask user, abort).
No pagination or result-limiting guidance. Tool accepts ~2000 sentences per call but no mention of max batch size, result truncation, or how to handle larger datasets.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Empty sentence list returns early with hardcoded response. No validation error or guidance, agent may not realize the input was rejected.