{"id":"xls-mcp-servers","name":"xls-mcp-servers","homepage":"https://pypi.org/project/xls-mcp-servers/","repo_url":"https://github.com/Lincyghb/xls-mcp-server","category":"infrastructure","subcategories":[],"tags":["mcp","excel","xls","python","file-io","automation","spreadsheets"],"what_it_does":"Provides an MCP server (Python) exposing tools to read, write, create, and update Excel 97-2003 .xls (binary) files, including listing sheet names and retrieving basic spreadsheet metadata.","use_cases":["Reading tabular data from legacy .xls files in an MCP-enabled workflow","Programmatically generating .xls reports or configuration spreadsheets","Updating specific cells in an existing .xls workbook","Listing workbook sheets and extracting ranges for downstream processing"],"not_for":["Handling modern .xlsx workbooks","High-throughput spreadsheet processing at scale without additional orchestration","Server-side web/API usage patterns requiring REST endpoints, auth, or quotas"],"best_when":"You need agent-driven access to legacy Excel .xls files and can safely permit file-system reads/writes from the MCP server runtime environment.","avoid_when":"When you need .xlsx support, strong multi-tenant security controls, or robust, documented operational guarantees (SLA, retry semantics, rate limits).","alternatives":["For .xlsx: an MCP server or library supporting OpenXML (.xlsx) such as openpyxl-based implementations","Local-only scripting with pandas + xlrd/openpyxl (depending on file type) without MCP","Generic file-processing MCP servers that provide schema-validated inputs/outputs and stronger security controls"],"af_score":56.5,"security_score":35.0,"reliability_score":26.2,"package_type":"mcp_server","discovery_source":["pypi"],"priority":"low","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-04-04T21:37:52.821181+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":[],"oauth":false,"scopes":false,"notes":"No authentication mechanism is described in the provided README. File access is instead controlled by an ALLOWED_PATHS allowlist in server.py."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"No pricing details provided; appears to be a library/server installed from PyPI."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":56.5,"security_score":35.0,"reliability_score":26.2,"mcp_server_quality":62.0,"documentation_accuracy":70.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":95.0,"rate_limit_clarity":5.0,"tls_enforcement":20.0,"auth_strength":15.0,"scope_granularity":25.0,"dependency_hygiene":55.0,"secret_handling":70.0,"security_notes":"No auth or transport security details are provided (likely local process). Primary risk is unconstrained file-system access unless ALLOWED_PATHS is correctly set in server.py. README mentions allowlisting, but does not document secure defaults. Spreadsheet parsing/writing dependencies are standard libraries; no vulnerability status is provided.","uptime_documented":0.0,"version_stability":35.0,"breaking_changes_history":40.0,"error_recovery":30.0,"idempotency_support":"false","idempotency_notes":"No idempotency guarantees documented. Operations like write_xls / update_xls_cell can change workbook state; overwrite default is false (append mode implied) which may cause non-idempotent behavior across repeated runs.","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Only supports .xls (Excel 97-2003 binary); .xlsx will not work.","Dates are converted to strings (YYYY-MM-DD), which may affect round-tripping or type expectations.","If ALLOWED_PATHS is empty, the server may allow access to all paths—dangerous in agent contexts.","If the target file is open by Excel/another process, write/update may fail.","Complex formatting may not be fully preserved after copying/modifying with xlutils."]}}