> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://contentful.com/developers/docs/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://contentful.com/developers/docs/_mcp/server.

# Experience Orchestration MCP tools

> Reference for Experience Orchestration tool categories available in the Contentful MCP servers.

The Contentful MCP servers expose the following Experience Orchestration tool categories. These tools are only available to organizations with the Experience Orchestration entitlement — if your organization is not entitled, these tools will not be registered and will not appear in your MCP client.

For full MCP server setup instructions and all non-ExO tools, see the [MCP server documentation](/tools/mcp-server).

## Local server setup

The local MCP server does not register Experience Orchestration tools by default. Set the `ENABLE_EXO_TOOLS` environment variable to opt in:

```json
{
  "mcpServers": {
    "contentful": {
      "command": "npx",
      "args": ["-y", "@contentful/mcp-server@latest"],
      "env": {
        "CONTENTFUL_MANAGEMENT_ACCESS_TOKEN": "<<YOUR_CMA_PAT>>",
        "SPACE_ID": "<<YOUR_SPACE_ID>>",
        "ENVIRONMENT_ID": "master",
        "ENABLE_EXO_TOOLS": "true"
      }
    }
  }
}
```

Both gates must pass for the tools to register — the env var must be set **and** the token must belong to an organization with the Experience Orchestration entitlement. If either condition is not met, the ExO tools are silently omitted and will not appear in your MCP client.

## Remote server setup

No additional configuration is needed for the remote MCP server. If your organization has the Experience Orchestration entitlement, the ExO tools are registered automatically when you connect.

## Available tool categories

| Category                 | Tools                                                                                                                                                                                                                                    | Description                                                                                                                                      |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Components**           | `list_components`, `get_component`, `create_component`, `upsert_component`, `publish_component`, `unpublish_component`, `delete_component`                                                                                               | Manage Experience Orchestration components — reusable section/pattern templates that define slots, content properties, and design properties.    |
| **Experience fragments** | `list_experience_fragments`, `get_experience_fragment`, `create_experience_fragment`, `update_experience_fragment`, `publish_experience_fragment`, `unpublish_experience_fragment`, `delete_experience_fragment`                         | Manage experience fragments — reusable content units that can be referenced across multiple experiences and components.                          |
| **Experiences**          | `list_experiences`, `get_experience`, `create_experience`, `upsert_experience`, `publish_experience`, `unpublish_experience`, `delete_experience`                                                                                        | Manage experiences — concrete pages or screens that compose a root component with content and design settings, backed by an experience template. |
| **Experience templates** | `list_experience_templates`, `get_experience_template`, `create_experience_template`, `upsert_experience_template`, `publish_experience_template`, `unpublish_experience_template`, `delete_experience_template`                         | Manage experience templates — layout definitions that back template-based experiences.                                                           |
| **Data assemblies**      | `list_data_assemblies`, `get_data_assembly`, `list_published_data_assemblies`, `get_published_data_assembly`, `create_data_assembly`, `update_data_assembly`, `publish_data_assembly`, `unpublish_data_assembly`, `delete_data_assembly` | Manage data assemblies — smart data recipes that specify how to fetch and reshape data for a component or page in a single operation.            |

> **Info**
>
> **Tools availability**: Experience Orchestration tools (components, experience fragments, experiences, experience templates, and data assemblies) are only available to organizations with the Experience Orchestration entitlement. If your organization is not entitled, these tools won't be registered and won't appear in your MCP client.