Odel
data transform api

data transform api

@lazymac2xData & AnalyticsJavaScriptUpdated 2mo ago

Cloudflare Workers MCP server: data-transform

Server endpointStreamable HTTP

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

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

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

Endpoints

Convert

# JSON → CSV
curl -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 → JSON
curl -X POST http://localhost:3600/api/v1/csv-to-json \
  -H "Content-Type: application/json" \
  -d '{"csv": "name,age\nAlice,30\nBob,25"}'

# JSON → XML
curl -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

# Flatten nested JSON
curl -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"}

# Unflatten
curl -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 fields
curl -X POST http://localhost:3600/api/v1/pick \
  -H "Content-Type: application/json" \
  -d '{"data": [{"name":"Alice","age":30,"email":"a@b.c"}], "fields": ["name","age"]}'

# Sort
curl -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"}'

# Stats
curl -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 JSON
curl -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.