list_phases
Retrieve project phases and milestones from Zoho Projects to track project progress and organize work stages effectively.
Instructions
List phases/milestones from a project
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| per_page | No | Items per page | |
| project_id | Yes | Project ID |
Implementation Reference
- src/http-server.ts:840-850 (handler)The core handler function for the 'list_phases' tool. It makes an authenticated API request to the Zoho Projects endpoint for phases in the specified project, paginated, and returns the JSON response as text content.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:456-470 (schema)The tool registration entry including name, description, and input schema (JSON Schema) for validating parameters: project_id (required), page, per_page.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/http-server.ts:597-598 (registration)Registration in the CallToolRequestSchema handler switch statement that dispatches execution to the listPhases method.case "list_phases": return await this.listPhases(params.project_id, params.page, params.per_page);
- src/index.ts:837-847 (handler)Identical core handler function for the 'list_phases' tool in the stdio server variant.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-466 (schema)Identical tool registration and input schema in the stdio server variant.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"],