USE CASES

Tell your agent exactly what safe means.

These prompts work with Codex, Claude, Cursor, custom agents, and other MCP clients. Replace the angle-bracket placeholders with your project values. Begin read-only, review a preview, then authorize a draft.

A reliable prompt structure

1. Name the project and sourceUse an exact project name plus a document ID or slug.
2. Inspect before selectingAsk for indexed component order and schemas before making changes.
3. Preview before writingReview hashes, the proposed slug, changed paths, and final order.
4. Verify after writingValidate, compare, re-fetch, and confirm the source hash is unchanged.
npm 0.3.0 supports schema-first collections, single types and media, plus page cloning and opt-in draft editing. Inspect the exact schema and API, review a persisted preview, then apply the authorized request. Draft content is never published automatically.
START HERE

Read-only project discovery

Confirm the connection and understand the content model before allowing any write.

Copy this prompt
Use the configured Safe Strapi MCP server.

1. List projects and content types.
2. Inspect <content-type-uid> with inspect_content_type.
3. Read its schema, components, sample records and REST contract.
4. Research its routes, controllers, services, lifecycle hooks and frontend routing.
5. Find existing entries and inspect the relevant record.

Do not create, update, delete, or publish anything.
COLLECTION ENTRY

Create News in three linked languages

Inspect the News schema, resolve real assets and create translations on the same document.

Copy this prompt
Use Safe Strapi for <project-name>. Inspect the exact News UID with inspect_content_type. Research the type's API implementation and frontend language routes. Read <article-file> and prepare content for <source-locale>, <locale-two> and <locale-three>.

Resolve existing media and category IDs through read tools. Preview the source entry with preview_entry_write and show the exact fields, endpoint, visibility and hashes. Apply the authorized preview with apply_entry_write. Preview each translation with action=localize on the SAME documentId, using the shared slug where language prefixes distinguish routes. Never POST separate translation records.

Re-fetch all three locales, verify content, assets, links and unchanged published versions. Use API tools only; never fall back to browser/admin UI or shell writes. Do not publish.
SINGLE TYPE

Update settings from their actual schema

Use the singleton endpoint and review every requested field before updating.

Copy this prompt
Use Safe Strapi for <project-name>. Inspect <single-type-uid> and its API/source behavior, then get_entry without a documentId.

Preview only <field-changes> with action=update and the persisted inspectionId. Enable allowEntryEditing only for this authorized task. Show the exact PUT request, before/after values, visibility and hashes. Apply the approved persisted preview, re-fetch and verify unchanged fields. If Draft & Publish is disabled, disclose immediate visibility and require explicit approval.
MEDIA

Upload a reviewed image through the API

Reuse existing assets or upload the exact file and verify its saved metadata.

Copy this prompt
Use Safe Strapi for <project-name>. Search list_media for an existing matching asset first. If a new file is needed, preview_media_upload for <absolute-file-path> with alternativeText=<alt-text> and caption=<caption>.

Show the file hash, destination, metadata and immediate Media Library visibility. After approval, call upload_media with its exact previewId, expectedOperationHash and stable idempotencyKey. Verify the returned media ID and metadata before referencing it in an entry. Never blindly retry an unknown upload outcome.
BASIC

Update copy on a safe draft

Clone a page and patch one known component without touching the source.

Copy this prompt
Use Safe Strapi for project <project-name>. Find and inspect <page-slug>.

Preview a clone that changes the title field on component index <index> to:
"<new-title>"

Show the source hash, operation hash, proposed slug, and exact changed paths. Do not write until I approve the preview.
STRUCTURED CONTENT

Insert a component from JSON

Validate supplied JSON against the live project schema, then place it precisely.

Copy this prompt
Use Safe Strapi for project <project-name>. Inspect <page-slug> and fetch the schema for <component-uid>.

Validate this JSON against that schema:
<json-payload>

Preview a cloned draft that inserts it after component index <index>. Preserve every field on every existing component. Do not write yet.
REORDERING

Move, duplicate, or replace a block

Use explicit zero-based indexes so repeated component types never become ambiguous.

Copy this prompt
Inspect <page-slug> in <project-name> and show the current indexed component order.

