Agility CMSMCP Tool CatalogBeta
Model Context Protocol Reference

Explore the Agility CMS MCP Tools

This catalog summarizes every tool exposed by the Agility MCP server, including the input parameters, response shape, and practical usage notes. All tools require an authenticated request with a valid OAuth token.

Discovery & Setup

Start here to understand what instances, locales, and containers are available before you read or write content.

MCP Tool

get_available_instances

Lists every Agility CMS instance the authenticated user can access.

Groups instances by organization and provides quick links so you can pick the right environment before working with content or models.

Parameters

No parameters required. The tool reads from the authenticated account context.

Returns

Array of instances with `guid`, `name`, `org`, and `appUrl` grouped by organization for easy browsing.

MCP Tool

get_locales

Retrieves all locales configured for an instance.

Use this first when planning localized operations so you can request and save content in the correct locale code.

Parameters

  • instanceGuidstringrequired

    The Agility instance to inspect.

Returns

Array of locale records containing locale name and locale code.

MCP Tool

get_containers

Lists content containers (lists and singletons) for an instance.

Provides containers grouped by category with search and pagination. Returns display name, reference name, content definition name, and model ID for each container.

Parameters

  • instanceGuidstringrequired

    The target Agility instance.

  • searchstringoptional

    Filter containers by display name, reference name, or category (case-insensitive).

  • takenumberoptional

    Maximum containers to return (default: 50).

  • skipnumberoptional

    Number of containers to skip for pagination (default: 0).

Returns

Array of container definitions including display name, ID, reference name, content definition name, and category. Includes totalCount, filteredCount, skip, and take metadata.

Modeling & Schema

Inspect and manage the underlying content and component schemas that power your Agility CMS implementation.

MCP Tool

get_content_models

Lists all content models for an instance.

Helpful when discovering schema names before building prompts or generating content payloads.

Parameters

  • instanceGuidstringrequired

    Instance that owns the content models.

Returns

Array of content models with identifiers and display information.

MCP Tool

get_component_models

Lists all component models for an instance.

Use this when you need to inspect reusable components that can be embedded into other content types.

Parameters

  • instanceGuidstringrequired

    Instance that owns the component models.

Returns

Array of component models with display names, references, and IDs.

MCP Tool

get_page_models

Lists all page models for an instance and locale.

Retrieves available page models that define the structure and layout of pages. Use this to discover which page models can be assigned when creating or updating pages.

Parameters

  • instanceGuidstringrequired

    Instance that owns the page models.

  • localestringrequired

    Locale code such as `en-us`.

  • includeModuleZonesbooleanoptional

    Whether to include module zone details (default: false).

  • searchFilterstringoptional

    Optional search filter for page models.

Returns

Array of page models with display names, IDs, and configuration details.

MCP Tool

get_content_model_details

Returns the full definition for a specific content model.

Accepts either the model ID or reference name (one or the other) and returns field definitions so you can craft valid payloads.

Parameters

  • instanceGuidstringrequired

    Instance that contains the content model.

  • modelIDnumberoptional

    Numeric model ID. Provide this or `referenceName`, but not both.

  • referenceNamestringoptional

    Model reference name. Provide this or `modelID`, but not both.

Returns

Content model metadata including display information, description, and an array of fields with type information.

Usage Notes

  • Exactly one of `modelID` or `referenceName` must be supplied.
MCP Tool

get_component_model_details

Returns the full definition for a specific component model.

Accepts either the model ID or reference name (one or the other) and returns the component's fields and configuration.

Parameters

  • instanceGuidstringrequired

    Instance that contains the component model.

  • modelIDnumberoptional

    Numeric component model ID. Provide this or `referenceName`, but not both.

  • referenceNamestringoptional

    Component reference name. Provide this or `modelID`, but not both.

Returns

Component model metadata including display information, description, and detailed field configuration.

Usage Notes

  • Exactly one of `modelID` or `referenceName` must be supplied.
MCP Tool

save_content_model

Creates or updates a content model using the enhanced model schema.

Use after generating a model definition to push schema changes into Agility CMS. Accepts complex field configurations via `EnhancedModelSchema`.

Parameters

  • instanceGuidstringrequired

    Instance where the model should be saved.

  • modelEnhancedModelSchemarequired

    Model definition including fields, IDs, reference name, and metadata.

Returns

Saved content model including updated IDs, reference name, and persisted field configuration.

Usage Notes

  • Undefined field properties are treated as null or empty in Agility CMS.
  • Always review the current model listing before creating a new one.
MCP Tool

