Skip to main content
Glama
senoff

xlsx-for-ai

xlsx_convert

Convert any spreadsheet format—including legacy .xls, .ods, Numbers, or .csv—to xlsx, csv, json, md, or html for direct reading by AI agents.

Instructions

universal spreadsheet format converter. Reads ANY of 25+ input formats (xlsx, xlsb, xlsm, xls, ods, fods, numbers, csv, tsv, dbf, lotus 1-2-3, quattro pro, sylk, dif, html, rtf, etc.) and emits ANY supported output format (xlsx, csv, json, md, html, etc.). No other tool in the MCP space ingests legacy formats — pandas.read_excel only reads xlsx/xls; openpyxl is xlsx-only. xlsx_convert is the only "any-spreadsheet → LLM-readable" hosted endpoint.

USE WHEN: the user has a .xls / .xlsb / .ods / Numbers / .csv / Lotus / Quattro / dBASE file they want to read or convert. Output to text formats (csv/json/md/html) renders into the response body for the agent to read directly. Output to binary formats (xlsx/xlsb/etc.) returns bytes in _meta.file_b64 for the npm client to save.

DO NOT USE WHEN: the input is already xlsx and you want to read it (use xlsx_read). Or for upload/attached files.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
file_b64Yes
optionsNo
toYesTarget format. Binary formats return bytes in _meta.file_b64; text formats render in body.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false, destructiveHint=false, idempotentHint=false. The description adds value by explaining that text formats render in the response body for agent reading, while binary formats return bytes in _meta.file_b64 for client saving. This goes beyond annotations and clarifies behavioral aspects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is fairly long but well-structured with sections for purpose, usage, and output behavior. It front-loads the core function and uses bullet-like lines for guidelines. A slight reduction in redundancy could improve conciseness, but it remains effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of handling multiple formats and output behaviors, the description is complete. It explains input format variety, output format options, usage guidelines, and return value handling for both text and binary. No output schema exists, so the description adequately covers what the tool returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33%, but the description compensates by explaining the purpose of file_b64, the options object (with sheet and sheets), and the to parameter format targets. It adds behavioral context about text vs binary output for the to parameter, which is not in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is a 'universal spreadsheet format converter' that reads 25+ input formats and emits many output formats. It distinguishes itself from siblings like xlsx_read by emphasizing legacy format support, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'USE WHEN' and 'DO NOT USE WHEN' sections, detailing when to use this tool (e.g., for legacy formats) and when to use alternatives (e.g., xlsx_read for xlsx). It also explains output behavior differences between text and binary formats.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/senoff/xlsx-for-ai'

If you have feedback or need assistance with the MCP directory API, please join our Discord server