esa_get_members
Retrieve a list of team members from the esa platform, with options to paginate results for efficient management.
Instructions
Get a list of team members
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number to retrieve | |
| per_page | No | Number of results per page (default: 20, max: 100) |
Implementation Reference
- index.ts:566-572 (handler)Handler for the 'esa_get_members' tool call within the CallToolRequest switch statement. Parses arguments and invokes esaClient.getMembers to fetch team members.case "esa_get_members": { const args = request.params.arguments as unknown as GetMembersArgs; const response = await esaClient.getMembers(args.page, args.per_page); return { content: [{ type: "text", text: JSON.stringify(response) }], }; }
- index.ts:293-311 (schema)Tool schema definition for 'esa_get_members', including name, description, and input schema for pagination parameters.const getMembersTool: Tool = { name: "esa_get_members", description: "Get a list of team members", inputSchema: { type: "object", properties: { page: { type: "number", description: "Page number to retrieve", default: 1, }, per_page: { type: "number", description: "Number of results per page (default: 20, max: 100)", default: 20, }, }, }, };
- index.ts:566-572 (registration)The tool is registered by including getMembersTool in the tools list returned by ListToolsRequest handler.case "esa_get_members": { const args = request.params.arguments as unknown as GetMembersArgs; const response = await esaClient.getMembers(args.page, args.per_page); return { content: [{ type: "text", text: JSON.stringify(response) }], }; }
- index.ts:427-437 (helper)EsaClient method implementing the core logic for fetching team members from ESA API with optional pagination.async getMembers(page?: number, per_page?: number): Promise<any> { const params = new URLSearchParams(); if (page) params.append("page", page.toString()); if (per_page) params.append("per_page", per_page.toString()); const url = `${this.baseUrl}/members${params.toString() ? `?${params}` : ""}`; const response = await fetch(url, { headers: this.headers }); return response.json(); }
- index.ts:66-69 (schema)TypeScript interface defining input arguments for esa_get_members tool.interface GetMembersArgs { page?: number; per_page?: number; }