Skip to main content
Glama
he-yang

JSON to Excel MCP by WTSolutions

by he-yang

json_to_excel_mcp_from_url

Convert JSON data from public URLs to CSV format for analysis and reporting. Supports nested JSON with configurable formatting options.

Instructions

Convert JSON data from publicly accessible URL(.json format) to CSV data. If you do not have a Pro Code, please pass only the url parameter, and do not pass the options parameter.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesPublicly accessible URL of the JSON file
optionsNoIf you do not have a Pro Code, please do not pass the options parameter in the request.

Implementation Reference

  • MCP tool handler that processes the URL using processURLJ2E helper, handles errors, and returns JSON stringified result as text content.
    async ({ url, options }) => { if (options && !options.proCode) { options.proCode = process.env.proCode || '' } let result = await processURLJ2E(url, options) if (result.isError) { result['data'] = '' result['msg'] = result['msg'] + ' ||| Refer to Documentation at ' + URLs.mcpJ2E } else { result['msg'] = 'success' } return { content: [{ type: "text", text: JSON.stringify(result) }] }; }
  • Zod-based input schema for the tool, defining required 'url' and optional 'options' object with formatting parameters and proCode.
    inputSchema: { url: z.string().nonempty().describe("Publicly accessible URL of the JSON file"), options: z.object({ jsonMode: z.enum(['nested', 'flat']).optional().describe("Format mode for JSON output: “nested”, or “flat”"), delimiter: z.enum(['.', '_', '__', '/']).optional().describe("Delimiter character for nested JSON keys when using jsonMode: “nested”, acceptable delimiters are “.”, “_”, “__”, “/”."), maxDepth: z.enum(['unlimited', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20']).optional().describe("Maximum depth for nested JSON objects when using jsonMode: “nested”. For maxDepth, “unlimited”, “1” ~ “20” acceptable."), proCode: z.string().optional().describe("Pro Code for JSON to Excel MCP by WTSolutions. If you do not have a Pro Code, please do not pass this parameter."), }).optional().describe("If you do not have a Pro Code, please do not pass the options parameter in the request."), }
  • src/index.ts:13-41 (registration)
    Full registration of the 'json_to_excel_mcp_from_url' tool with McpServer, including name, metadata/schema, and handler function.
    server.registerTool( "json_to_excel_mcp_from_url", { title: "JSON to Excel MCP by WTSolutions - from url", description: "Convert JSON data from publicly accessible URL(.json format) to CSV data. If you do not have a Pro Code, please pass only the url parameter, and do not pass the options parameter.", inputSchema: { url: z.string().nonempty().describe("Publicly accessible URL of the JSON file"), options: z.object({ jsonMode: z.enum(['nested', 'flat']).optional().describe("Format mode for JSON output: “nested”, or “flat”"), delimiter: z.enum(['.', '_', '__', '/']).optional().describe("Delimiter character for nested JSON keys when using jsonMode: “nested”, acceptable delimiters are “.”, “_”, “__”, “/”."), maxDepth: z.enum(['unlimited', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20']).optional().describe("Maximum depth for nested JSON objects when using jsonMode: “nested”. For maxDepth, “unlimited”, “1” ~ “20” acceptable."), proCode: z.string().optional().describe("Pro Code for JSON to Excel MCP by WTSolutions. If you do not have a Pro Code, please do not pass this parameter."), }).optional().describe("If you do not have a Pro Code, please do not pass the options parameter in the request."), } }, async ({ url, options }) => { if (options && !options.proCode) { options.proCode = process.env.proCode || '' } let result = await processURLJ2E(url, options) if (result.isError) { result['data'] = '' result['msg'] = result['msg'] + ' ||| Refer to Documentation at ' + URLs.mcpJ2E } else { result['msg'] = 'success' } return { content: [{ type: "text", text: JSON.stringify(result) }] }; } );

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/he-yang/json-to-excel-mcp'

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