findMedia
Content images (stock + uploads). MCP can READ + UPDATE metadata (alt-text, copyright) + DELETE (⚠ PERMANENT — the admin Trash does NOT catch MCP deletes); binaries come via the addMediaFromUrl tool, not raw upload (admin-only). Use id when referencing in upload-fields. media collection. Drafts: no. Public read: yes via /api/agents. MCP capabilities: find, update, delete. ⚠ delete is PERMANENT (hard-delete; the admin Trash does NOT catch MCP deletes). Fields: alt (localized, required), title (localized), caption (localized), description (textarea, localized), aiAutofillStatus (enum: pending|done|error (AI generation error)|skipped, redacted), poster (rel: media), copyrightHolder, copyrightLicense (enum: all-rights-reserved|own-work|stock-licensed (Licensed (stock))|cc0 (CC0 (Public Domain))|cc-by|cc-by-sa|+2), copyrightUrl.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Optional: specific document ID to retrieve. If not provided, returns all documents | |
| page | No | Page number for pagination (default: 1) | |
| sort | No | Field to sort by (e.g., "createdAt", "-updatedAt" for descending) | |
| depth | No | How many levels deep to populate relationships (default: 0) | |
| draft | No | Optional: Whether the document should be queried from the versions table/collection or not. | |
| limit | No | Maximum number of documents to return (default: 10, max: 100) | |
| where | No | Optional JSON string for where clause filtering (e.g., '{"title": {"contains": "test"}}') | |
| locale | No | Optional: locale code to retrieve data in (e.g., "en", "es"). Use "all" to retrieve all locales for localized fields | |
| select | No | Optional: define exactly which fields you'd like to return in the response (JSON), e.g., '{"title": true}' | |
| fallbackLocale | No | Optional: fallback locale code to use when requested locale is not available |