Contentful MCP Remote Server (renzoqcad/contentful-express-mcp-server) is an MCP server listed on the M8ven Trust Index. It scores 52 out of 100, grade D. It declares 38 tools. No publisher has claimed this listing.
Exposes Contentful MCP tools as a remote HTTP endpoint, allowing Claude Desktop to interact with Contentful content management functionality via an Express.js server instead of running tools locally.
Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
renzoqcad
Source: Glama
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.
These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.
create_ai_actionCreate a new AI action with clear instructions and well-defined variables. Best practices: (1) Use descriptive names that indicate the action's purpose, (2) Write specific, actionable instructions in the template, (3) Define meaningful variables with clear names like "sourceContent", "targetLocale",…
invoke_ai_actionInvoke an AI action with variables. MANDATORY BULK OPERATIONS: You MUST ALWAYS use bulk operations when processing multiple content pieces by adding multiple items to the fields array - never make separate calls. VARIABLES: Can be (1) String values for simple text input, or (2) Entity references to …
get_ai_action_invocationRetrieve information about a specific AI action invocation by its ID.
delete_ai_actionDelete a specific AI action from your Contentful space
get_ai_actionRetrieve details about a specific AI action including its configuration, instructions, and defined variables
list_ai_actionsList AI actions in a space. Returns a maximum of 3 items per request. Use skip parameter to paginate through results.
publish_ai_actionPublish an AI action to make it available for use in the Contentful web app
unpublish_ai_actionUnpublish an AI action to remove it from use in the Contentful web app
update_ai_actionUpdate an existing AI action. Your updates will be merged with the existing AI action data, so you only need to provide the fields you want to change.
upload_assetUpload a new asset
list_assetsList assets in a space. Returns a maximum of 3 items per request. Use skip parameter to paginate through results.
get_assetRetrieve an asset
update_assetUpdate an asset
delete_assetDelete an asset
publish_assetPublish an asset or multiple assets. Accepts either a single assetId (string) or an array of assetIds (up to 100 assets). For a single asset, it uses the standard publish operation. For multiple assets, it automatically uses bulk publishing.
unpublish_assetUnpublish an asset or multiple assets. Accepts either a single assetId (string) or an array of assetIds (up to 100 assets). For a single asset, it uses the standard unpublish operation. For multiple assets, it automatically uses bulk unpublishing.
get_initial_contextIMPORTANT: This tool must be called before using any other tools. It will get initial context and usage instructions for this MCP server.
search_entriesSearch for specific entries in your Contentful space
create_entryCreate a new entry in Contentful. Before executing this function, you need to know the contentTypeId (not the content type NAME) and the fields of that contentType. You can get the fields definition by using the GET_CONTENT_TYPE tool. IMPORTANT: All field values MUST include a locale key (e.g., 'en-…
get_entryRetrieve an existing entry
update_entryUpdate an existing entry. The handler will merge your field updates with the existing entry fields, so you only need to provide the fields and locales you want to change. IMPORTANT: All field values MUST include a locale key (e.g., 'en-US') for each value, like: { title: { 'en-US': 'My Updated Title…
delete_entryDelete a specific content entry from your Contentful space
publish_entryPublish an entry or multiple entries. Accepts either a single entryId (string) or an array of entryIds (up to 100 entries). For a single entry, it uses the standard publish operation. For multiple entries, it automatically uses bulk publishing.
unpublish_entryUnpublish an entry or multiple entries. Accepts either a single entryId (string) or an array of entryIds (up to 100 entries). For a single entry, it uses the standard unpublish operation. For multiple entries, it automatically uses bulk unpublishing.
create_environmentCreate a new environment
list_environmentsList all environments in a space
delete_environmentDelete an environment
list_spacesList all available spaces
get_spaceGet details of a space
list_tagsList all tags in a space. Returns all tags that exist in a given environment.
create_tagCreates a new tag and returns it. Both name and ID must be unique to each environment. Tag names can be modified after creation, but the tag ID cannot. The tag visibility can be set to public or private, defaulting to private if not specified.
get_content_typeGet details about a specific Contentful content type
list_content_typesList content types in a space. Returns a maximum of 10 items per request. Use skip parameter to paginate through results.
create_content_typeCreate a new content type
update_content_typeUpdate an existing content type. The handler will merge your field updates with existing content type data, so you only need to provide the fields and properties you want to change.
delete_content_typeDelete a content type
publish_content_typePublish a content type
unpublish_content_typeUnpublish a content type
Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.
fast-xml-parser has an entity encoding bypass via regex injection in DOCTYPE entity names
@modelcontextprotocol/sdk has cross-client data leak via shared server/transport instance reuse
Anthropic's MCP TypeScript SDK has a ReDoS vulnerability
Model Context Protocol (MCP) TypeScript SDK does not enable DNS rebinding protection by default
fast-xml-parser has RangeError DoS Numeric Entities Bug
PORTTool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
38/38 tools missing one or more hints — create_ai_action (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); invoke_ai_action (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_ai_action_invocation (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +35 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
License file
No license file
Add a LICENSE file (MIT, Apache-2.0, etc.).
Tests exist
No test files found
Add tests that exercise each declared tool.
Production dependencies are patched
1 critical, 6 high severity in production deps — fast-xml-parser@5.2.5 (critical), @modelcontextprotocol/sdk@1.17.1 (high)
Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.
Dependency freshness
1/7 production deps stale: outdent@2022-06-23 (4.2y)
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/renzoqcad/contentful-express-mcp-server)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check