Skip to main content
Content creation tools enable AI agents to create, update, and validate content within content type constraints.

Available Tools

Validation

All content is validated against the content type’s JSON schema before creation or update. This ensures:
  • Required fields are present
  • Field types match the schema
  • String lengths respect maxLength constraints
  • Component types match allowed definitions
  • Asset references point to existing assets

Best Practices

Before Creating Content

  1. Fetch the schema first: Always use get_content_type to understand the structure
  2. Validate asset IDs: Use search_assets to verify assets exist
  3. Check length limits: Review maxLength constraints in the schema
  4. Use correct component types: Match type names exactly as defined

Content Structure

  1. Include all required fields: Check the schema’s required arrays
  2. Follow component patterns: Each component needs a type field
  3. Reference assets by ID: Use { "id": "asset-xxx" } format

Descriptions

Use structured markdown for descriptions:
Brief summary of the content.

**Topics:** Topic1, Topic2, Topic3
**Key points:** Point1, Point2, Point3
**Length:** ~1500 words
**Language:** English
This format helps both humans and AI agents understand the content context.

Common Workflow

// 1. Get the content type schema
const contentType = await mcp.call("get_content_type", {
  contentTypeId: "ct_story_001"
});

// 2. Find assets to use
const assets = await mcp.call("search_assets", {
  query: "hero image",
  type: "image/*"
});

// 3. Create the content
const result = await mcp.call("create_content", {
  typeId: "ct_story_001",
  name: "My New Story",
  content: {
    title: "My New Story",
    asset: { id: assets.items[0].id },
    components: [
      {
        type: "StoryParagraph",
        text: "Opening paragraph..."
      }
    ]
  }
});

// 4. Update if needed
await mcp.call("update_content", {
  contentId: result.id,
  content: {
    // Updated content...
  }
});