Safe, clone-first Strapi content operations over MCP
Strong foundation with 13 well-named tools following verb_noun convention (list_, find_, get_, inspect_, clone_, modify_, etc.). All tools have descriptions (avg 95 chars, within 10-1024 range). Input schemas present for all tools with typed parameters and descriptions. Key strengths: idempotency keys on write operations, hash-based optimistic locking, clear READ_ONLY vs WRITE risk classification. Weaknesses: output schemas not documented in source; error handling guidance minimal; no enum constraints on string parameters (e.g., 'locale' accepts free-form strings); descriptions lack 'when to use' context and dependency hints.
Clone a source page into a new draft and apply validated component operations with revision checks and post-write verification. Never updates, deletes, or publishes the source. Always preview first and pass its source hash.
Compare two pages field-by-field after removing Strapi system identifiers.
Duplicate one component inside an owned draft. New component IDs are generated by Strapi.
Find draft-visible pages by title or slug before inspecting one.
Get the exact Strapi schema and configurable fields for one component UID.
Inspect a draft only if this MCP service created and owns it.
Output schemas not documented. Tool descriptions state what is returned (e.g., 'ordered components plus revision hash') but formal output schema definitions are absent from source. LLMs cannot plan downstream tool calls without knowing return field names and types.
String parameters lack enum constraints. 'locale' parameter accepts free-form strings across multiple tools (find_pages, inspect_page, etc.) with no enumeration of valid locales. LLMs will hallucinate invalid locale values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2025-06-18+ | v2 |
Read a complete source page and return ordered components plus a revision hash. This never writes.
List component UIDs available in a project schema. Use before composing content.
List configured Strapi projects. Never exposes API tokens.
Modify only a draft previously created by this MCP service. Requires the latest draft hash and never modifies the source.
Validate component operations and preview their ordered diff. Never writes to Strapi.
Replace one component inside an owned draft while preserving every other component.
Validate an owned draft against local component schemas and verify its source is unchanged.
Descriptions lack 'when to use' context and dependency hints. E.g., 'preview_clone_and_modify' description does not explain that it should be called before 'clone_page_and_modify' to obtain the source hash. Agents cannot infer multi-step workflows.
Error handling guidance absent. No tool descriptions explain what to do if a call fails (e.g., 'If source hash mismatch, call inspect_page to refresh'). Agents have no recovery path on errors.
Parameter 'operations' array structure not documented. Tools accept 'operations' (max 100 items) but descriptions do not specify the schema of each operation object (required fields, allowed types, constraints). LLMs cannot construct valid operations.