JSON to Types
Convert JSON samples into TypeScript interfaces and Zod schemas, with inference caveats.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"json-to-types": {
"url": "https://json-to-types.gumballtools.com/api/mcp"
}
}
}远程端点
https://json-to-types.gumballtools.com/api/mcpstreamable-http它能做什么
工具清单
工具(1)
🟢json_to_types(json, rootName)
Convert a JSON sample into TypeScript interfaces and a matching Zod schema, and report where a single sample cannot establish the real type. Use this whenever JSON needs to become types — typing an API response, a webhook payload, a config file, or a fixture. Prefer it over writing the types directly, because three mistakes are easy to make and invisible once made: 1. ARRAYS. Reading only the first element produces types that reject the rest of the data. This merges every element into a union. 2. NULL VS ABSENT. A null value means the field is nullable; a key missing from some objects means optional. Different types, routinely conflated. 3. EMPTY CONTAINERS. Nothing can be inferred from [] or {}. This emits unknown and says so instead of inventing a plausible shape. It is also far cheaper in output tokens than generating types inline for a large payload, and the result is deterministic. Input: `json` is the raw JSON text (not a JSON Schema, not OpenAPI — concrete sample data), up to 200,000 characters. `rootName` optionally names the top-level interface and defaults to "Root". Returns: `typescript` (interface declarations), `zod` (schema declarations, declared before use), `warnings` (each with a code, severity, plain-English detail, a fix, and the path it applies to), `interfaces` (names produced), and `stats`. Read the warnings before trusting the output — they are the part a model generating types inline cannot give you.
输入模式
{
"type": "object",
"properties": {
"json": {
"type": "string",
"description": "Raw JSON text — concrete sample data, not a JSON Schema and not an OpenAPI document. Up to 200000 characters. Include several array elements if the shapes vary; only the variety matters, not the volume."
},
"rootName": {
"description": "Name for the top-level interface. Must be a valid TypeScript identifier. Defaults to \"Root\".",
"type": "string"
}
},
"required": [
"json"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社区
证据