MCP server for Differino: compare PDF, DOCX, and TXT documents from any AI agent
Server has 6 tools with complete input schemas and descriptions. Naming follows verb_noun convention (compare_documents, get_balance, list_comparisons, export_comparison_*). Descriptions are present and actionable (avg ~80 chars). However, parameter descriptions lack detail on constraints, formats, and dependencies. Output schemas are not documented, LLMs cannot predict response structure. Error handling is present in code (timeout guidance, rate-limit hints) but not surfaced in tool descriptions. No tool annotations (readOnlyHint, idempotentHint). Missing pagination guidance for list_comparisons despite accepting limit parameter.
Compare two documents (PDF, DOCX, or TXT) and get a detailed diff report
Export a comparison result as an HTML document with optional configuration
Export a comparison result as a PDF document with optional configuration
Get the current account balance and credit information
Retrieve the details and status of a specific comparison by ID
List all comparisons with optional filtering by status and limit
Output schemas not documented. LLMs cannot predict response structure (fields, types, nested objects) for any tool. Breaks downstream tool chaining and forces agents to guess field names.
Parameter descriptions lack constraint details. 'limit' in list_comparisons has no min/max bounds. 'locale' in export tools has no valid values listed. 'comparison_mode' enum is documented but other params lack format guidance.
No tool annotations (readOnlyHint, idempotentHint, destructiveHint). All 6 tools are read-only but this is not declared in schema. Agents cannot distinguish safe-to-retry operations from destructive ones.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
get_balance description is vague ('Get the current account balance and credit information'). Does not explain when to call it, what 'credit information' includes, or how it relates to rate limits and API quotas.
list_comparisons accepts 'limit' and 'status' but no pagination cursor/offset. Large result sets will blow context window. No guidance on default limit or max results.