list_phases
Retrieve project phases and milestones from Zoho Projects to track progress and manage timelines effectively.
Instructions
List phases/milestones from a project
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Project ID | |
| page | No | Page number | |
| per_page | No | Items per page |
Implementation Reference
- src/index.ts:837-848 (handler)Core handler function implementing the list_phases tool: fetches project phases from Zoho API endpoint and returns formatted response.private async listPhases( projectId: string, page: number = 1, perPage: number = 10 ) { const data = await this.makeRequest( `/portal/${this.config.portalId}/projects/${projectId}/phases?page=${page}&per_page=${perPage}` ); return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }], }; }
- src/http-server.ts:840-851 (handler)Duplicate handler function for list_phases tool in HTTP server variant: identical implementation fetching phases via Zoho API.private async listPhases( projectId: string, page: number = 1, perPage: number = 10 ) { const data = await this.makeRequest( `/portal/${this.config.portalId}/projects/${projectId}/phases?page=${page}&per_page=${perPage}` ); return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }], }; }
- src/index.ts:453-467 (schema)Tool schema definition including input parameters for list_phases (project_id required, pagination optional).name: "list_phases", description: "List phases/milestones from a project", inputSchema: { type: "object", properties: { project_id: { type: "string", description: "Project ID" }, page: { type: "number", description: "Page number", default: 1 }, per_page: { type: "number", description: "Items per page", default: 10, }, }, required: ["project_id"], },
- src/index.ts:594-595 (registration)Tool dispatch/registration in the CallToolRequestSchema handler switch statement.case "list_phases": return await this.listPhases(params.project_id, params.page, params.per_page);