A complete MCP server for document processing with LlamaParse, supporting parsing, extraction, classification, splitting, and indexing. Includes authenticated endpoints with WorkOS AuthKit and rate limiting.
Server has 13 tools with complete input schemas using Zod validation and descriptions for all parameters. Tool names follow verb_noun convention (getUploadUrl, parseFile, classifyFile). Descriptions are present and substantive (avg ~120 chars), exceeding the 10-char minimum. However, output schemas are not documented, callers cannot see what fields to expect from responses. Error handling is present (rate limit checks, auth validation) but lacks recovery guidance. Parameter descriptions are good but some lack format constraints (e.g., 'categories' array lacks element type). No tool annotations (readOnlyHint, destructiveHint) despite clear read/write semantics. Missing pagination guidance for list tools (listIndexes, findFilesInIndex). Overall solid foundation with gaps in output documentation and error messaging.
Classify a file by assigning user-defined categories to documents.
Extract structured data from a document using a provided schema or configuration.
Find files in a specific index.
Generate an extraction configuration schema from a natural-language description.
Get a pre-signed URL to upload a file to the LlamaParse S3 storage
Get all the project IDs associated to a user so that you can use them to call tools from different project IDs
Output schemas not documented. Callers cannot see what fields responses contain, forcing LLMs to guess at downstream field names and risk broken tool chains.
Array parameters lack element type constraints. 'categories' in classifyFile and splitFile, 'extractionConfig' in extractFile, no description of expected structure or element types.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Server marks tools as READ_ONLY or WRITE in metadata but does not expose these hints in tool definitions for LLM awareness.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Search inside a file with a regex or literal pattern.
List all indexes available to the user.
Parse a file providing its file ID, retrieving markdown or plain text content of the file.
Read the parsed contents of a specific file from an index.
Perform semantic or hybrid retrieval across an entire index.
Split a document into category-labelled sections.
Upload a file to LLamaParse S3 storage providing a URL to download the file data. On upload completion, the file will be sent to LlamaParse S3 storage, so that it can be used for downstream processing tasks like parsing, classification or splitting.
List tools (listIndexes, findFilesInIndex) lack pagination parameters (limit, offset, cursor). Large result sets will blow context window without pagination guidance.
Error responses return generic text without recovery guidance. Rate limit errors and auth failures do not suggest next steps (e.g., 'retry after X seconds' or 'call getUserProjects first').