An MCP server for Upstage document parsing and information extraction
Two tools with clear, well-structured definitions and good descriptions. Both tools have complete input schemas with typed parameters and descriptions. However, output schemas are not explicitly documented, and error handling guidance is minimal. Tool naming follows verb_noun convention (parse_document, extract_information) appropriately. Descriptions are substantive (185-280 chars) and explain what each tool does, when to use it, and supported formats. Parameters are well-described with type information. Key gap: no documented output schema structure, no error recovery guidance, and no validation constraints on inputs (e.g., file format validation, file size limits mentioned in description but not enforced with schema constraints).
Extract structured information from documents using Upstage Universal Information Extraction. This tool can extract key information from any document type without pre-training. You can either provide a schema defining what information to extract, or let the system automatically generate an appropriate schema based on the document content. Supported file formats: JPEG, PNG, BMP, PDF, TIFF, HEIC, DOCX, PPTX, XLSX Max file size: 50MB Max pages: 100 Args: file_path: Path to the document file to process schema_path: Optional path to a JSON file containing the extraction schema schema_json: Optional JSON string containing the extraction schema auto_generate_schema: Whether to automatically generate a schema if none is provided
Parse a document using Upstage AI's document digitization API. This tool extracts the structure and content from various document types, including PDFs, images, and Office files. It preserves the original formatting and layout while converting the document into a structured format. Supported file formats include: PDF, JPEG, PNG, TIFF, and other common document formats.
Output schemas not documented in tool definitions. Callers cannot predict the structure of returned data, forcing LLMs to reason about response format or attempt parsing unstructured output.
No input validation constraints in schema. Descriptions mention file format and size limits (e.g., 'Max file size: 50MB'), but these are not enforced via JSON Schema constraints (maxLength, pattern, enum). LLMs cannot be reliably prevented from passing invalid formats.
Error handling and recovery guidance absent. Tool descriptions do not explain what errors are possible, when they occur, or what the LLM should do next. Agents will have no guidance when API calls fail.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 62 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 54 | - | v1 |
Mutually exclusive parameters not documented. In extract_information, schema_path and schema_json are both optional, but it's unclear what happens if both are provided or if neither is provided and auto_generate_schema=false. This ambiguity will cause LLM confusion.
No pagination or result limits documented. parse_document returns a string (unstructured), and extract_information does not specify response format or size limits. Large documents could produce unbounded responses that exhaust context windows.