Excel to JSON MCP by WTSolutions
This server converts Excel and CSV data into JSON format using two tools:
excel_to_json_mcp_from_data: Accepts tab-separated (Excel) or comma-separated (CSV) text and converts it to JSON. The first row becomes keys, subsequent rows become values (minimum 2 rows required).excel_to_json_mcp_from_url: Fetches a publicly accessible.xlsxfile from a URL and converts each sheet into a JSON object withsheetNameanddataproperties.
Automatic data type detection handles numbers, booleans, dates, and strings appropriately.
Customization options (requires Pro Code subscription):
JSON structure mode:
flatornestedHeader orientation: first row or first column
Nested key delimiter:
.,_,__, or/Empty cell handling: empty string,
null, or excludeBoolean format:
true/false,1/0, or stringOutput format: array of objects or 2D array
Single-object output: keep as array or return as plain object
Free tier processes up to 6 rows of data; a valid Pro Code unlocks unlimited processing.
1. Click on "Deploy Server".
2. Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
3. In the chat, type `@` followed by the MCP server name and your instructions, e.g., "`@Excel to JSON MCP by WTSolutions` convert this CSV data to JSON: Name,Age,City
John,30,NYC Jane,25,LA"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a [step-by-step guide with screenshots](https://glama.ai/blog/2025-07-08-how-to-install-and-use-mcp-servers).Excel to JSON MCP by WTSolutions
Introduction
The Excel to JSON MCP (Model Context Protocol) provides a standardized interface for converting Excel and CSV data into JSON format using the Model Context Protocol. This MCP implementation offers two specific tools for data conversion:
excel_to_json_mcp_from_data: Converts tab-separated Excel data or comma-separated CSV text data into JSON format.
excel_to_json_mcp_from_url: Converts Excel file (.xlsx) from a provided URL
Excel to JSON MCP is part of Excel to JSON by WTSolutions:
Excel to JSON Web App: Convert Excel to JSON directly in Web Browser.
Excel to JSON Excel Add-in: Convert Excel to JSON in Excel, works with Excel environment seamlessly.
Excel to JSON WPS Add-in: Convert Excel to JSON in WPS, works with WPS environment seamlessly.
Excel to JSON API: Convert Excel to JSON by HTTPS POST request.
Excel to JSON MCP Service: Convert Excel to JSON by AI Model MCP SSE/StreamableHTTP request. (<-- You are here.)
Related MCP server: Excel MCP Server
Server Config
Available MCP Servers :
Using Stdio(NPX)
Server Config JSON:
Case 1 : Free Version (Up to processing 6 Rows of data)
If you are using the free version:
{
"mcpServers": {
"excel-to-json-mcp": {
"args": [
"excel-to-json-mcp"
],
"command": "npx"
}
}
}Case 2 : Pro Version
If you are using the pro version (with a valid proCode):
{
"mcpServers": {
"excel-to-json-mcp": {
"args": [
"excel-to-json-mcp"
],
"command": "npx",
"env": {
"proCode": "type in your proCode here"
}
}
}
}Using SSE
Not supported since v1.3.0
Using Streamable HTTP
Not supported since v1.3.0
MCP Tools
excel_to_json_mcp_from_data
Converts tab-separated Excel data or comma-separated CSV text data into JSON format.
Parameters
Parameter | Type | Required | Description |
data | string | Yes | Tab-separated or comma-separated text data with at least two rows (header row + data row) |
options | object | No | Optional configuration object for customizing the conversion process. |
Note: Input data must be tab-separated (Excel) or comma-separated (CSV) text with at least two rows (header row + data row).
The first row will be considered as "header" row, and this MCP will use it as column names, subsequently JSON keys.
The following rows will be considered as "data" rows, and this MCP will treat them as JSON values.
Example Prompt 1:
Convert the following data into JSON format:
Name Age IsStudent
John Doe 25 false
Jane Smith 30 trueExample Prompt 2:
Convert the following data into JSON format:
Name,Age,IsStudent
John Doe,25,false
Jane Smith,30,trueexcel_to_json_mcp_from_url
Converts an Excel file from a provided URL into JSON format.
Parameters
Parameter | Type | Required | Description |
url | string | Yes | URL pointing to an Excel (.xlsx) |
options | object | No | Optional configuration object for customizing the conversion process. |
Note:
Each sheet of the Excel file should contain at least two rows (header row + data row).
The first row will be considered as "header" row, and this MCP will use it as column names, subsequently JSON keys.
The following rows will be considered as "data" rows, and this MCP will treat them as JSON values.
This Excel file should be in '.xlsx' format.
Each sheet of the Excel file will be converted to a JSON object.
Each JSON object will have 'sheetName' (string) and 'data' (array of objects) properties.
Each JSON object in 'data' array will have properties corresponding to column names.
Each JSON object in 'data' array will have values corresponding to cell values.
Example Prompt 1
Convert Excel file to JSON, file URL: https://tools.wtsolutions.cn/example.xlsx
Example Prompt 2
(applicable only when you do not have a URL and working with online AI LLM)
I've jsut uploaded one .xlsx file to you, please extract its URL and send it to MCP tool 'excel_to_json_mcp_from_url', for Excel to JSON conversion.
Options Object
If you do not have a Pro Code, you can still use this MCP tool. However, max. 6 rows of data will be processed.
The optional options object can contain the following properties for customizing the conversion process. This feature requires a valid Pro Code (Excel to JSON, JSON to Excel by WTSolutions Subscription), see Pricing.
Property | Type | Default | Description |
proCode | string | "" | Pro Code for unlimited data processing which requires a valid subscription to Excel to JSON service. |
jsonMode | string | "flat" | Format mode for JSON output: "nested" or "flat" |
header | string | "row" | Specifies which row/column to use as headers: "row" (first row) or "column" (first column) |
delimiter | string | "." | Delimiter character for nested JSON keys when using |
emptyCell | string | "emptyString" | Handling of empty cells: "emptyString", "null", or "exclude" |
booleanFormat | string | "trueFalse" | Format for boolean values: "trueFalse", "10", or "string" |
jsonFormat | string | "arrayOfObject" | Overall JSON output format: "arrayOfObject" or "2DArray" |
singleObjectFormat | string | "array" | Format when result has only one object: "array" (keep as array) or "object" (return as single object) |
Note:
delimiterworks only whenjsonModeis "nested".
singleObjectFormatworks only whenjsonFormatis "arrayOfObject".
jsonFormatas "2DArray" works only whenjsonModeis "flat".
Response Format
The MCP tools return a JSON object with the following structure:
Field | Type | Description |
isError | boolean | Indicates if there was an error processing the request |
msg | string | 'success' or error description |
data | string | Converted data as array of sheet objects if using URL, string if using direct data, '' if there was an error. Each sheet object contains 'sheetName' (string) and 'data' (array of objects) if using URL |
Example Success Response
{
"content": [{
"type": "text",
"text": "{\"isError\":false,\"msg\":\"success\",\"data\":\"[{\"Name\":\"John Doe\",\"Age\":25,\"IsStudent\":false},{\"Name\":\"Jane Smith\",\"Age\":30,\"IsStudent\":true}]\"}"
}]
}Above is the response from MCP tool, and in most cases your LLM should interpret the response and present you with a JSON object, for example as below.
Note, different LLM models may have different ways to interpret the JSON object, so please check if the JSON object is correctly interpreted by your LLM model.
{
"isError": false,
"msg": "success",
"data": "[{\"Name\":\"John Doe\",\"Age\":25,\"IsStudent\":false},{\"Name\":\"Jane Smith\",\"Age\":30,\"IsStudent\":true}]"
}{
"isError": false,
"msg": "success",
"data": [
{
"Name": "John Doe",
"Age": 25,
"IsStudent": false
},
{
"Name": "Jane Smith",
"Age": 30,
"IsStudent": true
}
]
}
[
{
"Name": "John Doe",
"Age": 25,
"IsStudent": false
},
{
"Name": "Jane Smith",
"Age": 30,
"IsStudent": true
}
]
Example Failed Response
{
"content": [{
"type": "text",
"text": "{\"isError\": true, \"msg\": \"Network Error when fetching file\", \"data\": \"\"}"
}]
}Above is the response from MCP tool, and in most cases your LLM should interpret the response and present you with a JSON object, for example as below.
Note, different LLM models may have different ways to interpret the JSON object, so please check if the response is correctly interpreted by your LLM model.
{
"isError": true,
"msg": "Network Error when fetching file",
"data": ""
}or it is also possbile that your LLM would say "Network Error when fetching file, try again later" to you.
Data Type Handling
The API automatically detects and converts different data types:
Numbers: Converted to numeric values
Booleans: Recognizes 'true'/'false' (case-insensitive) and converts to boolean values
Dates: Detects various date formats and converts them appropriately
Strings: Treated as string values
Empty values: Represented as empty strings
Error Handling
The MCP returns descriptive error messages for common issues:
Excel Data Format Invalid: When input data is not tab-separated or comma-separatedAt least 2 rows are required: When input data has fewer than 2 rowsBoth data and url received: When both 'data' and 'url' parameters are providedNetwork Error when fetching file: When there's an error downloading the file from the provided URLFile not found: When the file at the provided URL cannot be foundBlank/Null/Empty cells in the first row not allowed: When header row contains empty cellsServer Internal Error: When an unexpected error occursPro Code Invalid: When the provided Pro Code is invalid or not subscribedMax 6 rows processed: When a valid Pro Code is not provided, only the first 6 rows of data will be processed.
Service Agreement and Privacy Policy
By using Excel to JSON MCP, you agree to the service agreement, and privacy policy.
Pricing
Free Version, max. 6 rows of data processed. Pro Version, unlimited data processing.
Please refer to the pricing page for more details.
Available Tools
2 toolsexcel_to_json_mcp_from_dataExcel to JSON MCP by WTSolutions - from dataA
Convert string format (1) tab separated Excel data or (2) comma separated CSV data to JSON. If you do not have a Pro Code, please pass only the data parameter, but not options parameter in the request
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Tab separated Excel data or CSV data in string format | |
| options | No | If you do not have a Pro Code, please do not pass the options parameter in the request. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the Pro Code requirement, which hints at authentication or licensing needs, but doesn't describe rate limits, error handling, performance characteristics, or what happens during conversion failures. For a data transformation tool with complex options, this leaves significant behavioral aspects undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences that each serve a clear purpose. The first sentence states the core functionality, and the second provides crucial usage guidance about Pro Code requirements. There's no wasted text, though it could be slightly more structured for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (8 nested options parameters) and lack of both annotations and output schema, the description is somewhat incomplete. It covers the basic transformation purpose and Pro Code requirement but doesn't address output format details, error cases, or the relationship between the various options parameters. For a tool with this many configuration options, more context would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value beyond the schema - it mentions the two input format types (tab-separated Excel and CSV) which the schema also covers, and repeats the Pro Code guidance. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: converting tab-separated Excel data or comma-separated CSV data to JSON. It specifies the input format (string) and output format (JSON), which is specific and actionable. However, it doesn't explicitly differentiate from its sibling 'excel_to_json_mcp_from_url' beyond the 'from data' vs 'from url' naming, so it doesn't fully distinguish from alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: it tells users when to pass only the data parameter (if they don't have a Pro Code) and when to include the options parameter (if they have a Pro Code). This directly addresses when to use specific parameter configurations, which is clear and practical guidance for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
excel_to_json_mcp_from_urlExcel to JSON MCP by WTSolutions - from urlA
Convert Excel (.xlsx) from publicly accessible URL(string format) to JSON. If you do not have a Pro Code, please pass only the url parameter, but not options parameter in the request.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Publically accessible URL(string format) to Excel file(.xlsx) | |
| options | No | If you do not have a Pro Code, please do not pass the options parameter in the request. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the Pro Code requirement which suggests authentication/authorization needs, but doesn't address rate limits, error handling, response format, or what happens with invalid URLs. The description adds some behavioral context but leaves significant gaps for a tool that performs data transformation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences that both earn their place. The first sentence states the core purpose, and the second provides crucial usage guidance. However, it could be slightly more front-loaded by mentioning the Pro Code requirement earlier, and the URL format specification is redundant with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a data transformation tool with no annotations and no output schema, the description provides adequate purpose and usage guidance but lacks information about output format, error conditions, or transformation behavior. The 100% schema coverage helps, but the description should ideally mention what the JSON output looks like or reference the schema for details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents both parameters thoroughly. The description adds minimal value beyond the schema - it reiterates the URL requirement and Pro Code conditional logic, but doesn't provide additional context about parameter interactions or usage patterns. This meets the baseline expectation when schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Convert Excel from publicly accessible URL to JSON'), identifies the resource type (.xlsx files), and distinguishes from the sibling tool 'excel_to_json_mcp_from_data' by specifying 'from url' in both the title and description. The verb+resource+scope combination is precise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use specific parameters: 'If you do not have a Pro Code, please pass only the url parameter, but not options parameter in the request.' This creates clear conditional usage rules and distinguishes between free and pro usage scenarios, offering practical implementation guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
excel_to_json_mcp_from_data - First observed
excel_to_json_mcp_from_url
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one converts data from a string (tab-separated Excel or CSV), and the other converts from a publicly accessible URL. There is no overlap in functionality, making it easy for an agent to choose the correct tool based on the input source.
Both tools follow a consistent naming pattern: 'excel_to_json_mcp_from_' followed by the source type ('data' or 'url'). This verb_noun style is uniform and predictable, aiding in tool identification and usage.
With only two tools, the server feels thin for a domain that might benefit from additional operations like validation, formatting options, or error handling. However, it covers the basic conversion tasks adequately, so it's borderline but not severely lacking.
The server provides core conversion functionality from both string data and URLs, which aligns with its purpose. A minor gap is the lack of tools for handling non-public URLs or advanced Excel features, but agents can work around this with the available tools for most common use cases.
Maintenance
Related MCP Connectors
MCP Spec Compliance MCP — audits any MCP server.json against the official Model Context Protocol
IPStack MCP Adapter turns IPStack's REST APIs into Model Context Protocol tools so any MCP-compatible client can call them directly in conversation. The first release ships IPStack IP geolocation and security lookups (single IP, caller's IP, and bulk). Additional APILayer services are added by registering them in a single config file, so the catalog grows without client-side changes.
Related MCP Servers
- AlicenseBqualityDmaintenanceA Model Context Protocol (MCP) server that provides tools for reading Excel (xlsx) files, enabling extraction of data from entire workbooks or specific sheets with results returned in structured JSON format.36Apache 2.0
- -licenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides tools for reading, updating, filtering, and visualizing Excel data through a simple API.-
- AlicenseBqualityDmaintenanceA Model Context Protocol (MCP) server that generates Excel templates conforming to JXLS specifications, supporting both JSON objects and arrays data formats.1MIT
- FlicenseAqualityFmaintenanceThe JSON to Excel MCP provides a standardized interface for converting (1)JSON data (2)URL pointing to JSON files into CSV format25 npm1-