# Using AI Assistants with Agility CMS

> Source: https://agilitycms.com/docs/editors/using-ai-assistants-with-agility

You can connect an AI assistant such as Claude, ChatGPT or Microsoft 365 Copilot to your Agility instance and work on content by asking for it in plain language. "Which blog posts have no meta description?" or "Draft French versions of these three items" becomes a conversation, and the assistant does the lookups and edits in Agility for you.

The connection is made through the **Agility CMS MCP Server**, a hosted service at [mcp.agilitycms.com](https://mcp.agilitycms.com). You don't install anything or handle any API keys. You add Agility to your assistant once, sign in with your normal Agility account, and start asking.

This article is for editors and content teams. If you're a developer, or you want to connect a coding tool such as Cursor, VS Code or Claude Code, see the [Agility CMS MCP Server](/docs/developers/agility-cms-mcp-server) developer guide.

## What you can ask

The assistant can read and update the same things you can in Agility: content items, pages, and assets. Some examples:

- **Find things.** "List the blog posts in Staging and who last changed them." "Which pages on the main sitemap have no meta description?"
- **Draft and edit.** "Write a short description for each of these five case studies, based on their body text." "Fix the spelling of our product name in every FAQ item."
- **Fill gaps in bulk.** "Fill in the missing SEO descriptions for our blog posts." See [Fill In Missing SEO Titles and Descriptions with AI](/docs/editors/ai-recipe-seo-metadata).
- **Work across locales.** "Draft fr-ca versions of the five newest blog posts." See [Draft Translations for Another Locale with AI](/docs/editors/ai-recipe-translate-content).
- **Audit.** "Find content with empty descriptions, images without alt text, or posts not updated in over a year." See [Audit Your Content with AI](/docs/editors/ai-recipe-content-audit).
- **Upload media.** The assistant can upload a file to your media library and attach it to an item.

## Connect your assistant

Every person connects their own account. There is no shared login, and nobody needs to give you a key. You'll need an Agility user account with access to the instance you want to work in.

### Claude (desktop and web)

Agility CMS is an official connector in Claude's connector directory.

1. In Claude, open **Customize** > **Connectors** > **Discover**.
2. Search for **Agility CMS**.
3. Choose **Agility CMS**. Don't pick **Agility CMS Knowledgebase**, which is a separate connector that only searches this documentation.
4. Sign in to Agility when prompted.
5. Start a new chat and ask "Which Agility instances can I access?" to check it's working.

If you're on a Claude Team or Enterprise workspace, an administrator may need to enable the Agility CMS connector for your organization first. Enabling it doesn't connect anyone or grant any content access: each person still signs in with their own Agility account.

If the directory entry hasn't reached you yet, you can add it by hand: **Customize** > **Connectors** > **Add**, add a custom connector named `Agility CMS MCP`, and use this URL:

```text
https://mcp.agilitycms.com/api/mcp
```

### ChatGPT

In ChatGPT, Agility is added as an app in Developer mode. Custom apps are available on Pro, Plus, Business, Enterprise and Education accounts on the web.

1. Go to **Settings** > **Apps** > **Advanced settings** and turn on **Developer mode**.
2. In **Settings** > **Apps**, click **Create**.
3. Name it `Agility CMS MCP`, set the server URL to `https://mcp.agilitycms.com/api/mcp`, and choose **OAuth** for authentication.
4. Sign in to Agility when prompted.
5. Enable the app on a conversation, then ask "Which Agility instances can I access?" to check it's working.

### Microsoft 365 Copilot

Copilot can't connect to Agility by itself. Someone in your organization builds a Copilot agent in Microsoft Copilot Studio, adds Agility to it, and publishes it to Microsoft 365 Copilot. The setup is covered in [Connect the Agility MCP Server to Microsoft 365 Copilot](/docs/developers/connect-agility-mcp-server-to-microsoft-365-copilot).

Once that agent is available to you:

1. Open Microsoft 365 Copilot.
2. Type `@` and select the Agility agent (your organization chooses its name).
3. Ask your question.
4. The first time, a **Connect** card appears. Select it and sign in to Agility with your own account.
5. Ask "Which Agility instances can I access?" to check it's working.

If you're never asked to sign in, tell whoever built the agent. It means the agent is using their Agility account instead of yours, which the setup guide explains how to fix.

### Other assistants

Gemini CLI, Cursor, Windsurf, VS Code with GitHub Copilot, Claude Code and other tools that support MCP can connect too. See the [setup instructions](https://mcp.agilitycms.com/instructions) or the [developer guide](/docs/developers/agility-cms-mcp-server).

## What keeps your content safe

An assistant connected to Agility is powerful, so it's worth knowing exactly where the guard rails are.

![Two ways to work with an AI assistant. Both start the same way: you ask, or a scheduled job triggers the agent, the MCP server acts with its Agility user's permissions, and changes are saved to Staging. With review, you review and preview the change in Agility, then you or an approver publish it. Fully automated, automated checks run, the agent publishes when they pass, and a webhook logs and notifies on every publish. If something is wrong, you unpublish it or restore an earlier version.](https://cdn.aglty.io/agility-cms-docs/images/editor/ai-assistant-editing-loop-v2.svg)

**It's you, with your permissions.** The assistant signs in as you, and every action runs under your own Agility account. It can only see the instances and content you can see, and it can only do what your role allows. If you can't publish or delete in Agility, you can't do it through the assistant either. Changes show up in Agility's history under your name.

**Saves land in Staging by default.** When the assistant creates or edits a content item, the change is saved to Staging, and saving alone doesn't change your live site. If the item was already published, the live version stays as it is and your change becomes a new Staging version on top of it, exactly as if you'd clicked **Save** yourself. Publishing is a separate step that happens when you, or your organization's automation, decide. See [Previewing, Publishing, and Content States](/docs/editors/preview-and-publishing) and [Choose how much the assistant does](#choose-how-much-the-assistant-does).

**Your approval workflow still applies.** If a content list or page requires approval, changes made through the assistant go through the same approval steps as any other change. See [Approvals and Workflows](/docs/editors/workflows).

**You decide how publishing is confirmed.** The assistant can publish, unpublish and delete if your role allows it. Unpublishing and deleting are marked as destructive, so assistants that support it ask you before running them, and deleting can ask you to type `DELETE`. Publishing isn't marked as destructive. Whether your assistant asks before it publishes depends on its settings: keep the prompt if you want to confirm each publish, or choose "always allow" for the publish tools when you want the assistant to publish on its own.

## Choose how much the assistant does

The same assistant, with the same tools, can work at three levels. Your organization decides which level applies to each kind of content, and your Agility role and workflow settings make it possible.

| Level | What the assistant does | Who publishes |
| --- | --- | --- |
| **Assist** | Drafts the change and saves it to Staging. | You, after you review and preview it. |
| **Approve** | Drafts the change, saves it, and requests approval. | A publisher approves it, then a person or the assistant publishes. |
| **Autonomous** | Drafts the change, checks its own work, and publishes. | The assistant, when its checks pass. |

**Assist** is what happens unless you ask for more. Review the change in Agility, then publish it yourself.

**Approve** works on content lists and pages that require approval. Ask the assistant to "save the changes, then request approval for each item." It uses the workflow tools (`manage_content_workflow` for content items, `manage_page_workflow` for pages), and the items wait for a publisher, the same as any other approval request. See [Approvals and Workflows](/docs/editors/workflows).

**Autonomous** means the assistant publishes for you. From a chat, say so in your request and tell it which checks to run first:

```text
Fill in the missing meta descriptions in the Blog Posts list. Before you
publish an item, check that the description is 150 to 160 characters, that
no other field changed, and that every link in the item points to a page on
the sitemap. Publish the items that pass with publish_content, and list any
that didn't pass, with the reason.
```

For the assistant to publish without stopping:

- **Your role needs the Publish permission,** and the content list or page must not require approval, or your role must be able to approve it.
- **Your assistant must be allowed to use the publish tools** (`publish_content` for content items, `publish_page` for pages). If it asks before each publish, choose "always allow" for those tools in its settings.
- **Your organization may want a dedicated automation account** to do the publishing instead of your own, especially for scheduled or unattended jobs. Your administrator sets that up. See [Levels of autonomy](/docs/owners-admins/governing-ai-access#levels-of-autonomy) in Governing AI Access to Agility CMS.

If something goes live that shouldn't have, ask the assistant to unpublish it (`unpublish_content` or `unpublish_page`), or restore an earlier version from [Version History](/docs/editors/versioning) and publish that.

### Which level to pick

- **Assist** when you're trying a new kind of request, the content is high-visibility, or the wording needs judgement, such as brand, legal or pricing copy.
- **Approve** when your team already uses approvals for that content, or when someone else is accountable for what goes live.
- **Autonomous** when the change is repeatable and easy to check automatically, such as filling empty SEO fields or fixing a known typo, your organization has agreed to it for that content, and you can see what was published, for example through a webhook that logs every publish.

## Good habits

**Be specific about where.** Name the instance, the locale and the content list in your first message, for example "In the Marketing Site instance, en-us locale, Blog Posts list...". If you can access more than one instance, the assistant otherwise has to guess or ask.

**Ask to see the change before it's saved.** End requests with something like "Show me the changes as a table before saving anything." Read the table, adjust, then say "Save them."

**Start small.** Try a change on two or three items, check them in Agility, then ask for the rest.

**Ask for read-only first.** For anything broad, start with "Don't change anything yet, just list..." so you know the scope before any edits.

**Leave other fields alone.** Say "Only change the Description field. Keep every other field exactly as it is." When the assistant updates an item, it saves the whole item, so this instruction matters.

**Don't edit items other people are working on.** If someone else has unsaved or unpublished changes on an item, ask the assistant to skip it. You can say "Skip any item that's already in Staging."

**Review in Agility before publishing,** unless the content is set up for autonomous publishing. Open the changed items in Agility, use **Preview** to see them in your site's design, then publish or request approval as you normally would. Ask the assistant for a list of the items it changed, with links, to make this quicker.

## Limits

- **AI makes mistakes.** The assistant writes the text itself, so it can misread a field, invent a detail, or miss your brand voice. Treat everything it writes as a draft until a person has reviewed it or it has passed your automated checks.
- **It sees what Agility stores, not your rendered site.** It reads field values. It doesn't see your site's design or how a page looks once published, so it can't tell you whether something looks right. Use Preview for that.
- **Big lists take a while.** The assistant reads up to 250 items per request and pages through larger lists. On very large content lists, narrow the request, for example by date or by a single list.
- **Your account sets the ceiling.** If something fails with a permission error, the assistant isn't broken: your Agility role doesn't allow that action. Ask an administrator.
- **It can't change your setup unless you can.** Content models and page models can only be changed by users whose role allows it. As an editor, you'll usually work with content, pages and assets.

## Recipes

Step-by-step guides with prompts you can paste:

- [Fill In Missing SEO Titles and Descriptions with AI](/docs/editors/ai-recipe-seo-metadata)
- [Draft Translations for Another Locale with AI](/docs/editors/ai-recipe-translate-content)
- [Audit Your Content with AI](/docs/editors/ai-recipe-content-audit)

## Related articles

- [Agility CMS MCP Server](/docs/developers/agility-cms-mcp-server), the full tool list and setup for developer tools
- [Connect the Agility MCP Server to Microsoft 365 Copilot](/docs/developers/connect-agility-mcp-server-to-microsoft-365-copilot)
- [Agility Knowledgebase MCP Server](/docs/overview/agility-knowledgebase-mcp-server), to let your assistant search these docs
- [Approvals and Workflows](/docs/editors/workflows)
