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