Skip to main content
Search for content types using standard filters or semantic search.

Input Schema

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "Project ID (optional, uses session default if not provided)"
    },
    "query": {
      "type": "string",
      "description": "Natural language query for semantic search. When provided, results are ranked by relevance."
    },
    "status": {
      "type": "string",
      "enum": ["draft", "modified", "published", "unpublished", "deleted"],
      "default": "published"
    },
    "tags": {
      "type": "array",
      "items": { "type": "string" }
    },
    "page": {
      "type": "number",
      "default": 1
    },
    "limit": {
      "type": "number",
      "default": 20,
      "maximum": 100
    }
  }
}

Parameters

ParameterTypeDefaultDescription
projectIdstringsession defaultProject to search in
querystring-Natural language semantic search query
statusstringpublishedFilter by status
tagsstring[]-Filter by tags
pagenumber1Page number
limitnumber20Items per page (max 100)

Response

FieldTypeDescription
contentTypesarrayArray of content type objects
contentTypes[].idstringUnique content type identifier
contentTypes[].namestringDisplay name
contentTypes[].descriptionstringStructured markdown description
contentTypes[].statusstringPublication status
contentTypes[].versionnumberVersion number
contentTypes[].typeVersionnumberSchema version number
contentTypes[].excerptstringRelevant text excerpt (with query)
contentTypes[].similaritynumberSimilarity score 0-1 (with query)
totalnumberTotal matching items
The schema field is intentionally excluded from search results to minimize token usage. Use get_content_type for full schemas.

Example

Request

{
  "query": "interactive stories"
}

Response

{
  "contentTypes": [
    {
      "id": "ct_story_001",
      "name": "Story",
      "description": "Interactive story content type for long-form narrative experiences.",
      "status": "published",
      "version": 1,
      "typeVersion": 1,
      "excerpt": "...photo galleries, and structured text sections...",
      "similarity": 0.92
    }
  ],
  "total": 1
}

Usage

Search using natural language:
const result = await mcp.call("search_content_types", {
  query: "content for blog posts"
});

Filter by Status

Find draft content types:
const result = await mcp.call("search_content_types", {
  status: "draft"
});

Filter by Tags

Find content types with specific tags:
const result = await mcp.call("search_content_types", {
  tags: ["marketing", "landing-page"]
});