cms

BCMS MCP lets AI agents work directly with your BCMS content.

Community: Submitted by a user or imported; check the owner before granting accessOnlineAPI key requiredGlobalFreeCan modify data

What it can do

  • Instance Get: Get the instance details.
  • Submit Mcp Feedback: Report problems with the BCMS MCP tools so we can fix them. Use this after an unexpected error, a confusing or misleading result, when a capability you needed was missing, when a
  • Create Template: Create a new template in the instance.

What data it sees

Do you need an account

An API key from the service settings is required

BCMS MCP lets AI agents work directly with your BCMS content. Read and manage entries, media, content models, and publishing workflows from tools like Claude, Cursor, ChatGPT, and other MCP clients.

How to connect

How to connect cms to Claude

The server address to paste into Claude settings:

https://cms--bcms.run.tools

  1. Open Claude (claude.ai or the desktop app).
  2. Go to Settings → Connectors.
  3. Click Add custom connector.
  4. Paste the server address copied below into Remote MCP server URL and click Add.
  5. In a chat, click + → Connectors and switch the new connector on.

Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.

Authorization

After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.

How to connect cms to ChatGPT

The server address to paste into ChatGPT settings:

https://cms--bcms.run.tools

  1. Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
  2. Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
  3. Open Settings → Connectors and click Create.
  4. Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
  5. Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
  6. In a new chat open + → Apps/Connectors and enable the connector.

OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.

Authorization

On first use ChatGPT opens the service's sign-in window. Sign in and approve access.

How to connect cms to Cursor

The server address to paste into Cursor settings:

https://cms--bcms.run.tools

Fastest: click Open in Cursor below and confirm the prompt.

Manually:

  1. In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
  2. Paste the JSON copied below into ~/.cursor/mcp.json (per project: .cursor/mcp.json in the repo root).
  3. Save the file. The server appears in the MCP list; authorize it there if asked.

Authorization

If the service needs sign-in, an authorize button appears next to the server in the MCP list.

Server tool list (49)

Raw names from tools/list. Only developers need these.

instance-getGet the instance details.
submit-mcp-feedbackReport problems with the BCMS MCP tools so we can fix them. Use this after an unexpected error, a confusing or misleading result, when a capability you needed was missing, when a tool description or resource was unclear or wrong, or when you had to work around something to get the job done. If the issue blocked the work, ask the user whether they want to submit feedback before calling this tool. Include the tool name, what you tried, and what you expected to happen.
create-templateCreate a new template in the instance.
delete-template-by-idDelete a template by its ID.
get-all-templatesGet all templates in the instance.
get-template-by-idGet a template by its ID.
update-templateUpdate an existing template in the instance. Read the Prop Changes MCP resource for propChanges add.data defaults and batching.
create-entriesCreate a new entry with the specified data. Prefer `build-entry-meta-from-template` to draft `meta[].props`, and `build-widget-content-node` for widget content nodes. See the Important resource for shapes and gotchas. Response includes dashboardUrl so the user can open the entry in the browser.
delete-entriesDelete an entry with the specified ID.
get-all-entries-by-template-idList all entries that use a specific template.
get-entry-by-idGet an entry by its ID.
update-entriesUpdate an entry with the specified data. Prefer `build-entry-meta-from-template` to draft `meta.props`, and `build-widget-content-node` for widget content nodes. See the Important resource for shapes and gotchas.
build-entry-meta-from-templateDraft entry meta prop values for every prop on a template, with type-aware placeholders (GROUP_POINTER and nested WIDGET props filled recursively). Use the returned `props` as `meta[].props` in create-entries or `meta.props` in update-entries, replacing placeholders with real values. `notes` lists values you must supply yourself (required MEDIA/ENTRY_POINTER). Pass `overrides` to set specific prop ids verbatim.
build-widget-content-nodeDraft a ready entry content widget node for a widget, with every prop filled by type-aware placeholders (nested WIDGET/GROUP_POINTER props recurse). Append the returned `node` to `content.nodes` in create-entries / update-entries, replacing placeholders with real values. `notes` lists values you must supply yourself (required MEDIA/ENTRY_POINTER). Pass `overrides` to set specific prop ids verbatim.
create-entry-statusCreate a new entry status.
delete-entry-status-by-idDelete an entry status by its ID. IMPORTANT: This will remove the status from all entries that have it assigned.
list-entry-statusesList all entry statuses that exist in the instance.
get-entry-status-by-idGet an entry status by its ID. You should call this tool when you need to get the status of an entry.
update-entry-statusUpdate an existing entry status with the specified data.
get-entry-history-items-for-entryGet all history changes for specified entry.
get-all-entry-history-itemsGet all entry history items for the instance.
get-entry-history-by-idGet entry history item by its ID.
get-entry-history-file-dataGet file data for entry history item by its ID.
create-groupCreate a new group with the specified data.
delete-group-by-idDelete an existing group by its ID.
get-all-groupsGet all groups in the instance.
get-group-by-idGet group by ID.
update-groupUpdate an existing group. Read the Prop Changes MCP resource for propChanges add.data defaults and batching.
create-widgetCreate a widget in the instance.
delete-widget-by-idDelete widget by its ID.
get-all-widgetsGet all widgets in the instance.
get-widget-by-idGet a widget by its ID.
update-widgetUpdate a widget by its ID. Read the Prop Changes MCP resource for propChanges add.data defaults and batching.
add-languageAdd a new language to the instance. Note: language must be one of the supported languages.
delete-language-by-idDelete language by ID
get-available-languagesGet all available/supported languages inside of the BCMS.
get-all-languagesGet all languages in the instance.
get-language-by-idGet language by ID, language must belong to the instance.
update-languageUpdate a language in the instance.
create-media-directoryCreate a media directory. This can be used to organize media items into folders.
get-all-mediaList all media items.
get-media-by-idGet media by ID.
list-media-directoriesList all media directories. This can be used to retrieve a list of all media directories in the media library. You should use this tool when you need to get directory structure.
request-upload-media-urlGet media file upload link. This can be used to upload media files to the media library. The tool returns a pre-signed URL to which the media file can be uploaded using a POST request with form-data. This is useful for uploading large media files that may exceed the size limits of the MCP tool input.
get-entry-pointer-linkGet a link to an entry (aka Entry Pointer Link) that is used in Entry content link node. You should call this tool when you need to get a internal BCMS link to an Entry.
get-media-pointer-linkGet a link to a media (aka Media Pointer Link) that is used in Entry content link node. You should call this tool when you need to get a internal BCMS link to a Media.
get-all-trash-itemsGet all trash items in the instance.
get-trash-item-by-idGet a trash by its ID.
get-trash-item-file-dataGet a trash file data by trash item ID.