An MCP server that exposes jsontosdk as a tool inside Claude Desktop, Cursor, Continue.dev, or any other MCP-compatible client.
One tool, one job. Paste a JSON sample, get clean TypeScript interfaces and a matching Zod schema — named the way a human would name them, not
_C1/_C2like quicktype.io produces.
- Naming. Claude Haiku names nested objects from context
(
posts: [{title: ...}]→Post[], not_C1[]). - Zod alongside the interfaces — same shape, ready for runtime validation.
- Detects ISO 8601 dates, URLs, and emails as string subtypes.
- Persistent install: once added to your MCP client config, the tool is always available across sessions without copy-pasting prompts.
Add this block to your claude_desktop_config.json:
{
"mcpServers": {
"jsontosdk": {
"command": "npx",
"args": ["-y", "github:SolvoHQ/jsontosdk-mcp"]
}
}
}Then restart Claude Desktop. The json_to_typescript tool will show up
in the tool list. Ask Claude something like:
Generate TypeScript types and Zod schemas from this payload:
{"id": 1, "name": "Ada", "posts": [{"title": "Hello"}]}
The server speaks standard stdio MCP. Point your client at:
command: npx
args: ["-y", "github:SolvoHQ/jsontosdk-mcp"]
git clone https://github.com/SolvoHQ/jsontosdk-mcp.git
cd jsontosdk-mcp
npm install # also builds dist/
npm start # runs on stdioTest interactively with the official inspector:
npx @modelcontextprotocol/inspector node dist/index.js| Field | Type | Description |
|---|---|---|
json |
string | A JSON sample. Must parse cleanly. Up to ~100 KB. |
Returns structured content:
{
types: string, // export interface declarations, child-first ordered
schema: string // import { z } from "zod"; + export const FooSchema = z.object({...})
}| Env var | Default | Purpose |
|---|---|---|
JSONTOSDK_API_BASE |
https://jsontosdk.vercel.app |
Point at a self-hosted instance to bypass the public rate limit. |
The public endpoint at jsontosdk.vercel.app is rate-limited to
20 requests / hour / IP. If you hit it, the tool returns a
structured error explaining the limit, so the model can pass that
back to you instead of silently failing.
To remove the rate limit, self-host the API (the Astro app at
SolvoHQ/jsontosdk) and set
JSONTOSDK_API_BASE to your deployment.
MIT