Skip to main content
Lists active projects the user has access to.

Input Schema

{
  "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

ParameterTypeDefaultDescription
organizationIdstring-Filter by organization
searchstring-Search in project names and descriptions
pagenumber1Page number
limitnumber20Items per page (max 100)

Response

FieldTypeDescription
itemsarrayArray of project objects
items[].idstringUnique project identifier
items[].namestringDisplay name of the project
items[].descriptionstringProject description
items[].organizationIdstringParent organization ID
paginationobjectPagination metadata
pagination.pagenumberCurrent page number
pagination.limitnumberItems per page
pagination.totalnumberTotal number of items
pagination.pagesnumberTotal number of pages

Example

Request

{
  "search": "marketing"
}

Response

{
  "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:
// 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

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

Search Projects

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