{"id":"upstage-mcp-server","name":"upstage-mcp-server","homepage":"https://pypi.org/project/upstage-mcp-server/","repo_url":"https://github.com/PritamPatil2603/upstage-mcp-server","category":"ai-ml","subcategories":[],"tags":["mcp","document-parsing","ocr","information-extraction","python","upstage","ai-integration"],"what_it_does":"Provides an MCP server that lets an AI client (e.g., Claude Desktop) call Upstage document digitization and information extraction APIs to parse documents (PDF/images/Office files) and extract structured fields based on schemas.","use_cases":["Parsing PDFs and images into structured content while preserving layout","Extracting specific data points from invoices and other documents using provided or auto-generated schemas","Integrating document parsing/extraction into MCP-capable AI assistants for local workflows"],"not_for":["Direct use as a general-purpose document hosting or search system","Use cases requiring user authentication/authorization between multiple end users","Serving untrusted documents in a hardened, multi-tenant environment without additional controls"],"best_when":"You want MCP tool access from an MCP client (like Claude Desktop) to Upstage’s document parsing/extraction, and you can provide local file paths and an Upstage API key.","avoid_when":"You need a public multi-user API, fine-grained per-user authorization, or you cannot control where files are read from (local file path exposure concerns).","alternatives":["Using Upstage’s document parsing/extraction APIs directly (without MCP)","Building a custom MCP server around Upstage APIs with additional controls (validation, storage, auth)","Other MCP servers for OCR/document extraction (if they meet your format and schema needs)"],"af_score":59.0,"security_score":58.0,"reliability_score":27.5,"package_type":"mcp_server","discovery_source":["pypi"],"priority":"low","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-04-04T21:40:46.793854+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":["UPSTAGE_API_KEY via environment variable (UPSTAGE_API_KEY)"],"oauth":false,"scopes":false,"notes":"Authentication is delegated to Upstage via a single API key provided to the MCP server process via environment variables (no OAuth flow or scope-based authorization described at the MCP layer)."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"Pricing for Upstage usage is not described in the provided package content; MCP server usage is tied to your Upstage API usage."},"requirements":{"requires_signup":true,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":59.0,"security_score":58.0,"reliability_score":27.5,"mcp_server_quality":70.0,"documentation_accuracy":70.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":90.0,"rate_limit_clarity":10.0,"tls_enforcement":80.0,"auth_strength":60.0,"scope_granularity":20.0,"dependency_hygiene":60.0,"secret_handling":70.0,"security_notes":"Uses an API key via environment variable as shown in README (better than hardcoding), and communication to Upstage is implied via HTTP API calls (TLS likely, but not explicitly documented). No evidence is provided about fine-grained scopes, per-request authorization, or protections against local file path misuse/exfiltration in a multi-tenant setting. Dependency hygiene cannot be verified from provided content; includes common libraries (httpx, aiofiles, tenacity, mcp[cli]).","uptime_documented":0.0,"version_stability":40.0,"breaking_changes_history":30.0,"error_recovery":40.0,"idempotency_support":"false","idempotency_notes":null,"pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["The server expects local file paths (the agent/client must pass accessible paths), which can fail if paths are incorrect or not permitted in the runtime environment.","Claude Desktop integration may fail with 'Server disconnected' if uvx/uv command resolution is wrong; the README suggests using an absolute path to the executable.","Supported file constraints are mentioned for troubleshooting (e.g., size < 50MB and < 100 pages), which agents should respect to avoid repeated failures."]}}