Skip to main content
Glama
qpiai

Zoho Projects MCP Server

by qpiai

list_tasks

Retrieve and display tasks from Zoho Projects, allowing users to view project or portal-level task lists with pagination controls.

Instructions

List tasks from a project or portal

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_idNoProject ID (optional for portal-level)
pageNoPage number
per_pageNoItems per page

Implementation Reference

  • The handler function that implements the core logic for the 'list_tasks' tool. It builds the Zoho Projects API endpoint depending on whether a project ID is provided (project-specific or portal-wide tasks) and fetches the data using the shared makeRequest method, returning formatted JSON.
    private async listTasks( projectId?: string, page: number = 1, perPage: number = 10 ) { const endpoint = projectId ? `/portal/${this.config.portalId}/projects/${projectId}/tasks?page=${page}&per_page=${perPage}` : `/portal/${this.config.portalId}/tasks?page=${page}&per_page=${perPage}`; const data = await this.makeRequest(endpoint); return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }], }; }
  • The tool schema definition including name, description, and input schema for parameters (project_id optional, pagination). This is returned by the ListTools handler.
    { name: "list_tasks", description: "List tasks from a project or portal", inputSchema: { type: "object", properties: { project_id: { type: "string", description: "Project ID (optional for portal-level)", }, page: { type: "number", description: "Page number", default: 1 }, per_page: { type: "number", description: "Items per page", default: 10, }, }, }, },
  • src/index.ts:572-573 (registration)
    Registration/dispatch point in the CallToolRequestSchema switch statement that routes calls to the listTasks handler.
    case "list_tasks": return await this.listTasks(params.project_id, params.page, params.per_page);
  • Identical handler function in the HTTP server implementation for the 'list_tasks' tool.
    private async listTasks( projectId?: string, page: number = 1, perPage: number = 10 ) { const endpoint = projectId ? `/portal/${this.config.portalId}/projects/${projectId}/tasks?page=${page}&per_page=${perPage}` : `/portal/${this.config.portalId}/tasks?page=${page}&per_page=${perPage}`; const data = await this.makeRequest(endpoint); return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }], }; }
  • Identical tool schema in the HTTP server version.
    { name: "list_tasks", description: "List tasks from a project or portal", inputSchema: { type: "object", properties: { project_id: { type: "string", description: "Project ID (optional for portal-level)", }, page: { type: "number", description: "Page number", default: 1 }, per_page: { type: "number", description: "Items per page", default: 10, }, }, }, },

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/qpiai/zoho-projects-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server