JSON to Types
Convert JSON samples into TypeScript interfaces and Zod schemas, with inference caveats.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `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"
}コミュニティ
エビデンス