Skip to main content
Glama

Find resources

find
Read-only

Find any resource in Clueso by type, optionally filtered by name or exact id. One tool for listing and searching across the workspace.

type: • projects | folders | tags | clueprints | workspaces (tags = the workspace's project tags, each with color and project_count. Apply them with update_project. Each project result carries its tags (names); filter projects by them with tags + tag_match.) • backgrounds | voices | fonts | image_gen_style_packs | element_components | animations | avatars (voices carry gender, tags, accent, engine and a description of tone, age, accent and use (the catalog's own, else ElevenLabs' labels: "calm, middle aged, american, male — good for narration"; a voice with neither has none), which is the field actually worth choosing on. tags is a small closed vocabulary, so it groups voices rather than telling them apart. Choose deliberately: voiceover is the film's clock, and regenerating speech later rescales the clip and every element time and keyframe with it.) • images | videos | music | sfx — media; each result carries a source ('org' = your saved-media library, 'stock' = a stock/curated provider). Scope with source, pick the library with provider (see below). Stock results are a short described shortlist — pick the best fit and use its src. Stock video results also carry safe_src and a video_files tier list with one entry marked recommended — use safe_src (or the recommended tier) in add_elements; tiers above 1080p can exceed its ~200MB source cap and fail. For a Freesound music/sfx result, src is an OPAQUE handle (not a playable URL) — pass it straight to add_audio and the original is fetched + hosted by Clueso server-side; detail:'full' adds a preview_url so you can tell what it sounds like. (fonts = the typefaces THIS WORKSPACE has uploaded as brand fonts (add one with upload_file purpose: 'font'), each with id and name. Pass a returned name as a text element's font_setting.font — that is the whole contract; you never pass the url. This list is the ONLY way to know which non-Google families actually exist here: a font_setting naming a family in neither this list nor Google Fonts silently renders Inter, with no error and a confident-looking layout.text_width_px measured against the wrong face. Check here before building a layout on a brand typeface.) (animations = reusable animations: this workspace's (tier 'org'), Clueso's official ones and the community library, ranked by usage with featured first. By default each row is compact: ref, title, entries (the names of its placeable entries), scope, tier, rev (latest revision), plus project_id, featured and dependency_update_available when they apply. detail:'full' returns every field instead: entry titles and parts, latest_rev, live_rev, uses and dependency_updates [{animation, pinned_rev, latest_rev}] (re-pin with animation.update_dependents('') in run_script). Place one with add_elements(element_type='animation', type_data: {animation: ref, entry}); read its code with read_animation. Filter with tier. New animations are saved to their video's project: pass project_id to include that project's, and a query also searches every other project's (each such row carries its project_id), so another film's kit can be found and imported by its ref.) (image_gen_style_packs = generation style presets for generate_media kind='image' style_id; element_components = saved components (e.g. animations) from THIS WORKSPACE only — there is no community library for components (unlike clueprints); each reports param_keys. Insert one AS-IS with add_elements(component_id=...), or generate a variant from it with base_component_id.) (avatars = AI presenter looks for add_elements element_type='avatar' — pass the id as type_data.avatarId. No query lists one default look per character; a query matches character and look names and returns every matching look. Each carries styles, engine, credits_per_minute and a preview_image.)

Filters (all optional): • query — for stock media it's the search phrase (real semantic search for provider='clueso'; provider keyword search otherwise). For clueprints a query runs a relevance-ranked search across your workspace + the global community library (search_summary, relevance_reason, tags, is_community, fork_count). For everything else it's a case-insensitive name substring. • provider — which stock library to search (ONE call, no merging). Choose by strength: images → 'pexels' (default; realistic photography) or 'pixabay' (illustrations, vectors, icons, clip-art — set image_type) videos → 'pexels' (default; real-world footage) or 'pixabay' (motion graphics — set video_type='animation') music → 'clueso' (default; our curated, brand-safe library with the best descriptions/search — try this FIRST) or 'freesound' (niche/genre tracks) sfx → 'freesound' (default; vast sound-effect library) or 'clueso' (curated sfx) • image_type — images + provider='pixabay': 'photo' | 'illustration' | 'vector' • video_type — videos + provider='pixabay': 'film' | 'animation' • id — exact id; returns just that one record (any type; for music/sfx a stock result's id or src, looked up directly) • source — media only: 'org' | 'stock' | 'all' (default = org + stock). Under 'all', stock is appended only when a query is given. sfx is stock only. • folder_id — projects + saved media (images/videos/music): restrict to a folder • tags / tag_match — projects only: keep projects carrying the named tags (names match ignoring case; list them with find(type='tags')). tag_match 'any' (default) = at least one of them, 'all' = every one, same as the home page's Tags filter. A name the workspace doesn't have matches nothing. • engine / language — voices only • creator_id / mine_only — clueprints only • orientation — stock images/videos: 'landscape' | 'portrait' | 'square' • color — stock images: a color name/hex, e.g. 'blue' • size — stock videos: 'large' | 'medium' | 'small' • min_duration / max_duration — stock videos + freesound audio: length bounds in seconds • page / limit — paging for large sets (projects, components, clueprints, animations — a clueprint list is sliced to the limit with no marker when more exist, so page through rather than assuming the first page is everything). limit caps every type, stock media included (a stock shortlist has no further pages); a capped reply says how many it left out. • detail — animations, voices, music, sfx, fonts: 'compact' (default; the essentials, 8 rows unless you pass limit; fonts list them all) or 'full' (every field: preview urls, thumbnails, attribution, rhythm detail, full descriptions)

Returns { type, count, items: [{ id, name, type, ... }] }. Feed the returned id straight into the consuming tool (set_voice, update_clips background, generate_media style_id, add_audio src, use_clueprint, etc.). Any duration on a returned item is in SECONDS — pass it straight to add_audio's source_duration.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoExact id — returns just that record.
pageNoPage (default 1) — projects/element_components/clueprints/animations.
sizeNostock videos only: minimum resolution bucket.
tagsNoprojects only: tag names; keeps projects carrying them (see tag_match).
tierNoanimations only: 'org' (this workspace), 'official' (Clueso's) or 'community'. Default all three.
typeYesResource type to find.
colorNostock images only: color name or hex, e.g. 'blue'.
limitNoPage size, and a cap on every type, stock media included (default 8 for voices, music and sfx, every font for fonts, 50 otherwise; a '_more' item or a note says when more exist).
queryNoCase-insensitive substring match on name.
detailNoanimations, voices, music, sfx, fonts: 'compact' (default) — the essentials to choose and use one (animations: ref, title, entry names, scope, tier, rev; voices: id, name, gender, accent, engine, tags, a short description; music/sfx: id, name, src, duration, bpm, tags, a short description; fonts: id, name); 'full' — every field (preview urls, thumbnails, attribution, rhythm, full descriptions; for animations entry parts, uses, dependency_updates).
engineNovoices only: 'eleven' | 'cartesia' | 'google'.
sourceNomedia types (images/videos/music/sfx) only: where to search — 'org' (your saved workspace media), 'stock' (stock library — images/videos via Pexels, music from Clueso's catalog), 'all' (both; default). sfx is stock-only.
languageNovoices only: e.g. 'en'.
providerNostock media: which library to search (exactly one). images/videos: 'pexels' (default — polished real-world photos & footage) | 'pixabay' (illustrations, vectors, clip-art, icons + more variety; pair with image_type/video_type). music/sfx: 'clueso' (default for music — our curated, brand-safe, well-described library, best semantic search) | 'freesound' (huge community library; best for niche music and sound effects — default for sfx).
folder_idNoprojects/images/videos/music only: restrict to a folder.
mine_onlyNoclueprints only: only ones I created.
tag_matchNoprojects only, with tags: 'any' (default) = at least one of the tags, 'all' = every one of them.
creator_idNoclueprints only: filter by creator id.
image_typeNostock images + provider='pixabay' only: 'photo' | 'illustration' | 'vector' (flat/drawn graphics, icons, clip-art). Use illustration/vector for graphic looks; photo (or Pexels) for realism.
project_idNoanimations only: also list the animations saved to this project (they are hidden everywhere else).
video_typeNostock videos + provider='pixabay' only: 'film' (live footage) | 'animation' (motion graphics).
orientationNostock images/videos only: result orientation.
max_durationNostock videos + freesound audio: maximum clip length in seconds.
min_durationNostock videos only: minimum clip length in seconds.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / tag_match
      Added value: +{
      +  "description": "projects only, with tags: 'any' (default) = at least one of the tags, 'all' = every one of them.",
      +  "enum": [
      +    "any",
      +    "all"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / tags
      Added value: +{
      +  "description": "projects only: tag names; keeps projects carrying them (see tag_match).",
      +  "items": {
      +    "maxLength": 40,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 50,
      +  "type": "array"
      +}
    • changedInput schema / properties / type / enum
      Previous value: -[
      -  "projects",
      -  "folders",
      -  "clueprints",
      -  "workspaces",
      -  "backgrounds",
      -  "voices",
      -  "fonts",
      -  "image_gen_style_packs",
      -  "element_components",
      -  "animations",
      -  "avatars",
      -  "images",
      -  "videos",
      -  "music",
      -  "sfx"
      -]New value: +[
      +  "projects",
      +  "folders",
      +  "tags",
      +  "clueprints",
      +  "workspaces",
      +  "backgrounds",
      +  "voices",
      +  "fonts",
      +  "image_gen_style_packs",
      +  "element_components",
      +  "animations",
      +  "avatars",
      +  "images",
      +  "videos",
      +  "music",
      +  "sfx"
      +]
  2. Changed6 schema fields changed
    • addedInput schema / properties / detail
      Added value: +{
      +  "description": "animations, voices, music, sfx, fonts: 'compact' (default) — the essentials to choose and use one (animations: ref, title, entry names, scope, tier, rev; voices: id, name, gender, accent, engine, tags, a short description; music/sfx: id, name, src, duration, bpm, tags, a short description; fonts: id, name); 'full' — every field (preview urls, thumbnails, attribution, rhythm, full descriptions; for animations entry parts, uses, dependency_updates).",
      +  "enum": [
      +    "compact",
      +    "full"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / limit / description
      Previous value: -"Page size (default 50; voices default 5 — a '_more' item flags further pages)."New value: +"Page size, and a cap on every type, stock media included (default 8 for voices, music and sfx, every font for fonts, 50 otherwise; a '_more' item or a note says when more exist)."
    • changedInput schema / properties / page / description
      Previous value: -"Page (default 1) — projects/element_components/clueprints."New value: +"Page (default 1) — projects/element_components/clueprints/animations."
    • addedInput schema / properties / project_id
      Added value: +{
      +  "description": "animations only: also list the animations saved to this project (they are hidden everywhere else).",
      +  "type": "string"
      +}
    • addedInput schema / properties / tier
      Added value: +{
      +  "description": "animations only: 'org' (this workspace), 'official' (Clueso's) or 'community'. Default all three.",
      +  "enum": [
      +    "org",
      +    "official",
      +    "community"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / type / enum
      Previous value: -[
      -  "projects",
      -  "folders",
      -  "clueprints",
      -  "workspaces",
      -  "backgrounds",
      -  "voices",
      -  "fonts",
      -  "image_gen_style_packs",
      -  "element_components",
      -  "avatars",
      -  "images",
      -  "videos",
      -  "music",
      -  "sfx"
      -]New value: +[
      +  "projects",
      +  "folders",
      +  "clueprints",
      +  "workspaces",
      +  "backgrounds",
      +  "voices",
      +  "fonts",
      +  "image_gen_style_packs",
      +  "element_components",
      +  "animations",
      +  "avatars",
      +  "images",
      +  "videos",
      +  "music",
      +  "sfx"
      +]
  3. Changed1 schema field changed
    • changedInput schema / properties / type / enum
      Previous value: -[
      -  "projects",
      -  "folders",
      -  "clueprints",
      -  "workspaces",
      -  "backgrounds",
      -  "voices",
      -  "fonts",
      -  "image_gen_style_packs",
      -  "element_components",
      -  "images",
      -  "videos",
      -  "music",
      -  "sfx"
      -]New value: +[
      +  "projects",
      +  "folders",
      +  "clueprints",
      +  "workspaces",
      +  "backgrounds",
      +  "voices",
      +  "fonts",
      +  "image_gen_style_packs",
      +  "element_components",
      +  "avatars",
      +  "images",
      +  "videos",
      +  "music",
      +  "sfx"
      +]
  4. Changed1 schema field changed
    • changedInput schema / properties / type / enum
      Previous value: -[
      -  "projects",
      -  "folders",
      -  "clueprints",
      -  "workspaces",
      -  "backgrounds",
      -  "voices",
      -  "image_gen_style_packs",
      -  "element_components",
      -  "images",
      -  "videos",
      -  "music",
      -  "sfx"
      -]New value: +[
      +  "projects",
      +  "folders",
      +  "clueprints",
      +  "workspaces",
      +  "backgrounds",
      +  "voices",
      +  "fonts",
      +  "image_gen_style_packs",
      +  "element_components",
      +  "images",
      +  "videos",
      +  "music",
      +  "sfx"
      +]
  5. Changed4 schema fields changed
    • removedInput schema / properties / context
      Removed value: -{
      -  "description": "Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a user\", \"the customer\", or \"an account\". Example: \"Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution.\"",
      -  "type": "string"
      -}
    • removedInput schema / properties / conversation_id
      Removed value: -{
      -  "description": "Echo the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it.",
      -  "type": "string"
      -}
    • removedInput schema / properties / llm_model
      Removed value: -{
      -  "description": "The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. \"claude-opus-4-8\", \"gpt-5.2\"). Used for analytics only. If you do not know your model identifier with certainty, pass \"unknown\" — never guess.",
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "type",
      -  "context",
      -  "llm_model"
      -]New value: +[
      +  "type"
      +]
  6. Changed4 schema fields changed
    • addedInput schema / properties / context
      Added value: +{
      +  "description": "Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a user\", \"the customer\", or \"an account\". Example: \"Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution.\"",
      +  "type": "string"
      +}
    • addedInput schema / properties / conversation_id
      Added value: +{
      +  "description": "Echo the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it.",
      +  "type": "string"
      +}
    • addedInput schema / properties / llm_model
      Added value: +{
      +  "description": "The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. \"claude-opus-4-8\", \"gpt-5.2\"). Used for analytics only. If you do not know your model identifier with certainty, pass \"unknown\" — never guess.",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "type"
      -]New value: +[
      +  "type",
      +  "context",
      +  "llm_model"
      +]
  7. Changed5 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / max_duration / maximum
      Added value: +9007199254740991
    • addedInput schema / properties / min_duration / maximum
      Added value: +9007199254740991
    • addedInput schema / properties / page / maximum
      Added value: +9007199254740991
  8. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare readOnly/openWorld/non-destructive; the description discloses far more that annotations cannot: silent font fallback to Inter with a misleading layout.text_width_px, Freesound `src` being an opaque non-playable handle, stock tiers above 1080p exceeding the ~200MB cap and failing, clueprint lists being sliced with no marker, and per-type default row limits. These are exactly the failure modes an agent needs to avoid.

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

Conciseness4/5

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

It is front-loaded with the core contract and well organized into per-type bullets with filters separated out, so the structure is sound. It is nonetheless very long and dense with nested parentheticals, and several filter explanations repeat the schema verbatim, so it is not maximally economical.

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

Completeness5/5

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

For a 24-parameter, 16-type polymorphic tool with no output schema, the description covers the return shape ({ type, count, items }), the units contract (durations in seconds), pagination and truncation behavior, and the cross-tool handoff for each resource type. Nothing an agent needs in order to call it correctly is missing.

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% and the schema text is itself verbose, so the baseline is 3; the description earns an extra point by adding interpretation the schema lacks, e.g. source='all' appends stock only when a query is given, sfx is stock-only, and a tag name the workspace doesn't have matches nothing. Much of the provider/source/detail text, however, is near-duplicated from the schema descriptions rather than adding new meaning.

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

Purpose4/5

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

The opening sentence gives a specific verb, resource and scope: 'Find any resource in Clueso by type, optionally filtered by name or exact id. One tool for listing and searching across the workspace.' That clearly separates it from the add_*/update_* siblings, but it never disambiguates against the get_* siblings (get_project, get_clueprint, get_element_schema) that an agent could plausibly reach for instead, so it stops short of full sibling differentiation.

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

Usage Guidelines5/5

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

The description actively routes the agent rather than just describing fields: provider choice is given per media type with strengths ('clueso ... try this FIRST' for music), fonts carry an explicit prerequisite ('Check here before building a layout on a brand typeface'), voices carry a design warning ('Choose deliberately: voiceover is the film's clock'), and there are explicit when-not notes ('No query lists one default look per character'). It also states how results flow into consuming tools (set_voice, add_audio, generate_media style_id, use_clueprint).

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.