MCP server for intelligent document processing - extract, classify, summarize PDFs/Docs/Images using vision LLMs
All three tools have minimal descriptions (under 50 chars) and identical single-parameter schemas with no type constraints. Descriptions lack WHAT/WHEN/WHY context required for LLM tool selection. No output schemas documented. Tool names lack action verbs (extract_document, classify_document, summarize_document are acceptable but descriptions are too sparse). Parameters have type but no constraints, ranges, or format guidance. No error handling guidance. Tools return JSON strings instead of structured objects, forcing LLM parsing. Billing integration is hardcoded, not abstracted. No pagination, no idempotency hints, no recovery guidance.
Classify a document by type (invoice, report, contract, etc.) path (str): Path to the document file
Extract text from a PDF or image file using OCR path (str): Path to the document file
Generate a structured summary from a document path (str): Path to the document file
Descriptions are under 50 characters and lack WHAT/WHEN/WHY context. 'Extract text from a PDF or image file using OCR' does not explain when to use this vs classify_document or summarize_document, what format the output is, or what file types are supported.
No output schema documented. Tools return JSON strings (e.g. {"tool": "extract_document", "params": {...}, "credits_remaining": ...}) instead of structured objects. LLM must parse unstructured text, wasting tokens and inviting errors.
Parameter 'path' has no constraints, format, or validation guidance. Description does not specify: absolute vs relative paths, supported file types (PDF, PNG, JPEG?), max file size, or what happens if file does not exist.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
Error responses return JSON with 'error' and 'payment_required' fields but do not guide recovery. 'Out of credits. Get more: https://stinkmaster37.gumroad.com/l/mcp-credits' is a URL, not actionable guidance for the LLM. No retry logic, no fallback, no alternative tools suggested.
Billing client hardcoded into tool implementations. Credentials (MCP_LICENSE_KEY, .mcp_license file) are read from environment/filesystem but not validated. No scope declaration (read:document, write:document). No audit trail of which tool was called by whom.