MCP ServerTool Reference

Collections and taxonomy

Generated MCP reference for collections and taxonomy.

This page is generated from mcp-catalog.json. Do not edit it by hand.

Source: paper3 local extraction on 2026-05-29. Generated: 2026-05-29T11:34:45.044Z.

add_taxonomy

Add taxonomy

Adds a taxonomy (categories, tags, …) to a collection. cardinality: 'single' means each item picks one term; 'multiple' means many. Optionally seed initial terms.

Parameters

ParameterTypeRequiredDescription
collectionIdstringYes
taxonomyobjectYes
_sitestringNoOptional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.

Input schema

{
  "type": "object",
  "properties": {
    "collectionId": {
      "type": "string"
    },
    "taxonomy": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "slug": {
          "type": "string"
        },
        "cardinality": {
          "type": "string",
          "enum": [
            "single",
            "multiple"
          ]
        },
        "terms": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "slug": {
                "type": "string"
              }
            },
            "required": [
              "name"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "name",
        "slug",
        "cardinality"
      ],
      "additionalProperties": false
    },
    "_site": {
      "type": "string",
      "description": "Optional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.",
      "pattern": "^[^/]+/[^/]+$"
    }
  },
  "required": [
    "collectionId",
    "taxonomy"
  ],
  "additionalProperties": false
}

add_taxonomy_term

Add taxonomy term

Adds a term to an existing taxonomy. Term ids are auto-generated.

Parameters

ParameterTypeRequiredDescription
collectionIdstringYes
taxonomyIdstringYes
termobjectYes
_sitestringNoOptional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.

Input schema

{
  "type": "object",
  "properties": {
    "collectionId": {
      "type": "string"
    },
    "taxonomyId": {
      "type": "string"
    },
    "term": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "slug": {
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "additionalProperties": false
    },
    "_site": {
      "type": "string",
      "description": "Optional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.",
      "pattern": "^[^/]+/[^/]+$"
    }
  },
  "required": [
    "collectionId",
    "taxonomyId",
    "term"
  ],
  "additionalProperties": false
}

create_collection

Create collection

Creates a new content collection. preset: 'blog' seeds title/excerpt/body/cover/author/publishedAt fields; preset: 'product' seeds name/description/price/cover/stock; preset: 'blank' (default) leaves the schema empty so you can call add_collection_field per slot. The collection's slug is the URL prefix used by listing pages and dynamic single pages — keep it plural and lowercase ('posts', 'products', 'team').

Parameters

ParameterTypeRequiredDescription
namestringYes
slugstringNo
descriptionstringNo
presetstringNo
_sitestringNoOptional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.

Input schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "slug": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "preset": {
      "type": "string",
      "enum": [
        "blog",
        "product",
        "blank"
      ]
    },
    "_site": {
      "type": "string",
      "description": "Optional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.",
      "pattern": "^[^/]+/[^/]+$"
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false
}

create_collection_item

Create collection item

Creates a new item in a collection. fields is keyed by field SLUG (not id) — call list_collections to see the schema. slug is the URL fragment used by single pages; if omitted, it's derived from the title field. status defaults to 'draft'.

Parameters

ParameterTypeRequiredDescription
collectionIdstringYes
slugstringNo
fieldsobjectNo
statusstringNo
_sitestringNoOptional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.

Input schema

{
  "type": "object",
  "properties": {
    "collectionId": {
      "type": "string"
    },
    "slug": {
      "type": "string"
    },
    "fields": {
      "type": "object",
      "additionalProperties": {}
    },
    "status": {
      "type": "string",
      "enum": [
        "draft",
        "scheduled",
        "published"
      ]
    },
    "_site": {
      "type": "string",
      "description": "Optional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.",
      "pattern": "^[^/]+/[^/]+$"
    }
  },
  "required": [
    "collectionId"
  ],
  "additionalProperties": false
}

delete_collection

Delete collection

Permanently removes a collection along with its items. Pages bound to this collection (listing/single) become unbound and need to be repointed or deleted.

Parameters

ParameterTypeRequiredDescription
collectionIdstringYes
_sitestringNoOptional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.

