# projects_list

Canonical HTML page: https://bitterclip.com/docs/assistants/tools/projects_list

Surface: default model and app

Product release: 1dce717408a55fac1047e7d779177fa3ef8ede51
Public contract commit: 1ce47f7857ae3d9b6933fe83d5c33de3ae5efc64
Public contract SHA-256: 241d47d25e4b4c1dae9d2263793874d06fc4ba7bc3c78d4cf2bc63fbb32ed7dc
Descriptor SHA-256: 885d46f3ca3939dec2ace0cd6e93611c8b3f741f2d8f7a82e0adfe1452cc9a9e
Captured: 2026-09-24T16:39:30.100Z
Source: https://app.bitterclip.com/api/v1/mcp_descriptors.json

List or find BitterClip projects/shows visible to this person, including projects shared with them. Use this before recordings_list or episodes_list when the user names a show/project, says a project was shared by another account, or needs the project_id for a shared shell. Pass query to filter by project title, description, or owning studio; multi-word queries tolerate punctuation differences (for example, "andrew adrian" can match "andrew & adrian"). Returned project_id values can be passed directly to recordings_list, episodes_list, and upload tools. To open a Project with workspace_open, pass target_type:"project" and that project_id as target_id.

The JSON blocks below are the exact MCP descriptor projections served by Rails for the named profiles at capture time. Security schemes and resource URIs may vary by connected host.

## Default model descriptor

```json
{
  "name": "projects_list",
  "title": "List projects",
  "description": "List or find BitterClip projects/shows visible to this person, including projects shared with them. Use this before recordings_list or episodes_list when the user names a show/project, says a project was shared by another account, or needs the project_id for a shared shell. Pass query to filter by project title, description, or owning studio; multi-word queries tolerate punctuation differences (for example, \"andrew adrian\" can match \"andrew & adrian\"). Returned project_id values can be passed directly to recordings_list, episodes_list, and upload tools. To open a Project with workspace_open, pass target_type:\"project\" and that project_id as target_id.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "query": {
        "type": "string",
        "description": "Optional case-insensitive filter across project title, description, owning studio name, and relationship (owned/shared)."
      }
    },
    "required": [],
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "securitySchemes": [
    {
      "type": "noauth"
    }
  ],
  "_meta": {
    "securitySchemes": [
      {
        "type": "noauth"
      }
    ]
  }
}
```

## App descriptor

```json
{
  "name": "projects_list",
  "title": "List projects",
  "description": "List or find BitterClip projects/shows visible to this person, including projects shared with them. Use this before recordings_list or episodes_list when the user names a show/project, says a project was shared by another account, or needs the project_id for a shared shell. Pass query to filter by project title, description, or owning studio; multi-word queries tolerate punctuation differences (for example, \"andrew adrian\" can match \"andrew & adrian\"). Returned project_id values can be passed directly to recordings_list, episodes_list, and upload tools. To open a Project with workspace_open, pass target_type:\"project\" and that project_id as target_id.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "query": {
        "type": "string",
        "description": "Optional case-insensitive filter across project title, description, owning studio name, and relationship (owned/shared)."
      }
    },
    "required": [],
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "securitySchemes": [
    {
      "type": "noauth"
    }
  ],
  "_meta": {
    "securitySchemes": [
      {
        "type": "noauth"
      }
    ]
  }
}
```

## Live Workspace descriptor

```json
{
  "name": "projects_list",
  "title": "List projects",
  "description": "List or find BitterClip projects/shows visible to this person, including projects shared with them. Use this before recordings_list or episodes_list when the user names a show/project, says a project was shared by another account, or needs the project_id for a shared shell. Pass query to filter by project title, description, or owning studio; multi-word queries tolerate punctuation differences (for example, \"andrew adrian\" can match \"andrew & adrian\"). Returned project_id values can be passed directly to recordings_list, episodes_list, and upload tools. To open a Project with workspace_get_link, pass target_type:\"project\" and that project_id as target_id.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "query": {
        "type": "string",
        "description": "Optional case-insensitive filter across project title, description, owning studio name, and relationship (owned/shared)."
      }
    },
    "required": [],
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "securitySchemes": [
    {
      "type": "noauth"
    }
  ],
  "_meta": {
    "securitySchemes": [
      {
        "type": "noauth"
      }
    ]
  }
}
```

## Errors

```json
[
  "invalid_input"
]
```

## Examples

```json
[
  {
    "label": "Find a shared show by name",
    "input": {
      "query": "Science Based AI"
    }
  },
  {
    "label": "List accessible projects",
    "input": {}
  }
]
```
