Skip to main content
Glama
he-yang

Excel to JSON MCP by WTSolutions

by he-yang

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:

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	true

Example Prompt 2:

Convert the following data into JSON format:

Name,Age,IsStudent
John Doe,25,false
Jane Smith,30,true

excel_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).

    1. The first row will be considered as "header" row, and this MCP will use it as column names, subsequently JSON keys.

    2. 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 jsonMode: "nested", acceptable delimiters are ".", "_", "__", "/".

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:

  • delimiter works only when jsonMode is "nested".

  • singleObjectFormat works only when jsonFormat is "arrayOfObject".

  • jsonFormat as "2DArray" works only when jsonMode is "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-separated

  • At least 2 rows are required: When input data has fewer than 2 rows

  • Both data and url received: When both 'data' and 'url' parameters are provided

  • Network Error when fetching file: When there's an error downloading the file from the provided URL

  • File not found: When the file at the provided URL cannot be found

  • Blank/Null/Empty cells in the first row not allowed: When header row contains empty cells

  • Server Internal Error: When an unexpected error occurs

  • Pro Code Invalid: When the provided Pro Code is invalid or not subscribed

  • Max 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 tools
excel_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

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesTab separated Excel data or CSV data in string format
optionsNoIf you do not have a Pro Code, please do not pass the options parameter in the request.

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublically accessible URL(string format) to Excel file(.xlsx)
optionsNoIf you do not have a Pro Code, please do not pass the options parameter in the request.

TDQS

A4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

  1. 2 tool updates
    • First observedexcel_to_json_mcp_from_data
    • First observedexcel_to_json_mcp_from_url

TDQS

A3.9/5.0

Scored across 2 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count3/5

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.

Completeness4/5

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

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A 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.
    3
    6
    Apache 2.0
  • -
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that provides tools for reading, updating, filtering, and visualizing Excel data through a simple API.
    -