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 toolsget_available_instancesTry in Inspector
Get a list of available Agility instances.
| Name | Required | Description | Default |
|---|---|---|---|
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.
| Name | Required | Description | Default |
|---|---|---|---|
| modelID | No | ||
| instanceGuid | Yes | ||
| referenceName | No |
get_component_modelsTry in Inspector
Get a list of Agility components for a particular instance.
| Name | Required | Description | Default |
|---|---|---|---|
| instanceGuid | Yes |
get_containersTry in Inspector
Gets the list of Agility containers (content lists and single items) for a particular instance.
| Name | Required | Description | Default |
|---|---|---|---|
| instanceGuid | Yes |
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.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | Yes | Locale code (e.g., 'en-us') | |
| contentID | Yes | Content item ID | |
| instanceGuid | Yes | Instance 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.
| Name | Required | Description | Default |
|---|---|---|---|
| skip | No | Items to skip for pagination (default: 0) | |
| sort | No | Sort field name | |
| take | No | Items to return (default: 50) | |
| fields | No | Optional 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. | |
| filter | No | Search query string | |
| locale | Yes | Locale code (e.g., 'en-us') | |
| instanceGuid | Yes | Instance GUID | |
| referenceName | Yes | Container 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.
| Name | Required | Description | Default |
|---|---|---|---|
| modelID | No | ||
| instanceGuid | Yes | ||
| referenceName | No |
get_content_modelsTry in Inspector
Get a list of Agility content models for a particular instance.
| Name | Required | Description | Default |
|---|---|---|---|
| instanceGuid | Yes |
get_localesTry in Inspector
Get a list of locales for an Agility instance.
| Name | Required | Description | Default |
|---|---|---|---|
| instanceGuid | Yes | The 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.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | Yes | The locale code (e.g., 'en-us', 'fr-ca') | |
| pageID | Yes | The ID of the page to retrieve | |
| instanceGuid | Yes | The GUID of the Agility CMS instance |
get_page_modelsTry in Inspector
Get a list of Agility page models for a particular instance and locale.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | Yes | ||
| instanceGuid | Yes | ||
| searchFilter | No | ||
| includeModuleZones | No |
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.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | Yes | Locale code (e.g., 'en-us') | |
| sitemapID | No | Optional sitemap ID to retrieve. | |
| sitemapName | No | Optional sitemap name to retrieve. Case-insensitive. | |
| instanceGuid | Yes | Instance 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.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | Yes | Locale code (e.g., 'en-us') | |
| instanceGuid | Yes | Instance 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.
| Name | Required | Description | Default |
|---|---|---|---|
| fileName | No | Optional file name including extension. If omitted, a name will be generated based on the content type. | |
| folderPath | No | Optional folder path within the media library. Defaults to 'mcp-uploads'. | |
| instanceGuid | Yes | Instance 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.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | ||
| instanceGuid | Yes |
save_containerTry in Inspector
Save a new or existing Agility container. Always check the listing of current containers before creating a new one.
| Name | Required | Description | Default |
|---|---|---|---|
| container | Yes | Schema 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. | |
| instanceGuid | Yes |
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.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Array of content items to save | |
| locale | Yes | Locale code (e.g., 'en-us') | |
| instanceGuid | Yes | Instance 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.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | ||
| instanceGuid | Yes |
save_pageTry in Inspector
Save a new page or update an existing page in Agility CMS. This tool supports 4 page types:
static - Regular content pages with zones and components
dynamic - Pages generated from a content list with dynamic formulas, as well as zones and components
folder - Organizational containers with no content
link - Redirect pages that point to other URLs
PREREQUISITES - Before creating a page, you MUST gather:
Locale - Use
get_localesto get valid locale codes for the instanceSitemap/Channel - Use
get_sitemapsto list available sitemaps and get their IDsPage Model - Use
get_page_modelsto list available page models and their names. The modelName field is REQUIRED for static and dynamic pages.Parent Page (if applicable) - Use
get_sitemapto find the parent page ID by name/path. Do NOT guess parentPageID.Component Models (for static/dynamic pages with zones) - Use
get_component_modelsto list available components, thenget_component_model_detailsto 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:
For EXISTING components (already created separately), just reference by ID:
The save_page tool will create both the page AND all embedded content items in a single operation.
| Name | Required | Description | Default |
|---|---|---|---|
| page | Yes | The page object. Must specify pageType ('static', 'dynamic', 'folder', or 'link') and include the fields required for that type. | |
| locale | Yes | The locale code (e.g., 'en-us', 'fr-ca') | |
| sitemapID | No | The sitemap/channel ID where the page should be created (optional). If not provided, the default sitemap for the locale will be used. | |
| instanceGuid | Yes | The GUID of the Agility CMS instance | |
| parentPageID | No | The 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. | |
| placeBeforePageItemID | No | The 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:
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