Skip to main content
Retrieves the complete JSON schema and structure definition for a content type, including all component definitions and validation rules needed for content creation.

Input Schema

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "Project ID (optional, uses session default)"
    },
    "contentTypeId": {
      "type": "string",
      "description": "Unique identifier of the content type"
    },
    "typeVersion": {
      "type": "number",
      "description": "Specific version to retrieve (optional, defaults to latest published)"
    }
  },
  "required": ["contentTypeId"]
}

Parameters

ParameterTypeRequiredDescription
projectIdstringNoProject ID (uses session default)
contentTypeIdstringYesUnique identifier of the content type
typeVersionnumberNoSpecific version (defaults to latest published)

Response

FieldTypeDescription
idstringUnique content type identifier
namestringDisplay name
descriptionstringComprehensive usage guidelines
schemaobjectComplete JSON Schema definition
statusstringPublication status
versionnumberSchema version number

Example

Request

{
  "contentTypeId": "ct_story_001"
}

Response

{
  "id": "ct_story_001",
  "name": "Story",
  "description": "Interactive story content type for long-form narrative experiences.\n\n**Best for:**\n- Case studies and success stories\n- Long-form articles with multimedia",
  "schema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "Story",
    "type": "object",
    "required": ["title", "components"],
    "properties": {
      "title": {
        "type": "string",
        "maxLength": 200
      },
      "components": {
        "type": "array",
        "items": {
          "oneOf": [
            { "$ref": "#/definitions/StoryParagraph" },
            { "$ref": "#/definitions/StoryPhoto" }
          ]
        }
      }
    }
  },
  "status": "published",
  "version": 2
}

Usage

Get Latest Published Version

const contentType = await mcp.call("get_content_type", {
  contentTypeId: "ct_story_001"
});

// Use the schema to understand required fields
console.log(contentType.schema.required);
// ["title", "components"]

Get Specific Version

const contentType = await mcp.call("get_content_type", {
  contentTypeId: "ct_story_001",
  typeVersion: 1
});

Understanding the Schema

The returned schema follows JSON Schema draft-07 format:
  • required: Array of field names that must be provided
  • properties: Object defining each field’s type and constraints
  • definitions: Reusable component type definitions
  • oneOf: Arrays of allowed component types
Always fetch the content type schema before creating content. This ensures you understand all required fields and validation rules.