pylon_list_teams
Retrieve all teams from the Pylon customer support platform with optional pagination controls for managing team data efficiently.
Instructions
List all teams in Pylon
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results limit | |
| cursor | No | Pagination cursor |
Implementation Reference
- src/index.ts:585-598 (registration)Registration of the 'pylon_list_teams' MCP tool, including input schema (limit, cursor), description, and handler function that calls PylonClient.listTeams and returns JSON stringified result.server.tool( 'pylon_list_teams', 'List all teams in Pylon', { limit: z.number().min(1).max(1000).optional().describe('Results limit'), cursor: z.string().optional().describe('Pagination cursor'), }, async ({ limit, cursor }) => { const result = await client.listTeams({ limit, cursor }); return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }], }; }, );
- src/pylon-client.ts:420-429 (handler)Core handler logic for listing teams: constructs query params for limit and cursor, makes GET request to Pylon API /teams endpoint.async listTeams(params?: PaginationParams): Promise<PaginatedResponse<Team>> { const searchParams = new URLSearchParams(); if (params?.limit) searchParams.set('limit', params.limit.toString()); if (params?.cursor) searchParams.set('cursor', params.cursor); const query = searchParams.toString(); return this.request<PaginatedResponse<Team>>( 'GET', `/teams${query ? `?${query}` : ''}`, ); }
- src/pylon-client.ts:102-106 (schema)TypeScript interface defining the structure of a Team object returned by the listTeams API.export interface Team { id: string; name: string; users: { email: string; id: string }[]; }
- src/pylon-client.ts:7-10 (schema)Type definition for pagination parameters used in listTeams (limit, cursor).export interface PaginationParams { limit?: number; cursor?: string; }