Input schema

{
  "type": "object",
  "properties": {
    "collectionId": {
      "type": "string"
    },
    "_site": {
      "type": "string",
      "description": "Optional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.",
      "pattern": "^[^/]+/[^/]+$"
    }
  },
  "required": [
    "collectionId"
  ],
  "additionalProperties": false
}

delete_collection_item

Delete collection item

Permanently removes one item from a collection.

Parameters

ParameterTypeRequiredDescription
collectionIdstringYes
itemIdstringYes
_sitestringNoOptional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.

Input schema

{
  "type": "object",
  "properties": {
    "collectionId": {
      "type": "string"
    },
    "itemId": {
      "type": "string"
    },
    "_site": {
      "type": "string",
      "description": "Optional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.",
      "pattern": "^[^/]+/[^/]+$"
    }
  },
  "required": [
    "collectionId",
    "itemId"
  ],
  "additionalProperties": false
}

get_collection_items

Get collection items

Returns the items for a given collection (id, slug, fields, taxonomyTerms, status, publishedAt). Pass status: 'published' to filter to live items only.

Parameters

ParameterTypeRequiredDescription
collectionIdstringYes
statusstringNo
_sitestringNoOptional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.

Input schema

{
  "type": "object",
  "properties": {
    "collectionId": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "draft",
        "scheduled",
        "published"
      ]
    },
    "_site": {
      "type": "string",
      "description": "Optional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.",
      "pattern": "^[^/]+/[^/]+$"
    }
  },
  "required": [
    "collectionId"
  ],
  "additionalProperties": false
}

list_collections

List collections

Returns every collection in the site CMS: id, name, slug, description, the field schema, taxonomies, and item count. Read this BEFORE creating or modifying CMS data so you re-use existing collections / fields when relevant.

Parameters

ParameterTypeRequiredDescription
_sitestringNoOptional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.

Input schema

{
  "type": "object",
  "properties": {
    "_site": {
      "type": "string",
      "description": "Optional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.",
      "pattern": "^[^/]+/[^/]+$"
    }
  },
  "additionalProperties": false
}

remove_taxonomy

Remove taxonomy

Removes a taxonomy and all of its terms from a collection.

Parameters

ParameterTypeRequiredDescription
collectionIdstringYes
taxonomyIdstringYes
_sitestringNoOptional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.

Input schema

{
  "type": "object",
  "properties": {
    "collectionId": {
      "type": "string"
    },
    "taxonomyId": {
      "type": "string"
    },
    "_site": {
      "type": "string",
      "description": "Optional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.",
      "pattern": "^[^/]+/[^/]+$"
    }
  },
  "required": [
    "collectionId",
    "taxonomyId"
  ],
  "additionalProperties": false
}

update_collection

Update collection

Patches a collection's name, slug, or description. Field schema is edited via add_collection_field / update_collection_field / remove_collection_field.

Parameters

ParameterTypeRequiredDescription
collectionIdstringYes
patchobjectYes
_sitestringNoOptional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.

Input schema

{
  "type": "object",
  "properties": {
    "collectionId": {
      "type": "string"
    },
    "patch": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "slug": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "_site": {
      "type": "string",
      "description": "Optional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.",
      "pattern": "^[^/]+/[^/]+$"
    }
  },
  "required": [
    "collectionId",
    "patch"
  ],
  "additionalProperties": false
}

update_collection_field

Add / update / remove collection fields (one or many)

Mutate a collection's schema fields in one place. Pass either a single op as the top-level args, or batch many via \{ ops: [...] \}.

Op shapes: • \{ op: 'add', collectionId, field \} — appends a field. field.slug is the key in each item's fields record; field.type controls the editor + validation. For reference / relation, set field.targetCollectionId. • \{ op: 'update', collectionId, fieldId, patch \} — edit name / slug / type / required / defaultValue / targetCollectionId / description. Renaming the slug does NOT migrate existing item values — issue update_collection_item afterwards if needed. • \{ op: 'remove', collectionId, fieldId \} — drops the field and strips its value from every item.

