Skip to content

MCP Server

Use the MCP server when an AI client should read or edit Contismo content. Websites and apps should keep using the GraphQL API.

Turn the server on and choose which models, drafts, and writes are allowed in SettingsMCP. See MCP.

The server speaks Streamable HTTP. Clients connect to:

https://mcp.contismo.com

Authenticate with an MCP API key. GraphQL keys are rejected.

Authorization: Bearer <your-mcp-api-key>
X-Environment: <environment-api-id>

X-Environment is optional when a default environment is saved in the Studio. If neither is set, the request fails.

Key Prefix Access
MCP - Read Only mcp_ Read tools only
MCP - Read/Write mcpw_ Read tools, plus write tools when Allow Writes is on

A disabled server returns 403. Requests count toward the project’s monthly API call quota, the same limit as GraphQL.

Call get_content_model first and use each field’s apiId in later tools. Only models selected in Studio are visible. An empty model list means every content model.

Tool What it returns
list_content_models Models the server is allowed to expose
get_content_model Fields and taxonomy assignments for one model
list_entries Entries for a model, with limit, offset, locale, status, and filters
get_entry One entry by model API ID and entry ID. Singletons do not need an ID
list_locales Locales for the current environment
list_taxonomies Taxonomies in the current environment
list_taxonomy_terms Terms for one taxonomy
get_ui_translations UI translation strings for a locale

Read tools default to published entries. A status of DRAFT, IN_REVIEW, or SCHEDULED is accepted only when Allow Drafts is on, or when the key can write.

Asset fields on an entry include metadata and the delivery URL. The server does not upload files.

Write tools are registered only for a read-write key when Allow Writes is on. They do not change models, components, or fields.

Tool What it does
create_entry Create an entry. input keys are field API IDs
update_entry Update an entry, including status and schedule
delete_entry Delete an entry by model API ID and entry ID

Status values match GraphQL: DRAFT, IN_REVIEW, PUBLISHED, and SCHEDULED. create_entry and update_entry also accept scheduledPublishAt and scheduledUnpublishAt as ISO datetime strings, plus locale and taxonomy assignments.

Resources mirror the read tools for clients that prefer URIs:

  • contismo://models
  • contismo://model/{apiId}
  • contismo://entry/{modelApiId}/{id}

Copy the snippet from SettingsMCP, or use this shape. Replace the key and environment.

{
"mcpServers": {
"contismo": {
"url": "https://mcp.contismo.com",
"headers": {
"Authorization": "Bearer YOUR_MCP_API_KEY",
"X-Environment": "master"
}
}
}
}