save_component_model

Creates or updates a component model using the enhanced model schema.

Pushes component schema updates, supporting the same field configuration helpers used for content models.

Parameters

  • instanceGuidstringrequired

    Instance where the component model should be saved.

  • modelEnhancedModelSchemarequired

    Component model definition including fields and identifying information.

Returns

Saved component model with IDs, reference name, and resolved field configuration.

Usage Notes

  • Undefined field properties are treated as null or empty in Agility CMS.
  • Always review existing component models before creating a new one.

Content Retrieval

Fetch content in bulk or read a single item to inform prompts, transformations, or audits.

MCP Tool

get_content_items

Retrieves a paged list of content items for a container.

Supports paging, filtering, field selection, and sorting to help explore current content.

Parameters

  • instanceGuidstringrequired

    Instance that owns the content.

  • referenceNamestringrequired

    Container reference name to query.

  • localestringrequired

    Locale code such as `en-us`.

  • takenumberoptional

    Maximum number of items to return (default 50).

  • skipnumberoptional

    Number of items to skip for paging (default 0).

  • filterstringoptional

    Search query string applied server-side.

  • sortstringoptional

    Field name to sort by (ascending by default).

  • fieldsstring[]optional

    Optional list of field names to include; system fields are always returned.

Returns

Structured list containing items with system properties and a dynamic `fields` object plus pagination counts.

MCP Tool

get_content_item

Retrieves one or more content items by ID.

Supports single and batch retrieval (up to 50 items). Batch requests are fetched concurrently in chunks of 10 with partial results on individual failures.

Parameters

  • instanceGuidstringrequired

    Instance that owns the item(s).

  • contentIDnumberoptional

    Single content item ID (use this OR contentIDs, not both).

  • contentIDsnumber[]optional

    Array of content item IDs for batch retrieval (max 50). Use this OR contentID.

  • localestringrequired

    Locale code such as `en-us`.

Returns

Single item: full content item with properties, fields, SEO, and scripts. Batch: items array with optional errors array for failed retrievals.

Usage Notes

  • Provide either `contentID` or `contentIDs`, not both.
  • Batch mode returns partial results — successful items are included even if some fail.
MCP Tool

get_sitemaps

Lists all digital channels (sitemaps) for an instance.

Returns a lightweight list of channel IDs and names only. Use this first to see available channels before retrieving full sitemap structures with get_sitemap.

Parameters

  • instanceGuidstringrequired

    Instance that owns the channels.

  • localestringrequired

    Locale code such as `en-us`.

Returns

Array of channel summaries with `digitalChannelID` and `name` properties only.

MCP Tool

get_sitemap

Retrieves a specific sitemap with filtering options.

Returns the page hierarchy for a channel. Supports maxDepth, pathPrefix, and flat mode to reduce response size for large sitemaps.

Parameters

  • instanceGuidstringrequired

    Instance that owns the sitemap.

  • localestringrequired

    Locale code such as `en-us`.

  • sitemapNamestringoptional

    Channel/sitemap name (case-insensitive). Omit to get the default sitemap.

  • sitemapIDnumberoptional

    Sitemap ID to retrieve. Takes priority over sitemapName.

  • maxDepthnumberoptional

    Maximum depth of pages to return (e.g., 2 = top-level + children).

  • pathPrefixstringoptional

    Filter to pages whose URL starts with this prefix (e.g., '/blog'). Case-insensitive.

  • flatbooleanoptional

    If true, returns a flat list of {pageID, pageName, path, parentPageID} instead of nested tree.

Returns

Nested page tree or flat page list with page IDs, URLs, types, and dynamic content references.

Usage Notes

  • Use get_sitemaps first to see available channel names.
  • Provide sitemapName OR sitemapID, or omit both for the default sitemap.
  • Flat mode is useful for large sitemaps to reduce token usage.
MCP Tool

get_page

Retrieves a single page by ID.

Returns complete page details including zones, components, SEO settings, and page configuration. Useful for inspecting existing pages before modification.

Parameters

  • instanceGuidstringrequired

    Instance that owns the page.

  • pageIDnumberrequired

    Page ID to retrieve.

  • localestringrequired

    Locale code such as `en-us`.

Returns

Complete page object with all zones, component references, SEO configuration, and page metadata.

Content Management

Create or update content structures and entries once your prompts have prepared valid payloads.

MCP Tool

save_content_items

Creates or updates one or more content items with pre-save validation.

Validates locale, container existence, and field types before saving. Auto-infers definitionName from referenceName. Returns per-item results on partial success so agents know exactly which items saved and which failed.

