> ## 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.

# List Projects

> List available projects

Lists active projects the user has access to.

## Input Schema

```json theme={null}
{
  "type": "object",
  "properties": {
    "organizationId": {
      "type": "string",
      "description": "Filter by organization (optional)"
    },
    "search": {
      "type": "string",
      "description": "Search in project names and descriptions (optional)"
    },
    "page": {
      "type": "number",
      "default": 1
    },
    "limit": {
      "type": "number",
      "default": 20,
      "maximum": 100
    }
  }
}
```

## Parameters

| Parameter        | Type   | Default | Description                              |
| ---------------- | ------ | ------- | ---------------------------------------- |
| `organizationId` | string | -       | Filter by organization                   |
| `search`         | string | -       | Search in project names and descriptions |
| `page`           | number | 1       | Page number                              |
| `limit`          | number | 20      | Items per page (max 100)                 |

## Response

| Field                    | Type   | Description                 |
| ------------------------ | ------ | --------------------------- |
| `items`                  | array  | Array of project objects    |
| `items[].id`             | string | Unique project identifier   |
| `items[].name`           | string | Display name of the project |
| `items[].description`    | string | Project description         |
| `items[].organizationId` | string | Parent organization ID      |
| `pagination`             | object | Pagination metadata         |
| `pagination.page`        | number | Current page number         |
| `pagination.limit`       | number | Items per page              |
| `pagination.total`       | number | Total number of items       |
| `pagination.pages`       | number | Total number of pages       |

## Example

### Request

```json theme={null}
{
  "search": "marketing"
}
```

### Response

```json theme={null}
{
  "items": [
    {
      "id": "proj_123",
      "name": "Marketing Website",
      "description": "Main marketing website content",
      "organizationId": "org_456"
    },
    {
      "id": "proj_124",
      "name": "Marketing Mobile App",
      "description": "Mobile app for marketing campaigns",
      "organizationId": "org_456"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 2,
    "pages": 1
  }
}
```

## Usage

Use this tool to discover available projects before setting context:

```javascript theme={null}
// List all projects
const result = await mcp.call("list_projects", {});

// Display projects to help select one
for (const project of result.items) {
  console.log(`${project.name} (${project.id}) - ${project.description}`);
}

// Set context to the first project
await mcp.call("set_project", { projectId: result.items[0].id });
```

### Filter by Organization

```javascript theme={null}
// List projects for a specific organization
const result = await mcp.call("list_projects", {
  organizationId: "org_456"
});
```

### Search Projects

```javascript theme={null}
// Search for projects by name or description
const result = await mcp.call("list_projects", {
  search: "design system"
});
```
