{"name":"io.github.ruriazz/xlsx-tools-mcp","slug":"ruriazz-xlsx-tools-mcp","title":"xlsx-tools-mcp","description":"MCP server for accurate, structure-preserving read/write access to Excel (.xlsx) files","url":"https://mcp.market/server/ruriazz-xlsx-tools-mcp","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":30,"stars":4,"forks":0,"downloads_week":52,"last_push_at":"2026-10-17T04:16:19.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/ruriazz/xlsx-tools-mcp","website":null,"version":"0.3.2","remotes":[],"packages":[{"registryType":"pypi","identifier":"xlsx-tools-mcp","version":"0.3.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Comma or semicolon-separated alias=path pairs of workbooks to preload at startup","format":"string","name":"XLSX_MCP_FILES"},{"description":"Timeout in seconds for the LibreOffice recalculation pass (default 60)","format":"string","name":"XLSX_MCP_RECALC_TIMEOUT"},{"description":"Timeout in seconds to acquire the per-file lock (default 10)","format":"string","name":"XLSX_MCP_LOCK_TIMEOUT"},{"description":"Comma or semicolon-separated list of allowed directories to restrict file access (supports case-insensitivity on Windows)","format":"string","name":"XLSX_MCP_ALLOWED_DIRS"},{"description":"Enable automatic backup creation before workbook mutations (default true)","format":"string","name":"XLSX_MCP_AUTO_BACKUP"},{"description":"Optional custom directory to store backup files instead of beside the target file","format":"string","name":"XLSX_MCP_BACKUP_DIR"}]}],"tools":[{"name":"aggregate_sheet","description":"Group and aggregate sheet data with pandas (e.g. sum sales by region).","write_action":false,"price_micros":0,"input_schema":null},{"name":"append_rows","description":"Append rows after the last used row of a sheet, then recalculate the workbook.","write_action":false,"price_micros":0,"input_schema":null},{"name":"autofit_columns","description":"Automatically adjust column widths based on maximum text length.","write_action":false,"price_micros":0,"input_schema":null},{"name":"clear_range","description":"Clear cell values and/or styles within a specified range without deleting rows or columns.","write_action":false,"price_micros":0,"input_schema":null},{"name":"copy_sheet","description":"Duplicate a sheet including its contents, formulas, and styles.","write_action":false,"price_micros":0,"input_schema":null},{"name":"create_chart","description":"Create a native Excel chart (bar, line, pie, scatter).","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_sheet","description":"Add a new empty sheet to an existing workbook.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_table","description":"Create a formal Excel Table (ListObject) on the specified range.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_workbook","description":"Create a new .xlsx workbook.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_columns","description":"Delete columns, shifting the columns to their right leftward.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_rows","description":"Delete rows, shifting the rows below them upward.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_sheet","description":"Delete a sheet from a workbook. Fails if it is the only sheet left.","write_action":true,"price_micros":0,"input_schema":null},{"name":"get_cell","description":"Get full detail for a single cell: value, formula, number format, font, fill, merge, comment.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_workbook_info","description":"Get workbook-level metadata: sheets, exact dimensions, active sheet, defined names.","write_action":false,"price_micros":0,"input_schema":null},{"name":"insert_columns","description":"Insert blank columns, shifting existing columns right.","write_action":true,"price_micros":0,"input_schema":null},{"name":"insert_rows","description":"Insert blank rows, shifting existing rows down.","write_action":true,"price_micros":0,"input_schema":null},{"name":"list_configured_files","description":"List files preloaded at server startup (via the XLSX_MCP_FILES env var).","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_sheets","description":"List every sheet in a workbook with its approximate row/column counts.","write_action":false,"price_micros":0,"input_schema":null},{"name":"merge_cells","description":"Merge a rectangular range of cells into one.","write_action":false,"price_micros":0,"input_schema":null},{"name":"profile_sheet","description":"Profile sheet data: metadata, inferred types, null counts, min/max, sample values.","write_action":false,"price_micros":0,"input_schema":null},{"name":"query_sheet","description":"Query sheet data using pandas expressions without returning the entire sheet into the LLM context.","write_action":false,"price_micros":0,"input_schema":null},{"name":"read_sheet","description":"Read cell values from a sheet.","write_action":false,"price_micros":0,"input_schema":null},{"name":"recalculate_workbook","description":"Force a LibreOffice headless recalculation pass and report any formula errors found.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rename_sheet","description":"Rename an existing sheet.","write_action":false,"price_micros":0,"input_schema":null},{"name":"restore_backup","description":"Restore a backup file over a target workbook atomically.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_workbook","description":"Search cell values across one or all sheets for a substring match.","write_action":false,"price_micros":0,"input_schema":null},{"name":"set_cell_style","description":"Apply formatting to a range of cells.","write_action":false,"price_micros":0,"input_schema":null},{"name":"unmerge_cells","description":"Undo a merge on a range of cells.","write_action":false,"price_micros":0,"input_schema":null},{"name":"write_cells","description":"Write values and/or formulas into specific cells, then recalculate the workbook.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":92,"grade":"A","scanned_at":"2026-11-01T13:27:46.076Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-11-01T13:27:46.048Z","components":{"code":{"score":25,"max":25,"notes":["13 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 15 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"xlsx-tools-mcp","version":"0.3.2","found":true,"weeklyDownloads":52,"license":"MIT","dependencyCount":6,"publishedAt":"2026-10-17T04:16:29.806210Z","repositoryUrl":"https://github.com/ruriazz/xlsx-tools-mcp"}],"repo":{"found":true,"owner":"ruriazz","repo":"xlsx-tools-mcp","archived":false,"pushedAt":"2026-10-17T04:16:19Z","stars":4,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/33656465?v=4","ownerCreatedAt":"2017-11-14T11:03:47Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/33656465?v=4&s=128","source":"registry"},"presence":{"stars":4,"forks":0,"downloadsWeek":52,"license":"MIT","lastPushAt":"2026-10-17T04:16:19.000Z","score":30}}}},"grade_history":[],"reviews":[]}