mcp-content-ops
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-content-ops Create a draft of an article about AI safety"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-content-ops
An MCP server that lets an agent work with CMS content. The tools are the boring part — search, read, create a draft, set a field, publish. What took the thinking is what happens before any of them run.
Most content MCP servers we have looked at hand the model an API client and a credential with whatever permissions the integration account happens to have, which in a CMS is usually everything. The demo works. Then someone asks the agent to "tidy up the product pages" and it publishes forty drafts, because nothing in the system ever said it could not.
The scoping
Four gates, in order, and none of them live in the tool schema:
Argument validation against the published schema. Unknown properties are rejected rather than dropped — a model that invents an argument has misunderstood the tool, and dropping it quietly hides that.
Deny by default. Writes are off unless config turns them on. There is no permissive default anywhere in
Policy.Type and field allowlists. A type being readable does not make it writable, and a writable type does not make every field on it writable.
Structured audit of every call, allowed or refused, with the reason.
The type a call is judged against comes from the stored item, never from the arguments. Letting the caller assert what kind of thing it is editing is letting the caller pick which policy applies.
A refused call comes back as a normal tool result with isError set, not a JSON-RPC error. The
model should see why it was refused and adapt; a protocol error means the client is broken,
which is a different conversation.
Related MCP server: ToolBridge
Running it
pip install -e ".[dev]"
python -m content_ops.server policy.example.json
pytest -qThe CMS behind it is an in-memory stub in cms.py — four methods, swap it for your content API.
What it does not do
No delete tool, on purpose. No resources or prompts, only tools. No auth: this is a stdio server and the trust boundary is the process that launched it. The schema validator covers the subset our own tool schemas use rather than all of JSON Schema.
Why not use an SDK
The MCP Python SDK is fine and for a larger server it is the right call. This one implements three methods over stdio, and the wire format is small enough that a dependency moving at the pace the SDKs currently move was the bigger risk.
Available Tools
5 toolscreate_contentB
Create a content item as a draft.
Inputs: name (required), content_type (required).
get_contentC
Read one content item.
Inputs: id (required).
publish_contentC
Publish a draft.
Inputs: id (required).
search_contentC
Find content items by a substring of their name.
Inputs: query (required), limit, content_type.
update_content_fieldC
Set one field on one content item.
Inputs: id (required), field (required), value (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
The tools are mostly distinct: search, get, create, update, publish. Minor overlap: get_content vs search_content could be confused but descriptions clarify one is for exact retrieval and the other for substring search.
All tool names follow a consistent verb_noun pattern (search_content, get_content, create_content, update_content_field, publish_content). The action verbs are clear and uniform.
5 tools is well-scoped for a content operations server. Each tool covers a distinct lifecycle step: search, read, create, update, publish. No redundancy or excess.
Covers basic search/read/create/update/publish workflow, but missing delete_content (or archive), and possibly list/summary operations. Update is limited to one field at a time, which may be restrictive, but the core workflow is covered.
Maintenance
Related MCP Connectors
MCP gateway with runtime security policy, tool-call-level control, and audit of agent actions.
An MCP server that provides access to Agility CMS. See https://mcp.agilitycms.com for more details.
One MCP URL for all your connectors — scoped writes, enforced constraints, and a full audit trail.
Hosted remote MCP for protected account access, permissions, activity history and supported undo.
Related MCP Servers
AlicenseAqualityDmaintenanceMCP server that protects shell, file, database, git, and HTTP operations with per-agent permission rules5010 npmMIT- FlicenseNot gradedqualityDmaintenanceA governed MCP server for integrating AI agents with customer data, featuring role-based access control, field redaction, and human-in-the-loop approval for secure support operations.1-
- AlicenseBqualityCmaintenanceOpen-source MCP server that turns any CMS backend into an AI-agent-ready content management system. It provides tools for content CRUD, idea management, and publication tracking, with safety features requiring human approval for publishing.52MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides AI agents with direct read/write access to Sitecore CMS through 100+ tools across Item Service, GraphQL, and PowerShell APIs.153 npmApache 2.0