Skip to main content
Glama

Server Details

An MCP server that provides access to Agility CMS. See https://mcp.agilitycms.com for more details.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

19 tools
get_available_instancesTry in Inspector

Get a list of available Agility instances.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

get_component_model_detailsTry in Inspector

Get details for a specific Agility component model by ID or reference name. Model ID is preferred.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelIDNo
instanceGuidYes
referenceNameNo
get_component_modelsTry in Inspector

Get a list of Agility components for a particular instance.

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceGuidYes
get_containersTry in Inspector

Gets the list of Agility containers (content lists and single items) for a particular instance.

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceGuidYes
get_content_itemTry in Inspector

Retrieve a single content item by ID from Agility CMS. Returns the complete item including contentID, properties (state, versionID, dates, referenceName, definitionName), fields object with all field values (field names are CASE-INSENSITIVE - e.g., 'Title' is the same as 'title'), SEO properties, and scripts.

ParametersJSON Schema
NameRequiredDescriptionDefault
localeYesLocale code (e.g., 'en-us')
contentIDYesContent item ID
instanceGuidYesInstance GUID
get_content_itemsTry in Inspector

Retrieve a list of content items from an Agility CMS container. Returns items with standard properties (contentID, versionID, state, dates) and a dynamic 'fields' object based on the container schema. Field names are CASE-INSENSITIVE (e.g., 'Title' is the same as 'title'). By default, all configured fields are returned. You can optionally specify a list of field names to return only specific fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
skipNoItems to skip for pagination (default: 0)
sortNoSort field name
takeNoItems to return (default: 50)
fieldsNoOptional array of field names to include in the response (case-insensitive). If not provided, all default configured fields will be returned. System fields (contentID, state, dates, etc.) are always included automatically.
filterNoSearch query string
localeYesLocale code (e.g., 'en-us')
instanceGuidYesInstance GUID
referenceNameYesContainer reference name
get_content_model_detailsTry in Inspector

Get details for a specific Agility content model by ID or reference name. Model ID is preferred.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelIDNo
instanceGuidYes
referenceNameNo
get_content_modelsTry in Inspector

Get a list of Agility content models for a particular instance.

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceGuidYes
get_localesTry in Inspector

Get a list of locales for an Agility instance.

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceGuidYesThe GUID of the Agility instance
get_pageTry in Inspector

Retrieve a specific page by its ID from Agility CMS. Returns complete page details including content zones, SEO settings, visibility, dynamic configuration, and more.

ParametersJSON Schema
NameRequiredDescriptionDefault
localeYesThe locale code (e.g., 'en-us', 'fr-ca')
pageIDYesThe ID of the page to retrieve
instanceGuidYesThe GUID of the Agility CMS instance
get_page_modelsTry in Inspector

Get a list of Agility page models for a particular instance and locale.

ParametersJSON Schema
NameRequiredDescriptionDefault
localeYes
instanceGuidYes
searchFilterNo
includeModuleZonesNo
get_sitemapTry in Inspector

Retrieve a specific sitemap for an Agility CMS instance. Provide either sitemapName OR sitemapID to get a specific sitemap, or omit both to get the default sitemap. Use get_sitemaps first to see available sitemap names and IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
localeYesLocale code (e.g., 'en-us')
sitemapIDNoOptional sitemap ID to retrieve.
sitemapNameNoOptional sitemap name to retrieve. Case-insensitive.
instanceGuidYesInstance GUID
get_sitemapsTry in Inspector

Retrieve a list of all sitemaps for an Agility CMS instance. Returns only the channel IDs and names for quick reference. Use this before calling get_sitemap to see available sitemaps.

ParametersJSON Schema
NameRequiredDescriptionDefault
localeYesLocale code (e.g., 'en-us')
instanceGuidYesInstance GUID
initialize_media_uploadTry in Inspector

Initialize a media asset upload and receive a temporary signed URL. This URL can be used to upload files to Agility CMS through the /api/uploadAsset endpoint. The URL expires in 5 minutes.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileNameNoOptional file name including extension. If omitted, a name will be generated based on the content type.
folderPathNoOptional folder path within the media library. Defaults to 'mcp-uploads'.
instanceGuidYesInstance GUID
save_component_modelTry in Inspector

Save a new or existing Agility component model. Always check the listing of current component models before creating a new one. Take note of the different field types available, especially the various Linked Content types. Include all appropriate properties on all fields as undefined properties will be interpretted as empty or null values.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYes
instanceGuidYes
save_containerTry in Inspector