Parameters

  • instanceGuidstringrequired

    Instance that owns the content.

  • localestringrequired

    Locale code such as `en-us`. Validated against available locales.

  • itemsArray<ContentItemInput>required

    Array of content items including `contentID` (-1 for new), `referenceName`, `fields`, and optional `properties`.

Returns

An `items` array in the same order as the input. Each entry has `saved: true` with a `contentID`, or `saved: false` with an `error` message. Also includes `savedCount` and `failedCount` totals. If every item fails, throws an error with per-item details instead.

Usage Notes

  • Pre-save validation checks: locale exists, container exists, field types match model schema (number, date, boolean, link, attachment).
  • definitionName is auto-inferred from referenceName if not provided.
  • Updates must include ALL fields (omitted fields are wiped) and properties.versionID.
  • Field names should match the casing from the content model — mismatched casing is silently ignored.
  • LinkedContent fields require companion _TextField and _ValueField — check get_content_model_details.
MCP Tool

save_container

Creates or updates a container definition.

Uses the enhanced container schema to manage list or details containers, including linked fields and presentation settings.

Parameters

  • instanceGuidstringrequired

    Instance where the container should be saved.

  • containerContainerSchemarequired

    Container definition supporting both legacy and enhanced field formats.

Returns

Saved container metadata including IDs, reference names, and display information.

Sitemap & Pages

Create, update, and manage pages and their module layouts within your site's sitemap structure.

MCP Tool

save_page

Creates or updates a page in Agility CMS.

Supports creating and updating static, dynamic, folder, and link pages. Validates locale before saving.

Parameters

  • instanceGuidstringrequired

    Instance where the page should be saved.

  • localestringrequired

    Locale code such as `en-us`.

  • pagePageUnionrequired

    Page object with pageType ('static', 'dynamic', 'folder', or 'link') and type-specific fields.

  • sitemapIDnumberoptional

    Sitemap/channel ID where the page should be created. If not provided, uses the default sitemap for the locale.

  • parentPageIDnumberoptional

    Parent page ID for creating child pages.

  • placeBeforePageItemIDnumberoptional

    Page ID to place this page before (for ordering).

Returns

Page ID of the created or updated page along with success metadata.

Usage Notes

  • WORKFLOW: Always call prerequisite tools first: get_locales, get_sitemaps, get_page_models (REQUIRED for modelName), get_sitemap (for parent page lookup), and get_component_models + get_component_model_details (if adding components).
  • The modelName field is REQUIRED for static and dynamic pages - use get_page_models to find valid values.
  • For NEW components in zones, embed the full item with fields and properties.componentModelID - DO NOT call save_content_items first.
  • For EXISTING components, just reference by contentId.
  • The tool handles creating containers and content items for new components automatically.
  • See docs/page-json/page-with-new-component.json for an example.
MCP Tool

reorder_page_modules

Reorders modules within a page zone.

A lightweight alternative to save_page when only the module order needs to change. Validates that all module IDs exist in the zone.

Parameters

  • instanceGuidstringrequired

    Instance that owns the page.

  • localestringrequired

    Locale code such as `en-us`.

  • pageIDnumberrequired

    The page containing the modules.

  • zoneNamestringrequired

    The zone to reorder (e.g., 'MainContentZone').

  • moduleContentIDsnumber[]required

    Content IDs in desired order. Must include all existing module IDs in the zone.

  • sitemapIDnumberoptional

    Sitemap/channel ID (uses default if not provided).

Returns

Confirmation with the new module order and page ID.

Media & Assets

Upload images and files from URLs or local paths to the Agility CMS media library.

MCP Tool

initialize_media_upload

Initialize a media asset upload and receive a temporary signed URL.

Generates a temporary signed URL that can be used to upload media files to Agility CMS through the /api/uploadAsset endpoint. The URL expires in 5 minutes and can only be used once.

Parameters

  • instanceGuidstringrequired

    Instance that owns the media library.

  • fileNamestringoptional

    Optional file name including extension. If omitted, a name will be generated based on the content type.

  • folderPathstringoptional

    Optional media library folder. Defaults to `mcp-uploads`.

Returns

Upload signature including `uploadUrl`, `uploadToken`, `expiresAt` timestamp, and usage instructions.

Usage Notes

  • The returned URL is valid for 5 minutes and can only be used once.
  • Upload files by sending a POST request to the upload URL with the file as form-data using the 'file' field.
  • The upload endpoint will return the media metadata including the public URL after successful upload.