On a cloned draft only:
- move component index <from-index> after index <target-index>
- duplicate component index <duplicate-index> at the end
- replace component index <replace-index> with <component-json>

Preview the sequential result first. If any selector is ambiguous or invalid, stop and explain it.
LONG PAGE

Protect a 100+ component page

Make several targeted changes while explicitly checking that unrelated fields survive.

Copy this prompt
Inspect the complete <page-slug> page in <project-name> and capture its source hash.

Preview these operations in order on a clone:
1. Patch component #50 with <changes>.
2. Move component #80 after component #10.
3. Insert <component-json> after component #25.

Use explicit indexes and a stable idempotency key. After creation, re-fetch the draft, validate it, compare it with the source, and confirm that every field outside the approved changes is preserved. Re-fetch the source and prove its hash is unchanged. Never publish.
TEAM WORKFLOW

Create a review-ready campaign draft

Turn a content brief into a named draft that editors can review in Strapi.

Copy this prompt
Use Safe Strapi to create a review draft from <source-page> in <project-name>.

Brief:
<campaign-brief>

First inspect the page and relevant component schemas. Propose the smallest set of component operations and preview them. Use clone slug <review-slug> and title suffix " (Content Review)". After I approve, create the draft, validate it, compare it with the source, and return a concise review summary. Do not publish.
RECOVERY

Respond safely to a conflict

Never force a stale operation through after another editor or agent changes content.

Copy this prompt
Continue the Safe Strapi operation only if the current source and draft hashes match the last inspected hashes.

If you receive SOURCE_CHANGED or DRAFT_CHANGED, stop, inspect again, and show what changed before proposing a new preview. If you receive WRITE_OUTCOME_UNKNOWN, do not retry the create automatically. Never reuse an idempotency key for different operations.
OPT-IN · DRAFT EDITING

Edit the middle component without cloning

Use the same document draft with preserved IDs and surrounding content. Requires npm 0.3.0 and project opt-in.

Copy this prompt
Use Safe Strapi for <project-name>. Confirm preview_modify_page and modify_page are available and list_projects reports allowInPlaceEditing=true.

Inspect existing page <document-id> and the schema for component index <index>. Preview only this patch with preview_modify_page:
<field-changes>

Preserve every other block and existing component ID. Show differences, pageHash and operationHash. Do not write until I approve. After approval, call modify_page with the exact operations, both returned hashes and a stable idempotency key. Re-inspect the same document and verify the result. Do not clone, clear fields, replace arrays or publish.
OPT-IN · DRAFT EDITING

Insert between existing components

Add a component to the existing draft while keeping old blocks in their relative order.

Copy this prompt
Use Safe Strapi for <project-name> with direct draft editing explicitly enabled. Inspect existing page <document-id> and get the schema for <component-uid>.

Prepare <component-json> with all schema attributes, explicit null/empty values for unused fields and no component IDs. Preview an insert after component index <index> with preview_modify_page. Do not remove or replace existing blocks.

After I approve the preview, apply it with modify_page using its pageHash, operationHash and a stable idempotency key. Re-inspect and verify the inserted block and all preserved IDs. Never publish. If this feature is unavailable in the installed package, upgrade to npm 0.3.0 and restart the MCP client before continuing.

Test a remote CMS on one disposable draft

The step-by-step acceptance guide includes prompts and verified results for creation, middle/nested edits, rollback, insertion, optional copy clearing, component removal, and conflict handling. Original draft and published pages remained unchanged.

Clearing/removal use the owned-draft workflow and may regenerate component IDs. Direct patch/insert/rollback preserve IDs and reject removal. No page records were deleted and nothing was published. Public frontend visibility was not verified.

Let an AI client read this guide

Give your agent the raw guide URL and ask it to choose the safest matching workflow. The Markdown version contains tool rules, placeholders, and every prompt without page chrome.

Prompt for your agent
Read https://safe-strapi-mcp.metehankasapp.workers.dev/prompts.md
Choose the safest matching Safe Strapi workflow for my request.
Start read-only and do not write until you show me a preview.

Discovery metadata is also available at /llms.txt.