Skip to main content
Glama
qpiai

Zoho Projects MCP Server

by qpiai

search

Search across Zoho Projects to find tasks, issues, milestones, forums, events, and project information using specific search terms and filters.

Instructions

Search across portal or project

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
moduleNoModule to search in
pageNoPage number
per_pageNoItems per page
project_idNoProject ID (optional for portal-level search)
search_termYesSearch term/query

Implementation Reference

  • The handler function that executes the 'search' tool logic: parses input params, constructs Zoho API search endpoint (portal or project level), fetches data via makeRequest, and returns formatted JSON response.
    private async search(params: any) { const { search_term, project_id, module = "all", page = 1, per_page = 10 } = params; const endpoint = project_id ? `/portal/${this.config.portalId}/projects/${project_id}/search?search_term=${encodeURIComponent(search_term)}&module=${module}&page=${page}&per_page=${per_page}` : `/portal/${this.config.portalId}/search?search_term=${encodeURIComponent(search_term)}&module=${module}&status=active&page=${page}&per_page=${per_page}`; const data = await this.makeRequest(endpoint); return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }], }; }
  • JSON schema defining the input parameters for the 'search' tool, including required search_term and optional filters.
    { name: "search", description: "Search across portal or project", inputSchema: { type: "object", properties: { search_term: { type: "string", description: "Search term/query", }, project_id: { type: "string", description: "Project ID (optional for portal-level search)", }, module: { type: "string", description: "Module to search in", enum: [ "all", "projects", "tasks", "issues", "milestones", "forums", "events", ], }, page: { type: "number", description: "Page number", default: 1 }, per_page: { type: "number", description: "Items per page", default: 10, }, }, required: ["search_term"], }, },
  • src/index.ts:599-601 (registration)
    Registration/dispatch in the CallToolRequestSchema switch statement that routes 'search' tool calls to the handler function.
    // Search case "search": return await this.search(params);
  • Identical handler function in the HTTP server variant (src/http-server.ts).
    // Search private async search(params: any) { const { search_term, project_id, module = "all", page = 1, per_page = 10 } = params; const endpoint = project_id ? `/portal/${this.config.portalId}/projects/${project_id}/search?search_term=${encodeURIComponent(search_term)}&module=${module}&page=${page}&per_page=${per_page}` : `/portal/${this.config.portalId}/search?search_term=${encodeURIComponent(search_term)}&module=${module}&status=active&page=${page}&per_page=${per_page}`; const data = await this.makeRequest(endpoint); return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }], }; }
  • Identical input schema in the HTTP server variant.
    // Search { name: "search", description: "Search across portal or project", inputSchema: { type: "object", properties: { search_term: { type: "string", description: "Search term/query", }, project_id: { type: "string", description: "Project ID (optional for portal-level search)", }, module: { type: "string", description: "Module to search in", enum: [ "all", "projects", "tasks", "issues", "milestones", "forums", "events", ], }, page: { type: "number", description: "Page number", default: 1 }, per_page: { type: "number", description: "Items per page", default: 10, }, }, required: ["search_term"], }, },

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