Skip to main content
Glama

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). Before writing public text here, call getWritingGuidelines with this collection and the locale (brand voice, writing rules, fixed terms, SEO rules, taken keywords, field rules). 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

NameRequiredDescriptionDefault
idNoOptional: specific document ID to retrieve. If not provided, returns all documents
pageNoPage number for pagination (default: 1)
sortNoField to sort by (e.g., "createdAt", "-updatedAt" for descending)
depthNoHow many levels deep to populate relationships (default: 0)
draftNoOptional: Whether the document should be queried from the versions table/collection or not.
limitNoMaximum number of documents to return (default: 10, max: 100)
whereNoOptional JSON string for where clause filtering (e.g., '{"title": {"contains": "test"}}')
localeNoOptional: locale code to retrieve data in (e.g., "en", "es"). Use "all" to retrieve all locales for localized fields
selectNoOptional: define exactly which fields you'd like to return in the response (JSON), e.g., '{"title": true}'
fallbackLocaleNoOptional: fallback locale code to use when requested locale is not available

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does substantial work: it discloses that MCP deletes are hard-deletes that bypass the admin Trash, that binaries cannot be uploaded here and must come via addMediaFromUrl (admin-only), that drafts are unsupported, that public read is available via /api/agents, and that aiAutofillStatus is redacted. The only weakness is that these write/delete behaviors are attached to a tool whose schema is read-only, which could mislead an agent about what this call can actually do.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The content is dense and useful but poorly structured: the permanent-delete warning is repeated twice, parenthetical asides are stacked mid-sentence, and the operation verb is buried after the resource definition. For a find tool, a large share of the text is devoted to delete and upload caveats that do not apply to this call.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 10 parameters at full schema coverage and no output schema, the description fills the main remaining gap by enumerating the retrievable fields and flagging the getWritingGuidelines prerequisite. It is nearly complete for a retrieval tool, though it leaves the read-versus-write boundary unclear relative to what the schema actually accepts.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description goes further by enumerating the collection's fields (alt, title, caption, description, aiAutofillStatus, poster, copyrightHolder, copyrightLicense, copyrightUrl) with localized/enum/required notes, which directly informs how to build `select` and `where` filters. It also explains the semantic role of `id` for later references in upload-fields, adding meaning beyond the schema's 'specific document ID to retrieve.'

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening names the resource (content images, stock + uploads) but never cleanly states the operation this tool performs; the sentence 'MCP capabilities: find, update, delete' folds three operations into one description even though the input schema only supports retrieval. The resource is distinguishable from siblings like findPosts or findFaqs, but an agent scanning for a read tool has to infer that findMedia is the list/get operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is real routing guidance — 'Use `id` when referencing in upload-fields' and 'Before writing public text here, call getWritingGuidelines with this collection and the locale' — which tells the agent about a prerequisite sibling call. However, there is no statement of when to use findMedia versus alternatives, no exclusion of cases, and no mention of when the update/delete capabilities it advertises are actually reachable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources