MCP server for searching Tatoeba example sentences
Server has 4 well-named tools with clear action verbs (search_, get_). All tools have explicit input schemas using Zod with proper type definitions and parameter descriptions. Descriptions are present for tools and most parameters, though some could be more detailed per LLM-optimization standards (ideal 50-200 chars). Tool naming follows verb_noun convention well. Key gaps: (1) no documented output schemas, responses are JSON.stringify() without shape documentation, making it hard for LLMs to plan downstream calls; (2) error handling is minimal, only get_sentence returns explicit error responses; (3) no pagination metadata (total count, next_cursor) in search results despite accept limit/offset; (4) parameter constraints are well-defined (minLength, length, min/max) but some descriptions lack format guidance; (5) no tool annotations (readOnlyHint, etc.) despite all being READ_ONLY. Tool names are clear and specific (search_sentences vs search_sentences_with_translations is appropriately disambiguated). All required parameter descriptions are present. This is solid mid-range work with room for better output documentation and error guidance.
Get a specific sentence by its sentence number
Get all sentences that are translations of a given sentence
Search sentences by partial text match
Search sentences by partial text match and return with translations
No documented output schemas. Tools return JSON.stringify() of internal objects without declaring the response shape. LLMs cannot predict fields to extract or plan follow-up tool calls reliably.
Minimal error handling and recovery guidance. Only get_sentence returns explicit error responses. No guidance for LLM on what to do if a search returns no results or a sentence_number is invalid. Error responses should suggest alternatives or next steps.
No pagination metadata in search results. Tools accept limit/offset but responses do not include total_count, has_more, or next_offset. Without this, LLMs cannot determine if more results exist or plan multi-page retrieval.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 59 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 50 | - | v1 |
No tool annotations despite all tools being read-only. Zod schemas lack readOnlyHint directives. This prevents clients from understanding which tools are safe to auto-execute vs which need user confirmation.
Tool descriptions lack context for when to use each tool. For instance, search_sentences_with_translations description does not explain it requires target_lang (mandatory) vs search_sentences where target_lang is optional filtering. This creates disambiguation burden for LLMs.