Batch shape: \{ ops: [\{op, collectionId, ...\}, ...] \}. Highly recommended whenever you're scaffolding 3+ fields on a fresh collection — N-fold less framing.

Parameters

ParameterTypeRequiredDescription
opstringNo
collectionIdstringNo
fieldIdstringNo
fieldobjectNo
patchobjectNo
opsarrayNo
_sitestringNoOptional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.

Input schema

{
  "type": "object",
  "properties": {
    "op": {
      "type": "string",
      "enum": [
        "add",
        "update",
        "remove"
      ]
    },
    "collectionId": {
      "type": "string"
    },
    "fieldId": {
      "type": "string"
    },
    "field": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "slug": {
          "type": "string"
        },
        "type": {
          "type": "string",
          "enum": [
            "text",
            "richText",
            "number",
            "boolean",
            "date",
            "image",
            "url",
            "reference",
            "relation"
          ]
        },
        "required": {
          "type": "boolean"
        },
        "defaultValue": {},
        "targetCollectionId": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "slug",
        "type"
      ],
      "additionalProperties": false
    },
    "patch": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "slug": {
          "type": "string"
        },
        "type": {
          "type": "string",
          "enum": [
            "text",
            "richText",
            "number",
            "boolean",
            "date",
            "image",
            "url",
            "reference",
            "relation"
          ]
        },
        "required": {
          "type": "boolean"
        },
        "defaultValue": {},
        "targetCollectionId": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ops": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "op": {
                "const": [
                  "add"
                ]
              },
              "collectionId": {
                "type": "string"
              },
              "field": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "slug": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "text",
                      "richText",
                      "number",
                      "boolean",
                      "date",
                      "image",
                      "url",
                      "reference",
                      "relation"
                    ]
                  },
                  "required": {
                    "type": "boolean"
                  },
                  "defaultValue": {},
                  "targetCollectionId": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "slug",
                  "type"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "op",
              "collectionId",
              "field"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "op": {
                "const": [
                  "update"
                ]
              },
              "collectionId": {
                "type": "string"
              },
              "fieldId": {
                "type": "string"
              },
              "patch": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "slug": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "text",
                      "richText",
                      "number",
                      "boolean",
                      "date",
                      "image",
                      "url",
                      "reference",
                      "relation"
                    ]
                  },
                  "required": {
                    "type": "boolean"
                  },
                  "defaultValue": {},
                  "targetCollectionId": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "op",
              "collectionId",
              "fieldId",
              "patch"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "op": {
                "const": [
                  "remove"
                ]
              },
              "collectionId": {
                "type": "string"
              },
              "fieldId": {
                "type": "string"
              }
            },
            "required": [
              "op",
              "collectionId",
              "fieldId"
            ],
            "additionalProperties": false
          }
        ]
      }
    },
    "_site": {
      "type": "string",
      "description": "Optional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.",
      "pattern": "^[^/]+/[^/]+$"
    }
  },
  "additionalProperties": false
}

update_collection_item

Update collection item

Patches an item's slug, fields (merged into existing values), taxonomy term ids (replaces), or status. Switching status to 'published' stamps publishedAt automatically.

Parameters

ParameterTypeRequiredDescription
collectionIdstringYes
itemIdstringYes
patchobjectYes
_sitestringNoOptional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.

Input schema

{
  "type": "object",
  "properties": {
    "collectionId": {
      "type": "string"
    },
    "itemId": {
      "type": "string"
    },
    "patch": {
      "type": "object",
      "properties": {
        "slug": {
          "type": "string"
        },
        "fields": {
          "type": "object",
          "additionalProperties": {}
        },
        "taxonomyTerms": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "status": {
          "type": "string",
          "enum": [
            "draft",
            "scheduled",
            "published"
          ]
        }
      },
      "additionalProperties": false
    },
    "_site": {
      "type": "string",
      "description": "Optional target site formatted as <workspaceSlug>/<siteSlug>. Required when the workspace has multiple sites and no site header is set.",
      "pattern": "^[^/]+/[^/]+$"
    }
  },
  "required": [
    "collectionId",
    "itemId",
    "patch"
  ],
  "additionalProperties": false
}

On this page