update_entry
Update an existing content entry by its ID with partial or full field data as a JSON string. Only the fields included in the data will be modified while other fields remain unchanged. Use get_entry first to see current values before making changes.
delete_entry
Permanently delete a content entry by its ID from the specified content type. This action is irreversible and removes the entry and its associated data from Strapi. Use get_entry first to verify you are deleting the correct entry.
upload_media
Upload a file to the Strapi media library from a public URL or base64-encoded data. Supports images, documents, videos, and any file type allowed by Strapi configuration. The uploaded file can then be linked to content entries via relation fields.
list_media
List files in the Strapi media library with pagination support. Returns file details including name, URL, MIME type, dimensions, and metadata for each asset. Use this to browse available media before linking files to content entries.
delete_media
Permanently delete a file from the Strapi media library by its numeric ID. This removes the file from storage and breaks any references to it in content entries. Use list_media first to find the correct file ID before deleting.
publish_entry
Publish a draft content entry to make it publicly visible via the Strapi API. On Strapi v5 uses the dedicated publish action endpoint, on v4 sets the publishedAt timestamp. Use list_entries with status draft to find unpublished entries.
unpublish_entry
Unpublish a live content entry, reverting it to draft status so it is no longer publicly visible. On Strapi v5 uses the dedicated unpublish endpoint, on v4 sets publishedAt to null. The entry data is preserved and can be re-published later.
discard_draft
Discard unsaved draft changes on a content entry, reverting to the last published version. This is only available on Strapi v5 which has a separate draft layer. Use this to abandon draft edits without affecting the published version.
list_locales
List all locales configured in the Strapi i18n plugin with their codes and display names. Returns each locale code, display name, and whether it is the default locale. Use this to discover available languages before creating or querying localized content.
get_localized_entry
Retrieve a specific localized version of a content entry by its ID and locale code. Returns the full entry data in the requested language including all populated relations. Use list_locales first to see available locale codes for translation workflows.
search_entries
Search for content entries matching a text query within a specific content type. Uses case-insensitive containment filters on string fields to find matching entries. Specify search_fields to narrow the search or leave empty to search common text fields.
count_entries
Count the total number of entries in a content type, optionally filtered by criteria. Makes a lightweight API call requesting only pagination metadata for efficient counting. Use this to understand dataset sizes before bulk operations or verify migrations.
bulk_action
Execute a bulk operation on multiple content entries: create, update, delete, publish, or unpublish. Processes each entry sequentially with per-entry error handling so individual failures do not abort the batch. Returns a detailed summary of successes and failures.
get_strapi_info
Retrieve comprehensive information about the connected Strapi instance including version, plugins, and content types. Detects Strapi version (v4 or v5), counts content types, lists plugins, and checks locales. Use this as the first call when connecting to a new instance.