Skip to main content
Glama
qpiai

Zoho Projects MCP Server

by qpiai

search

Search across Zoho Projects portal or specific projects to find tasks, issues, milestones, forums, and events using keywords and filters.

Instructions

Search across portal or project

Input Schema

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

Implementation Reference

  • The handler function that executes the 'search' tool. It destructures parameters, builds the appropriate Zoho API search endpoint (project-specific or portal-wide), calls makeRequest to fetch results, and returns the JSON-formatted response as MCP content.
    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) }], }; }
  • The input schema defining parameters for the 'search' tool: search_term (required), project_id (optional), module (enum), page, per_page.
    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:489-525 (registration)
    The tool registration object in the listTools response, specifying name 'search', description, and inputSchema.
    { 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:600-602 (registration)
    The dispatch case in the CallToolRequest handler that routes 'search' tool calls to the search handler function.
    case "search": return await this.search(params);

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