getTaskLists
Fetch organized task lists from the Godspeed application via API. Manage and access task data efficiently within the godspeed-mcp server environment.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| random_string | Yes |
Implementation Reference
- src/index.ts:214-225 (handler)MCP tool handler for 'getTaskLists' that calls GodspeedAPI.getTaskLists(), stringifies the result as JSON text response, and handles errors.async () => { try { const result = await godspeedApi.getTaskLists(); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error: ${error instanceof Error ? error.message : String(error)}` }] }; } }
- src/index.ts:211-213 (schema)Input schema for the getTaskLists tool using Zod; requires a dummy 'random_string' parameter.{ random_string: z.string() },
- src/index.ts:209-226 (registration)Registration of the 'getTaskLists' MCP tool on the McpServer instance.server.tool( "getTaskLists", { random_string: z.string() }, async () => { try { const result = await godspeedApi.getTaskLists(); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error: ${error instanceof Error ? error.message : String(error)}` }] }; } } );
- src/godspeed.ts:247-266 (helper)GodspeedAPI class method implementing the core logic to fetch task lists via HTTP GET to /lists endpoint.async getTaskLists(): Promise<ApiResponse<TaskList[]>> { try { const headers = this.getAuthHeaders(); const response = await fetch(`${API_BASE_URL}/lists`, { method: 'GET', headers, }); const data = await response.json(); if (!response.ok) { throw new Error(data.error || 'Failed to get task lists'); } return data; } catch (error) { throw new Error(`Get task lists error: ${error instanceof Error ? error.message : String(error)}`); } }
- src/types.ts:60-65 (schema)TypeScript interface defining the structure of a TaskList returned by the API.export interface TaskList { id: string; name: string; created_at?: Date; updated_at?: Date; }