list_repositories
Retrieve and filter repositories from a Bitbucket Cloud workspace with paginated results, sorting, and role-based access.
Instructions
List repositories in a workspace. Returns paginated results with repository details.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| workspace | Yes | The workspace slug | |
| role | No | Filter by role | |
| q | No | Query string for filtering | |
| sort | No | Sort field (e.g., "-updated_on") | |
| page | No | Page number | |
| pagelen | No | Results per page (max 100) |
Implementation Reference
- src/api/repositories.ts:16-22 (handler)Core handler function that executes the Bitbucket API request to list repositories in a workspace.async list(params: ListRepositoriesParams): Promise<PaginatedResponse<BitbucketRepository>> { const { workspace, ...queryParams } = params; return this.client.get<PaginatedResponse<BitbucketRepository>>( `/repositories/${workspace}`, queryParams as Record<string, string | number | undefined> ); }
- src/tools/index.ts:904-907 (handler)MCP tool handler dispatch that validates input schema and calls the RepositoriesAPI.list method.case 'list_repositories': { const params = toolSchemas.list_repositories.parse(args); return this.repos.list(params); }
- src/tools/index.ts:308-328 (registration)Tool registration in the toolDefinitions array, including name, description, and input schema for MCP.{ name: 'list_repositories', description: 'List repositories in a workspace. Returns paginated results with repository details.', inputSchema: { type: 'object' as const, properties: { workspace: { type: 'string', description: 'The workspace slug' }, role: { type: 'string', enum: ['owner', 'admin', 'contributor', 'member'], description: 'Filter by role', }, q: { type: 'string', description: 'Query string for filtering' }, sort: { type: 'string', description: 'Sort field (e.g., "-updated_on")' }, page: { type: 'number', description: 'Page number' }, pagelen: { type: 'number', description: 'Results per page (max 100)' }, }, required: ['workspace'], }, },
- src/tools/index.ts:14-21 (schema)Zod schema definition for input parameters of list_repositories tool.list_repositories: z.object({ workspace: z.string().describe('The workspace slug'), role: z.enum(['owner', 'admin', 'contributor', 'member']).optional().describe('Filter by role'), q: z.string().optional().describe('Query string for filtering'), sort: z.string().optional().describe('Sort field (e.g., "-updated_on")'), page: z.number().optional().describe('Page number'), pagelen: z.number().optional().describe('Results per page (max 100)'), }),
- src/types/index.ts:259-266 (schema)TypeScript interface defining the parameters for listing repositories.export interface ListRepositoriesParams { workspace: string; role?: 'owner' | 'admin' | 'contributor' | 'member'; q?: string; sort?: string; page?: number; pagelen?: number; }