Save a new or existing Agility container. Always check the listing of current containers before creating a new one.

ParametersJSON Schema
NameRequiredDescriptionDefault
containerYesSchema for an Agility Container, representing a content list or single item. If it's a list, set the isDynamicPageList flag to true and the modelType to 1. If it's a single item, set the isShared to 0 and the modelType to 0.
instanceGuidYes
save_content_itemsTry in Inspector

Save or update one or more content items in Agility CMS.

BEFORE SAVING: Retrieve the container's content model to understand field types and requirements. Pay special attention to image/attachment fields and linked content fields to ensure correct value formatting.

FOR NEW ITEMS (contentID = -1):

  • Provide referenceName and fields object with content data

  • For NEW attachments: (1) Call initialize_media_upload to get an uploadUrl, (2) POST file to that URL, (3) Use the returned asset URL in the attachment field

FOR UPDATES (contentID > 0):

  • Include ALL fields, not just changed fields

  • Include properties.versionID with the current version ID

  • Recommended: First call get_content_item to retrieve current field values and versionID

  • For EXISTING attachments, use the current URL directly

Returns an array of content IDs representing the saved items.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesArray of content items to save
localeYesLocale code (e.g., 'en-us')
instanceGuidYesInstance GUID
save_content_modelTry in Inspector

Save a new or existing Agility content model. Always check the listing of current content models before creating a new one. Take note of the different field types available, especially the various Linked Content types. Include all appropriate properties on all fields as undefined properties will be interpretted as empty or null values.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYes
instanceGuidYes
save_pageTry in Inspector

Save a new page or update an existing page in Agility CMS. This tool supports 4 page types:

  1. static - Regular content pages with zones and components

  2. dynamic - Pages generated from a content list with dynamic formulas, as well as zones and components

  3. folder - Organizational containers with no content

  4. link - Redirect pages that point to other URLs

PREREQUISITES - Before creating a page, you MUST gather:

  1. Locale - Use get_locales to get valid locale codes for the instance

  2. Sitemap/Channel - Use get_sitemaps to list available sitemaps and get their IDs

  3. Page Model - Use get_page_models to list available page models and their names. The modelName field is REQUIRED for static and dynamic pages.

  4. Parent Page (if applicable) - Use get_sitemap to find the parent page ID by name/path. Do NOT guess parentPageID.

  5. Component Models (for static/dynamic pages with zones) - Use get_component_models to list available components, then get_component_model_details to get field definitions for each component you want to add.

CRITICAL - Adding Components to Pages (static/dynamic pages): When adding components to page zones, you can create the content items DIRECTLY in the page JSON - DO NOT call save_content_items first!

For NEW components, embed the full content item in the zones array (do NOT include contentID), and be sure to include the correct componentModelID for the component model:

zones: { "MainContent": [{ component: "RichTextArea", item: { fields: { textblob: "<p>Your content here</p>" }, properties: { componentModelID: 123 } } }] }

For EXISTING components (already created separately), just reference by ID:

item: { contentId: 123 }

The save_page tool will create both the page AND all embedded content items in a single operation.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageYesThe page object. Must specify pageType ('static', 'dynamic', 'folder', or 'link') and include the fields required for that type.
localeYesThe locale code (e.g., 'en-us', 'fr-ca')
sitemapIDNoThe sitemap/channel ID where the page should be created (optional). If not provided, the default sitemap for the locale will be used.
instanceGuidYesThe GUID of the Agility CMS instance
parentPageIDNoThe ID of the parent page (optional, overrides the parentPageID in the page object if provided). You should first call get_sitemap to resolve the desired parent by name/path. Do not guess parentPageID. Always resolve it via sitemap lookups.
placeBeforePageItemIDNoThe ID of the page to place this page before (optional, for ordering). If not provided, this page will be placed at the bottom of the list at its level.

FAQ

How do I claim this server?

To claim this server, publish a /.well-known/glama.json file on your server's domain with the following structure:

{ "$schema": "https://glama.ai/mcp/schemas/connector.json", "maintainers": [ { "email": "your-email@example.com" } ] }

The email address must match the email associated with your Glama account. Once verified, the server will appear as claimed by you.

What are the benefits of claiming a server?
  • Control your server's listing on Glama, including description and metadata
  • Receive usage reports showing how your server is being used
  • Get monitoring and health status updates for your server
Try in Browser

Your Connectors

Sign in to create a connector for this server.