Skip to main content
Glama

Cirra AI Salesforce Admin MCP Server

cms_content

Destructive

Author and manage Salesforce CMS content in enhanced CMS workspaces: search, get, create, update, clone, and delete managed content and variants, publish and unpublish content, manage taxonomy term associations, and administer content spaces (workspaces), folders, and channels. To read content that is already published to a channel or Experience Cloud site, use cms_delivery instead. For CMS resources not covered here (digital asset management providers, search indexing, folder sharing, legacy CMS workspaces) use connect_rest.

Input Schema

NameRequiredDescriptionDefault
bodyNoThe request body, matching the Connect REST input shape for the operation. Required for create, create_variant, update, publish, unpublish, set_taxonomy_terms, create_space, update_space, create_channel, and update_channel. Optional for clone. Field names are listed in the tool instructions; do not guess (clone has no urlName; create_channel uses type not channelType; create_variant uses the contentKeyOrId parameter, not a body field).
sf_userNo(optional) Salesforce username to identify the connection to use. Omit this to use the current default connection.
spaceIdNoThe content space (workspace) ID. Required for get_space and update_space.
folderIdNoThe content folder ID. Required for get_folder.
channelIdNoThe managed content channel ID. Required for get_channel, update_channel, and delete_channel. This is an authoring channel ID; delivery operations in cms_delivery use their own channel IDs.
operationYesThe operation to perform. All operations except search, get, get_taxonomy_terms, list_spaces, get_space, get_folder, list_channels, and get_channel modify the org. Always ask for explicit user approval before executing a modifying operation, and do not proceed without it. Publishing and unpublishing change what site visitors see, so confirm those separately even when the content change itself was already approved.
variantIdNoThe managed content variant ID. Required for update and delete: in enhanced CMS workspaces edits and deletions apply to a variant, not to the content record itself. Get the variant ID from the get operation. Unpublish also requires this ID in body.variantIds — contentIds works for publish but not for unpublish. Delete fails with DELETE_NOT_ALLOWED until the variant has been unpublished.
queryParamsNo(optional) Query-string parameters supported by the underlying resource. For search, contentSpaceOrFolderIds and queryTerm are required, and contentTypeFQN, scope, languages, page, and pageSize are optional. For get, use version to retrieve a specific version.
cirra_ai_teamNo(optional) Cirra team ID or name that owns the Salesforce connection to use for this call. Must be provided together with 'sf_user'. Use it to run against a specific team's connection without changing your default team — e.g. to keep separate chats on Salesforce orgs in different teams. Omit it when this call carries the context_handle from cirra_ai_init, which names the team for the conversation. A user with more than one place to work (several teams, or a team and a personal account) must pass either the context_handle or 'cirra_ai_team' + 'sf_user'.
contentKeyOrIdNoThe content key or ID of a piece of managed content. Required for get, clone, create_variant, get_taxonomy_terms, and set_taxonomy_terms. For create_variant this value is sent as managedContentKeyOrId in the request body — do not also put it in body, and do not use the Salesforce doc example's managedContentKeyorId (lowercase o), which v66.0 rejects.
context_handleNo(recommended) The conversation context handle returned by cirra_ai_init in this conversation. Pass the exact context_handle value from the most recent cirra_ai_init result so this call runs against the team and Salesforce connection selected for this conversation. A user with more than one place to work (several Cirra AI teams, or a team and a personal account) must pass either this handle or 'cirra_ai_team' + 'sf_user'; a call with neither is refused.

Output Schema

NameRequiredDescriptionDefault
resultNo
messageYes
recordsNo
resultsNo
successYes
warningNo
errorCodeNo
errorCountNo
resultCountNo
artifactTypeNo
requestCountNo
skippedCountNo
successCountNo
collectionFieldNo
artifactCategoryNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, openWorldHint=true, idempotentHint=false, and readOnlyHint=false, so the safety profile is largely covered. The description still adds useful scope boundaries (enhanced workspaces only, not legacy) and the fact that authoring and delivery surfaces are split. It does not itself flag that publish/unpublish changes what site visitors see or that delete requires an unpublished variant first, though those details do appear in the parameter schemas.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose then routing, with zero filler. The long capability enumeration partially restates the operation enum already in the schema, which keeps it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 21-operation, 11-parameter tool with an output schema and rich annotations, the description covers scope, sibling routing, and the enhanced-vs-legacy split. Workflow preconditions (variant-level edits, unpublish before delete, approval gating) are documented in the schema rather than the description, so the description alone is not fully self-sufficient but nothing critical is absent from the definition as a whole.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the parameter descriptions are unusually detailed (variantId lifecycle, contentKeyOrId body placement, body field caveats). The tool description adds no parameter-level meaning of its own, so the baseline of 3 applies when structured fields carry the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb set and resource (author/manage Salesforce CMS content in enhanced CMS workspaces) and enumerates the concrete capabilities: content and variants, publish/unpublish, taxonomy terms, spaces, folders, channels. It explicitly distinguishes itself from the two nearest siblings, cms_delivery for published-channel reads and connect_rest for uncovered CMS resources, so an agent can pick it without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit routing conditions: use cms_delivery to read content already published to a channel or Experience Cloud site, use connect_rest for digital asset management providers, search indexing, folder sharing, and legacy CMS workspaces. The exclusions cover exactly the areas an agent might wrongly assume this tool handles.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources