Contentful MCP Server
for AI Agents
Connect your AI agent to StackOne's Contentful MCP server and give it 80 MCP tools out of the box. Auth, tool execution, and security all managed.
Coverage
80 Agent Actions
Create, read, update, and delete across Contentful — and extend your agent's capabilities with custom actions.
Authentication
Agent Tool Authentication
Per-user OAuth in one call. Your Contentful MCP server gets session-scoped tokens with zero credentials stored on your infra.
Agent Auth →Security
Agent Protection
Every Contentful tool response scanned for prompt injection in milliseconds — 88.7% accuracy, all running on CPU.
Prompt Injection Defense →Performance
Max Agent Context. Min Cost.
Free up to 96% of your agent's context window to enhance reasoning and reduce cost, on every Contentful call.
Tools Discovery →What is the Contentful MCP Server?
A Contentful MCP server lets AI agents read and write Contentful data through the Model Context Protocol — Anthropic's open standard for connecting LLMs to external tools. StackOne's Contentful MCP server ships with 80 pre-built actions, fully extensible via the Connector Builder — plus managed authentication, prompt injection defense, observability, and agent execution runtime. Connect it from MCP clients like Claude Desktop, Claude Code, Cursor, Goose, and VS Code, or from agent frameworks like OpenAI Agents SDK, LangChain, and Vercel AI SDK.
All Contentful MCP Tools
Every action from Contentful's API, ready for your agent. Create, read, update, and delete — scoped to exactly what you need.
Assets
- Create Asset
Create a new asset in the specified space's master environment. Fires the `ContentManagement.Asset.create` webhook. Server generates the asset ID; response `sys.version` is 1. Asset is NOT yet processed or published — call `process_asset` then `publish_asset` to complete the workflow.
- Publish Asset
Publish an asset so it becomes available on the Content Delivery API. Fires the `ContentManagement.Asset.publish` webhook. Asset MUST have been processed (via `process_asset`) for every locale that has file data — otherwise Contentful returns 422 ValidationFailed.
- Get Asset
Retrieve a single asset by its ID from the specified space's master environment. Use this to fetch the current `sys.version` before any update/delete/publish/unpublish/process call.
- Update Asset
Update an existing asset by ID. Fires the `ContentManagement.Asset.save` webhook. Requires X-Contentful-Version optimistic-lock header — Contentful returns 409 on version mismatch.
- Delete Asset
Permanently delete an asset by ID. Fires the `ContentManagement.Asset.delete` webhook. Asset MUST be unpublished first — Contentful rejects deletion of a currently-published asset with a 400.
Content Types
- Create Content Type
Create a content type with a caller-supplied ID (Contentful uses PUT for upsert-by-ID — there is no POST endpoint). Fires the `ContentManagement.ContentType.create` webhook. Content types must be activated (via `activate_content_type`) before entries can be created against them.
- Get Content Type
Retrieve a single content type by its ID from the specified space's master environment. Use this to fetch the current `sys.version` before any update/delete/publish/unpublish call.
- Update Content Type
Update an existing content type. Fires the `ContentManagement.ContentType.save` webhook. Requires X-Contentful-Version optimistic-lock header — Contentful returns 409 on version mismatch. After update, you typically re-activate via `activate_content_type` for schema changes to appear on the CDA.
- Delete Content Type
Permanently delete a content type. Fires the `ContentManagement.ContentType.delete` webhook. Content type MUST be unpublished first AND have no entries associated — Contentful rejects deletion otherwise with a 400.
Entrys
- Create Entry
Create a new entry of the given content type in the specified space's master environment. Fires the `ContentManagement.Entry.create` webhook. Server generates the entry ID; response `sys.version` is 1.
- Publish Entry
Publish an entry so it becomes available on the Content Delivery API. Fires the `ContentManagement.Entry.publish` webhook. Requires X-Contentful-Version optimistic-lock header.
- Get Entry
Retrieve a single entry by its ID from the specified space's master environment. Use this to fetch the current `sys.version` before any update/delete/publish/unpublish call.
- Update Entry
Update an existing entry by ID. Fires the `ContentManagement.Entry.save` webhook. Requires the X-Contentful-Version optimistic-lock header — Contentful returns 409 on version mismatch.
- Delete Entry
Permanently delete an entry by ID. Fires the `ContentManagement.Entry.delete` webhook. Entry MUST be unpublished first — Contentful rejects deletion of a currently-published entry with a 400.
Organizations
- List Organizations
List all organizations the authenticated user has access to.
- Get Organization
Get details for a specific organization (admin/owner only).
- Update Organization
Update an organization's properties (admin/owner only).
Organization Memberships
- List Organization Memberships
List all members of an organization.
- Get Organization Membership
Retrieve a single organization membership.
- Update Organization Membership
Update an organization member's role.
- Delete Organization Membership
Remove a user from the organization.
Organization Invitations
- Create Organization Invitation
Invite a user to join the organization. The invitee receives an email with an acceptance link.
- Get Organization Invitation
Retrieve a pending or accepted organization invitation by its identifier.
Personal Access Tokens
- Create Personal Access Token
Create a new personal access token for the authenticated user.
- List Personal Access Tokens
List the authenticated user's personal access tokens.
- Get Personal Access Token
Retrieve metadata for a specific personal access token.
Roles
- Create Role
Create a custom role in a space.
- List Roles
List all roles in a space.
- Get Role
Retrieve a single role by ID.
- Update Role
Update an existing role.
- Delete Role
Permanently delete a role.
Space Memberships
- Create Space Membership
Grant an existing organization member access to a space (cannot invite net-new users).
- List Space Memberships
List space-membership records for a space (each item carries the user link, admin flag, and role assignments).
- Get Space Membership
Retrieve a single space membership by ID.
- Update Space Membership
Update a space membership's roles or admin status.
- Delete Space Membership
Remove a user from a space.
Space Members
- List Space Members
List combined direct and team-derived members of a space.
- Get Space Member
Retrieve a single space member's combined direct and team-derived access.
Spaces
- Create Space
Create a new space in an organization. Requires the organization to have an available space-creation license; otherwise the provider returns 422 LicenseNotFoundError.
- List Spaces
List all spaces accessible to the authenticated user.
- Get Space
Retrieve a single space by ID.
- Update Space
Update a space's name.
- Delete Space
Permanently delete a space and all of its resources.
Space Add-ons
- Get Space Add-ons
Get add-on allocations for a space. Requires the space add-ons feature on the account's plan; non-eligible accounts return 404 Resource not found.
- Update Space Add-ons
Update add-on allocations for a space. Requires the space add-ons feature on the account's plan; non-eligible accounts return 404 Resource not found.
Teams
- Create Team
Create a new team in an organization.
- Get Team
Retrieve a single team by ID.
- Update Team
Update a team's name and description.
- Delete Team
Delete a team from an organization.
Team Memberships
- Create Team Membership
Add an organization member to a team.
- Get Team Membership
Retrieve a single team membership by ID.
- Delete Team Membership
Remove a member from a team.
Team Space Memberships
- Create Team Space Membership
Grant a team access to a space.
- Get Team Space Membership
Retrieve a single team space membership by ID.
- Update Team Space Membership
Update a team's access to a space.
- Delete Team Space Membership
Revoke a team's access to a space.
Space Users
- List Space Users
List User objects (name, email, avatar, activated state) for everyone with access to a Contentful space. If you need role or admin assignments per user, use list_space_memberships instead.
- Get Space User
Get a single user with access to a Contentful space.
Organization Users
- List Organization Users
List all users in a Contentful organization.
- Get Organization User
Get a single user in a Contentful organization.
Other (20)
- Get All Assets
List assets in the specified space's master environment. Companion to the `ContentManagement.Asset.publish`, `ContentManagement.Asset.save`, and `ContentManagement.Asset.create` webhooks.
- Get All Content Types
List content types (schemas) in the specified space's master environment. Companion to the `ContentManagement.ContentType.publish`, `ContentManagement.ContentType.save`, and `ContentManagement.ContentType.create` webhooks.
- Get All Entries
List entries in the specified space's master environment. Fires read-only against the Contentful CMA — companion to the ContentManagement.Entry.publish, ContentManagement.Entry.save, and ContentManagement.Entry.create webhooks.
- List Organization Periodic Usages
List organization-wide periodic usage metrics. Requires the organization-usage feature on the account's plan; non-eligible accounts return 404 Resource not found.
- List Organization Available Licenses
List available licenses for the organization.
- List Organization Access Tokens
List all personal access tokens (PATs) with access to a Contentful organization.
- Get Space Eligible Licenses
List license options eligible for a space.
- List Space Periodic Usages
List per-space periodic usage metrics for an organization. Requires the per-space-usage feature on the account's plan; non-eligible accounts return 404 Resource not found.
- List Teams In Space
List Team objects (name, description, member count) that have access to a space. For per-team admin status or role assignments use list_team_space_memberships_in_space instead.
- List Organization Teams
List all teams in an organization.
- List Team Memberships In Team
List members of a team.
- List Organization Team Memberships
List all team memberships across the organization.
- List Team Space Memberships In Space
List team-space membership records for a space (each item carries the team link, admin flag, and role assignments).
- Get Current User
Get the currently authenticated Contentful user.
- Unpublish Asset
Unpublish an asset — its draft is retained but the published version is removed from the Content Delivery API. Fires the `ContentManagement.Asset.unpublish` webhook.
- Process Asset
Trigger server-side processing of an uploaded asset file for a specific locale. REQUIRED after `create_asset` (or after updating an asset's file spec) and BEFORE `publish_asset`. Response is 204 No Content — processing continues asynchronously; poll `get_asset` until `fields.file.<locale>.url` appears to confirm completion.
- Activate Content Type
Activate (publish) a content type so entries can be authored against it and its schema is exposed on the Content Delivery API. Fires the `ContentManagement.ContentType.publish` webhook. Requires X-Contentful-Version.
- Deactivate Content Type
Deactivate (unpublish) a content type. Fires the `ContentManagement.ContentType.unpublish` webhook. Existing entries are preserved but are removed from the CDA and no new entries can be created against the type until it is re-activated. Fails with 400 if any entries still exist for the type.
- Unpublish Entry
Unpublish an entry — its draft is retained but the published version is removed from the Content Delivery API. Fires the `ContentManagement.Entry.unpublish` webhook.
- Revoke Personal Access Token
Revoke a personal access token, immediately invalidating it.
Set Up Your Contentful MCP Server in Minutes
One endpoint. Any framework. Your agent is talking to Contentful in under 10 lines of code.
Agent Frameworks
{
"mcpServers": {
"stackone": {
"command": "npx",
"args": [
"-y",
"mcp-remote@latest",
"https://api.stackone.com/mcp?x-account-id=<account_id>",
"--header",
"Authorization: Basic <YOUR_BASE64_TOKEN>"
]
}
}
}Check More Documents & Knowledge MCP Servers
134+ actions
101+ actions
96+ actions
95+ actions
92+ actions
80+ actions
67+ actions
Platform Resources
MCP Code Mode: Keeping Tool Responses Out of Agent Context
Anthropic's code_execution processes data already in context. Custom MCP code mode keeps raw tool responses in a sandbox. 14K tokens vs 500.
11 min
Comparing BM25, TF-IDF, and Hybrid Search for MCP Tool Discovery
Benchmarking BM25, TF-IDF, and hybrid search for MCP tool discovery across 916 tools. The 80/20 TF-IDF/BM25 hybrid hits 21% Top-1 accuracy in under 1ms.
10 min
Indirect Prompt Injection Defense for MCP Tools: A Technical Guide
MCP tools that read emails, CRM records, and tickets are indirect prompt injection vectors. Here's how we built a two-tier defense that scans tool results in ~11ms.
12 min
MCP vs A2A: Architecture, Security, and When to Use Each
MCP vs A2A: what each protocol standardizes, how they differ, their shared security risks including indirect prompt injection, and when to use one, both, or a hybrid architecture.
12 min
MCP vs API: What 200+ Connector Builds Taught Us
MCP wraps APIs, it doesn't replace them. After building 200+ connectors that serve both, here's when each approach wins.
14 min read
Contentful MCP Server FAQ
Does StackOne have a Contentful MCP server?
Contentful MCP server vs direct API integration — what's the difference?
How does Contentful authentication work for AI agents?
origin_owner_id.Are Contentful MCP tools vulnerable to prompt injection?
What is the context bloat of a Contentful agent and how do I avoid it?
Can I limit which actions my Contentful agent can access?
Can I create custom agent actions for my Contentful MCP server?
When should I NOT use a Contentful MCP server?
What AI frameworks and AI clients does the StackOne Contentful MCP server support?
Put your AI agents to work
All the tools you need to build and scale AI agent integrations, with best-in-class connectivity, execution, and security.