> ## Documentation Index
> Fetch the complete documentation index at: https://docs.metabind.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Search Content Types

> Search for content types using filters or semantic search

Search for content types using standard filters or semantic search.

## Input Schema

```json theme={null}
{
  "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."
    },
    "status": {
      "type": "string",
      "enum": ["draft", "modified", "published", "unpublished", "deleted"]
    },
    "tags": {
      "type": "array",
      "items": { "type": "string" }
    },
    "page": {
      "type": "number",
      "default": 1
    },
    "limit": {
      "type": "number",
      "default": 20,
      "maximum": 100
    }
  }
}
```

## Parameters

| Parameter | Type | Default | Description |
| - | - | - | - |
| `projectId` | string | session default | Project to search in |
| `query` | string | - | Natural language semantic search query |
| `status` | string | all except deleted | Filter by status |
| `tags` | string\[] | - | Filter by tags |
| `page` | number | 1 | Page number |
| `limit` | number | 20 | Items per page (max 100) |

## Response

| Field | Type | Description |
| - | - | - |
| `contentTypes` | array | Array of content type objects |
| `contentTypes[].id` | string | Unique content type identifier |
| `contentTypes[].name` | string | Display name |
| `contentTypes[].description` | string | Structured markdown description |
| `contentTypes[].status` | string | Publication status |
| `contentTypes[].version` | number | Version number |
| `contentTypes[].typeVersion` | number | Schema version number |
| `contentTypes[].excerpt` | string | Relevant text excerpt (with `query`) |
| `contentTypes[].similarity` | number | Similarity score 0-1 (with `query`) |
| `total` | number | Number of items in this response |

<Note>
  The `schema` field is intentionally excluded from search results to minimize token usage. Use `get_type` for full schemas.
</Note>

## Example

### Request

```json theme={null}
{
  "query": "interactive stories"
}
```

### Response

```json theme={null}
{
  "contentTypes": [
    {
      "id": "ct_story_001",
      "name": "Story",
      "description": "Interactive story content type for long-form narrative experiences.",
      "status": "published",
      "version": 1,
      "typeVersion": 1,
      "excerpt": "...photo galleries, and structured text sections...",
      "similarity": 0.92
    }
  ],
  "total": 1
}
```

## Usage

### Semantic Search

Search using natural language:

```javascript theme={null}
const result = await mcp.call("search_types", {
  query: "content for blog posts"
});
```

### Filter by Status

Find draft content types:

```javascript theme={null}
const result = await mcp.call("search_types", {
  status: "draft"
});
```

### Filter by Tags

Find content types with specific tags:

```javascript theme={null}
const result = await mcp.call("search_types", {
  tags: ["marketing", "landing-page"]
});
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.