Unity-MCP type-get-json-schema

Generates a JSON Schema for a given C# type name using reflection. Supports primitives, enums, arrays, generic collections, dictionaries, and complex objects. The type must be present in any loaded assembly. Use the full type name (e.g. 'UnityEngine.Vector3') for best results.

install
source · Clone the upstream repo
git clone https://github.com/IvanMurzak/Unity-MCP
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/IvanMurzak/Unity-MCP "$T" && mkdir -p ~/.claude/skills && cp -r "$T/Unity-MCP-Plugin/.claude/skills/type-get-json-schema" ~/.claude/skills/ivanmurzak-unity-mcp-type-get-json-schema && rm -rf "$T"
manifest: Unity-MCP-Plugin/.claude/skills/type-get-json-schema/SKILL.md
source content

Type / Get Json Schema

How to Call

unity-mcp-cli run-tool type-get-json-schema --input '{
  "typeName": "string_value",
  "descriptionMode": "string_value",
  "propertyDescriptionMode": "string_value",
  "includeNestedTypes": false,
  "writeIndented": false
}'

For complex input (multi-line strings, code), save the JSON to a file and use:

unity-mcp-cli run-tool type-get-json-schema --input-file args.json

Or pipe via stdin (recommended):

unity-mcp-cli run-tool type-get-json-schema --input-file - <<'EOF'
{"param": "value"}
EOF

Troubleshooting

If

unity-mcp-cli
is not found, either install it globally (
npm install -g unity-mcp-cli
) or use
npx unity-mcp-cli
instead. Read the /unity-initial-setup skill for detailed installation instructions.

Input

NameTypeRequiredDescription
typeName
string
YesFull C# type name to generate the schema for. Examples: 'System.String', 'UnityEngine.Vector3', 'System.Collections.Generic.List<System.Int32>'. Simple names like 'Vector3' are also accepted when unambiguous.
descriptionMode
string
NoControls the type-level 'description' field. Include: keep on the target type only. IncludeRecursively: keep on the target type and inside $defs entries. Ignore: strip all type-level descriptions. Default: Ignore.
propertyDescriptionMode
string
NoControls 'description' fields on properties, fields, and array items. Include: keep on the target type's own properties/items only. IncludeRecursively: keep on all properties/items including those inside $defs entries. Ignore: strip all property/item descriptions. Default: Ignore.
includeNestedTypes
boolean
NoWhen true, complex nested types are extracted into '$defs' and referenced via '$ref' instead of being inlined. Useful for large or recursive types. Default: false.
writeIndented
boolean
NoWhether to format the output JSON with indentation for readability. Default: false.

Input JSON Schema

{
  "type": "object",
  "properties": {
    "typeName": {
      "type": "string"
    },
    "descriptionMode": {
      "type": "string",
      "enum": [
        "Include",
        "IncludeRecursively",
        "Ignore"
      ]
    },
    "propertyDescriptionMode": {
      "type": "string",
      "enum": [
        "Include",
        "IncludeRecursively",
        "Ignore"
      ]
    },
    "includeNestedTypes": {
      "type": "boolean"
    },
    "writeIndented": {
      "type": "boolean"
    }
  },
  "required": [
    "typeName"
  ]
}

Output

Output JSON Schema

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ]
}