Skip to main content
Updates existing content while maintaining schema compliance.
When updating content created with a previous version of a content type, the tool validates against the original schema version (specified in the content’s typeVersion field).

Input Schema

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "Project ID (optional, uses session default)"
    },
    "contentId": {
      "type": "string",
      "description": "ID of content to update"
    },
    "name": {
      "type": "string",
      "description": "Updated name (optional)"
    },
    "description": {
      "type": "string",
      "description": "Updated description (optional)"
    },
    "content": {
      "type": "object",
      "description": "Content data matching the type's JSON schema (optional)"
    },
    "tags": {
      "type": "array",
      "items": { "type": "string" },
      "description": "Updated tags (optional)"
    },
    "metadata": {
      "type": "object",
      "description": "Updated metadata (optional)"
    }
  },
  "required": ["contentId"]
}

Parameters

ParameterTypeRequiredDescription
projectIdstringNoProject ID (uses session default)
contentIdstringYesID of content to update
namestringNoUpdated name
descriptionstringNoUpdated description
contentobjectNoUpdated content data
tagsstring[]NoUpdated tags
metadataobjectNoUpdated metadata

Response

FieldTypeDescription
idstringUnique identifier of the updated content
statusstringContent status after update
updatedAtstringISO 8601 update timestamp
validationWarningsstring[]Any validation warnings (optional)

Example

Request

Update the title and add a new component:
{
  "contentId": "cont_story_acme_001",
  "name": "Acme Corp's Design System Journey",
  "content": {
    "title": "Acme Corp's Design System Journey",
    "subtitle": "2024: The Digital Transformation",
    "components": [
      {
        "type": "StoryParagraph",
        "text": "Acme Corporation's transformation began in early 2024..."
      },
      {
        "type": "StorySubheader",
        "text": "The Challenge: Fragmentation at Scale"
      },
      {
        "type": "StoryParagraph",
        "text": "Updated content with more details..."
      },
      {
        "type": "StorySubheader",
        "text": "The Solution"
      },
      {
        "type": "StoryParagraph",
        "text": "New section about the solution..."
      }
    ]
  }
}

Response

{
  "id": "cont_story_acme_001",
  "status": "draft",
  "updatedAt": "2024-06-20T14:30:00Z",
  "validationWarnings": []
}

Usage

Update Name Only

const result = await mcp.call("update_content", {
  contentId: "cont_story_acme_001",
  name: "New Title for the Story"
});

Update Content Structure

// First, get the current content
const content = await mcp.call("get_content", {
  contentId: "cont_story_acme_001"
});

// Modify and update
const result = await mcp.call("update_content", {
  contentId: "cont_story_acme_001",
  content: {
    ...content.content,
    components: [
      ...content.content.components,
      {
        type: "StoryParagraph",
        text: "New paragraph added to the story..."
      }
    ]
  }
});

Update Tags

const result = await mcp.call("update_content", {
  contentId: "cont_story_acme_001",
  tags: ["case-study", "design-system", "featured"]
});

Update Metadata

const result = await mcp.call("update_content", {
  contentId: "cont_story_acme_001",
  metadata: {
    locale: "en-US",
    author: "[email protected]",
    reviewedBy: "[email protected]"
  }
});

Partial Updates

You only need to include the fields you want to update. Omitted fields remain unchanged:
// This only updates the name, leaving content, tags, etc. unchanged
await mcp.call("update_content", {
  contentId: "cont_story_acme_001",
  name: "Updated Title Only"
});
When updating the content field, you must provide the complete content structure. Partial content updates (updating only some fields within content) are not supported. Always fetch the current content first, modify it, then send the complete structure.