{"id":"sylphxai-pdf-reader-mcp","name":"pdf-reader-mcp","homepage":"https://sylphx.com","repo_url":"https://github.com/SylphxAI/pdf-reader-mcp","category":"ai-ml","subcategories":[],"tags":["mcp","pdf","document-processing","ai-tools","typescript","nodejs","stdio","http","pdfjs"],"what_it_does":"Provides an MCP (Model Context Protocol) server with a single tool, `read_pdf`, to extract PDF text, metadata, page counts, and optionally images (base64 + metadata). Supports local file paths (absolute/relative) and HTTP/HTTPS URLs, including page-range selection and Y-coordinate based ordering to preserve reading/layout flow.","use_cases":["Agentic document Q&A over PDFs (text + metadata)","Vision/multimodal workflows that need embedded images in document order","Extracting structured metadata for indexing/search","Batch processing of multiple PDFs and page ranges","Preprocessing PDFs for downstream LLM summarization or retrieval"],"not_for":["Untrusted multi-tenant environments without proper sandboxing (because local file path access is supported)","Situations requiring strong contractual SLAs or documented uptime guarantees","APIs that require REST/GraphQL/gRPC request/response semantics instead of MCP stdio/HTTP"],"best_when":"You want an MCP tool that an LLM client can call locally (stdio) or via an HTTP MCP transport, to turn PDFs into ordered text/images/metadata for analysis.","avoid_when":"You need strict enterprise controls for data exfiltration from local files or you cannot safely run code that fetches PDFs from arbitrary URLs and reads local paths.","alternatives":["Other MCP PDF tools/readers (if available in your ecosystem)","Standalone PDF extraction libraries or services (e.g., direct PDF.js usage, or managed document processing APIs)","OCR pipelines where PDFs are mostly scans (paired with OCR tooling)"],"af_score":71.8,"security_score":46.0,"reliability_score":50.0,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T13:26:35.215648+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":"https://your-server.com/mcp (configured for HTTP transport)","has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["Optional MCP HTTP authentication via MCP_API_KEY (client sends X-API-Key header)"],"oauth":false,"scopes":false,"notes":"Authentication is only described for the optional HTTP transport; stdio/local mode implies no external auth. No scope model is documented."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"No pricing information provided (appears to be an open-source package)."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":71.8,"security_score":46.0,"reliability_score":50.0,"mcp_server_quality":90.0,"documentation_accuracy":80.0,"error_message_quality":80.0,"error_message_notes":"README includes troubleshooting examples for common issues (absolute paths not allowed, file not found, no tools showing up) but does not provide a comprehensive catalog of error codes/messages for programmatic handling.","auth_complexity":85.0,"rate_limit_clarity":10.0,"tls_enforcement":55.0,"auth_strength":40.0,"scope_granularity":20.0,"dependency_hygiene":60.0,"secret_handling":60.0,"security_notes":"HTTP transport supports an optional API key (X-API-Key) but no details are given about TLS requirements, rate limiting, logging, or authorization scope. The tool accepts local file paths and also fetches remote URLs, so it can present data exfiltration risks in unsafe deployments unless run in a sandboxed environment with restricted filesystem/network access. TLS enforcement and transport security details are not fully specified in the provided README.","uptime_documented":0.0,"version_stability":65.0,"breaking_changes_history":60.0,"error_recovery":75.0,"idempotency_support":"true","idempotency_notes":"PDF reads/extractions are expected to be idempotent with respect to the same input and options (no documented side effects).","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Local mode uses stdio transport; agents may need client-side configuration to ensure the MCP tool is discovered.","When using relative paths, the working directory (`cwd`) matters.","When using HTTP transport, an API key may be required (X-API-Key).","Large PDFs are best handled via page ranges/batching to reduce latency and memory pressure."]}}