Skip to main content
Search for assets using standard filters or semantic search.
Assets must be uploaded through the Metabind interface before they can be referenced in content. The MCP tools provide discovery and search capabilities, not upload functionality.

Input Schema

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "Project ID (optional, uses session default if not provided)"
    },
    "query": {
      "type": "string",
      "description": "Natural language query for semantic search. When provided, results are ranked by relevance."
    },
    "type": {
      "type": "string",
      "description": "Filter by MIME type or category (image/*, video/*, etc.)"
    },
    "tags": {
      "type": "array",
      "items": { "type": "string" },
      "description": "Filter by tags. Accepts tag names or IDs."
    },
    "page": {
      "type": "number",
      "default": 1,
      "description": "Page number for paginated results (1-based indexing)"
    },
    "limit": {
      "type": "number",
      "default": 20,
      "maximum": 100,
      "description": "Maximum items to return per page"
    }
  }
}

Parameters

ParameterTypeDefaultDescription
projectIdstringsession defaultProject to search in
querystring-Natural language semantic search query
typestring-Filter by MIME type (e.g., image/jpeg, image/*)
tagsstring[]-Filter by tags
pagenumber1Page number
limitnumber20Items per page (max 100)

Response

FieldTypeDescription
itemsarrayArray of asset objects
items[].idstringUnique asset identifier
items[].namestringDisplay name for the asset
items[].descriptionstringAsset description or metadata
items[].typestringMIME type of the asset
items[].urlstringCDN URL for accessing the asset
items[].dimensionsobjectAsset dimensions (for images/videos)
items[].dimensions.widthnumberWidth in pixels
items[].dimensions.heightnumberHeight in pixels
items[].sizenumberFile size in bytes
items[].tagsstring[]Categorization tags
items[].similaritynumberSimilarity score 0-1 (when query is used)
totalnumberTotal number of matching items

Examples

Search for assets using natural language:
{
  "query": "team collaboration workspace"
}
Response:
{
  "items": [
    {
      "id": "asset-workspace-001",
      "name": "Workspace Collaboration",
      "description": "The Acme design team collaborating on the new unified component library at their San Francisco headquarters.",
      "type": "image/jpeg",
      "url": "https://cdn.metabind.ai/org123/proj123/assets/workspace-collaboration.jpg",
      "dimensions": {
        "width": 2048,
        "height": 1366
      },
      "size": 524288,
      "tags": ["team", "collaboration", "design-system"],
      "similarity": 0.95
    }
  ],
  "total": 1
}

Filter by Type

Find all JPEG images:
{
  "type": "image/jpeg"
}

Filter by Tags

Find assets with specific tags:
{
  "tags": ["hero", "banner"]
}

Combined Filters

Search for hero images using semantic search:
{
  "query": "professional office environment",
  "type": "image/*",
  "tags": ["hero"]
}

Common MIME Types

TypeDescription
image/jpegJPEG images
image/pngPNG images
image/gifGIF images
image/webpWebP images
image/svg+xmlSVG graphics
video/mp4MP4 videos
video/webmWebM videos
application/pdfPDF documents
Use image/* or video/* to match all images or videos respectively.

Using Assets in Content

When creating content, reference assets by their ID:
{
  "asset": {
    "id": "asset-workspace-001"
  }
}
The full asset details (URL, dimensions, etc.) are resolved automatically when the content is rendered.
Always verify asset IDs exist before referencing them in content. Use search_assets to find valid asset IDs. Non-existent asset references will cause validation errors during content creation.