{"id":"everaldo-mcp-mistral-ocr","name":"mcp-mistral-ocr","homepage":null,"repo_url":"https://github.com/everaldo/mcp-mistral-ocr","category":"ai-ml","subcategories":[],"tags":["mcp","ocr","mistral","python","docker","claude-desktop","documents","text-extraction"],"what_it_does":"Provides an MCP server that performs OCR using Mistral AI’s OCR API. It can process files from a mounted local directory (images/PDFs) and can process files from URLs when the caller supplies an explicit file type; results are written as timestamped JSON files inside an OCR output directory under the configured OCR_DIR.","use_cases":["Extract text from scanned documents (PDF/image) via an MCP tool","OCR for documents stored in a local volume mounted into the container","OCR for publicly reachable documents/images via URL + explicit file_type","Integrating OCR into Claude Desktop workflows using MCP"],"not_for":["Performing OCR without user-provided access to images/PDFs (e.g., arbitrary private URLs not reachable by the server)","High-volume/real-time interactive OCR where strict latency/throughput SLAs are required","Use cases that need strong built-in access controls per user beyond holding an API key","Workflows requiring documented rate-limit behavior, retries, and idempotency guarantees at the MCP layer (not specified)"],"best_when":"You want a simple MCP-based OCR capability integrated into desktop/agent tooling, using Docker and a single Mistral API key.","avoid_when":"You need clear, documented operational guarantees (retries, error codes, rate limit headers) or fine-grained authorization/scopes for multi-tenant deployments.","alternatives":["Run Mistral OCR API directly from your own backend (custom OCR pipeline)","Use a dedicated OCR service/library (e.g., Tesseract or cloud OCR providers) and expose as your own MCP server","Use another existing MCP OCR server (if available) or a general file-to-text MCP tool"],"af_score":57.5,"security_score":49.5,"reliability_score":22.5,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T15:26:37.377410+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["MISTRAL_API_KEY environment variable"],"oauth":false,"scopes":false,"notes":"Authentication is via a single Mistral API key passed to the container via environment variable (no OAuth or per-tool scopes described)."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":["Mistral AI API usage pricing (external dependency)"],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"The MCP server itself is open-source (MIT per metadata), but OCR calls incur Mistral OCR API costs. No cost calculator or tiers are described in the README."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":57.5,"security_score":49.5,"reliability_score":22.5,"mcp_server_quality":70.0,"documentation_accuracy":65.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":85.0,"rate_limit_clarity":10.0,"tls_enforcement":60.0,"auth_strength":45.0,"scope_granularity":20.0,"dependency_hygiene":55.0,"secret_handling":70.0,"security_notes":"TLS enforcement for outbound calls to Mistral/OCR endpoints is not described in the README (assumed by typical HTTPS usage, but not guaranteed). Auth is a single static MISTRAL_API_KEY with no per-user/per-tool scopes described. The README instructs passing the key via environment variables, which is generally safer than hard-coding, but no guidance is given about logging/redaction or handling sensitive contents. Dependency list is small but dependency CVE hygiene cannot be confirmed from provided data.","uptime_documented":0.0,"version_stability":35.0,"breaking_changes_history":35.0,"error_recovery":20.0,"idempotency_support":"false","idempotency_notes":"Outputs are saved with timestamps; repeated calls likely create new output files rather than reusing previous results. No idempotency semantics are documented.","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["process_local_file requires the file to be present in the mounted OCR_DIR container path (mapped to /data/ocr in the README example).","process_url_file requires explicit file_type ('image' or 'pdf'); agents must supply it correctly.","Large inputs are limited by Mistral API constraints (50MB and up to 1000 pages); agents should pre-check or handle failures."]}}