Data Transform

io.github.lazymac2xPublished by GitHub account lazymac2xv1.0.0Updated Oct 24, 2026

Cloudflare Workers MCP server: data-transform

VerifiedStreamable HTTPWeb executableDeveloper ToolsData & Analytics

Overview

AI-generated overview

Remote MCP server that converts and reshapes data between JSON, CSV and XML, and filters, sorts, picks, flattens and summarizes JSON arrays.

What you can do
  • Convert data between JSON, CSV and XML, with an optional CSV delimiter
  • Flatten nested JSON into dot-notation keys and unflatten it back
  • Filter a JSON array by a query object with >, < and ! comparisons
  • Pick fields from each object and sort an array by a field
  • Compute count, sum, mean, min, max and median for a numeric field
  • Validate a JSON string and report its type, size or error
When to use it
Useful when an assistant needs to reformat or inspect structured data mid-task — turning API JSON into CSV for a spreadsheet, flattening nested payloads, or getting quick statistics on a numeric field — without writing conversion code.
Requirements
A remote streamable HTTP endpoint; no package, environment variables or headers are declared. No authentication is declared.
Before you install
Data you pass to the tools is sent to a third-party hosted endpoint, so avoid confidential payloads. The README advertises a paid Pro tier and a separate bundled MCP package; the tools themselves are read-only transformations and do not modify your data.

Installation

In SourceWeft

  1. Open Data Transform in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.lazymac2x%2Fdata-transform/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "data-transform": {
      "type": "http",
      "url": "https://api.lazy-mac.com/data-transform/mcp"
    }
  }
}

README

[logo]

[lazymac API Store] [Gumroad] [MCPize]

data-transform-api

⭐ Building in public from $0 MRR. Star if you want to follow the journey — lazymac-mcp (42 tools, one MCP install) · lazymac-k-mcp (Korean wedge) · lazymac-sdk (TS client) · api.lazy-mac.com · Pro $29/mo.

[npm] [Smithery] [lazymac Pro] [api.lazy-mac.com]

🚀 Want all 42 lazymac tools through ONE MCP install? npx -y @lazymac/mcp · Pro $29/mo for unlimited calls.

Data transformation API — convert between JSON, CSV, XML. Flatten, filter, sort, pick fields, compute stats, and validate data. Zero dependencies beyond Express.

Quick Start

bash
npm install && npm start  # http://localhost:3600

Endpoints

Convert

bash
# JSON → CSVcurl -X POST http://localhost:3600/api/v1/json-to-csv \  -H "Content-Type: application/json" \  -d '{"data": [{"name":"Alice","age":30},{"name":"Bob","age":25}]}'
# CSV → JSONcurl -X POST http://localhost:3600/api/v1/csv-to-json \  -H "Content-Type: application/json" \  -d '{"csv": "name,age\nAlice,30\nBob,25"}'
# JSON → XMLcurl -X POST http://localhost:3600/api/v1/json-to-xml \  -H "Content-Type: application/json" \  -d '{"data": {"user": {"name": "Alice", "age": 30}}, "rootName": "response"}'

Transform

bash
# Flatten nested JSONcurl -X POST http://localhost:3600/api/v1/flatten \  -H "Content-Type: application/json" \  -d '{"data": {"user": {"name": "Alice", "address": {"city": "Seoul"}}}}'# → {"user.name": "Alice", "user.address.city": "Seoul"}
# Unflattencurl -X POST http://localhost:3600/api/v1/unflatten \  -H "Content-Type: application/json" \  -d '{"data": {"user.name": "Alice", "user.age": 30}}'
# Filter (supports >, <, !)curl -X POST http://localhost:3600/api/v1/filter \  -H "Content-Type: application/json" \  -d '{"data": [{"name":"Alice","age":30},{"name":"Bob","age":25}], "query": {"age": ">26"}}'
# Pick specific fieldscurl -X POST http://localhost:3600/api/v1/pick \  -H "Content-Type: application/json" \  -d '{"data": [{"name":"Alice","age":30,"email":"[email protected]"}], "fields": ["name","age"]}'
# Sortcurl -X POST http://localhost:3600/api/v1/sort \  -H "Content-Type: application/json" \  -d '{"data": [{"name":"Bob","age":25},{"name":"Alice","age":30}], "field": "name"}'
# Statscurl -X POST http://localhost:3600/api/v1/stats \  -H "Content-Type: application/json" \  -d '{"data": [{"score":85},{"score":92},{"score":78}], "field": "score"}'# → {"count":3, "sum":255, "mean":85, "min":78, "max":92, "median":85}
# Validate JSONcurl -X POST http://localhost:3600/api/v1/validate \  -H "Content-Type: application/json" \  -d '{"data": {"valid": true}}'

License

MIT

💡 Host your own stack? Get $200 DigitalOcean credit via lazymac referral link.

Source: README.md at commit 505591b

Tools

10

json_to_csv

Convert a JSON array of objects to CSV text. Optionally specify a delimiter.

Parametersdatarequireddelimiter

csv_to_json

Parse CSV text into a JSON array of objects.

Parameterscsvrequireddelimiter

json_to_xml

Convert a JSON object or array to XML string.

ParametersdatarequiredrootName

flatten

Flatten a nested JSON object into dot-notation keys.

Parametersdatarequired

unflatten

Unflatten a dot-notation JSON object back into nested structure.

Parametersdatarequired

filter

Filter a JSON array by a query object. Supports >, <, ! prefixes for comparisons.

Parametersdatarequiredqueryrequired

pick

Pick specific fields from each object in a JSON array.

Parametersdatarequiredfieldsrequired

sort

Sort a JSON array by a field.

Parametersdatarequiredfieldrequiredorder

stats

Compute statistics (count, sum, mean, min, max, median) for a numeric field.

Parametersdatarequiredfieldrequired

validate

Validate a JSON string and return type, size, or error.

Parametersdatarequired

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.