Zoho Projects MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HTTP_PORT | No | Port for HTTP server (optional, default 3001) | |
| ALLOWED_HOSTS | No | Allowed hosts for HTTP server | |
| ZOHO_CLIENT_ID | Yes | Your Zoho client ID from API console | |
| ZOHO_PORTAL_ID | Yes | Your Zoho Projects portal ID | |
| ALLOWED_ORIGINS | No | Allowed origins for CORS | |
| ZOHO_API_DOMAIN | No | API domain based on region, e.g., https://projectsapi.zoho.com | |
| ZOHO_ACCESS_TOKEN | Yes | Your Zoho access token | |
| ZOHO_CLIENT_SECRET | Yes | Your Zoho client secret | |
| ZOHO_REFRESH_TOKEN | Yes | Your Zoho refresh token for automatic token refresh | |
| ZOHO_ACCOUNTS_DOMAIN | No | Accounts domain based on region, e.g., https://accounts.zoho.com |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_portalsA | Retrieve all Zoho Projects portals |
| get_portalB | Get details of a specific portal |
| list_projectsB | List all projects in a portal |
| get_projectA | Get details of a specific project |
| create_projectC | Create a new project |
| update_projectB | Update an existing project |
| delete_projectA | Delete a project (moves to trash) |
| list_tasksB | List tasks from a project or portal |
| get_taskC | Get details of a specific task |
| get_task_by_prefixA | Find and get a task by its prefix/key (e.g., 'CA6-T282'). Searches through tasks to find a match. |
| create_taskB | Create a new task in a project |
| update_taskD | Update a task |
| delete_taskB | Delete a task |
| restore_taskB | Restore a deleted task from trash |
| create_tasklistB | Create a new tasklist in a project |
| move_taskB | Move a task to a different tasklist |
| delete_tasklistB | Delete a tasklist from a project |
| list_issuesB | List issues from a project or portal |
| get_issueB | Get details of a specific issue |
| create_issueD | Create a new issue |
| update_issueD | Update an issue |
| list_phasesB | List phases/milestones from a project |
| create_phaseB | Create a new phase/milestone |
| update_phaseA | Update a phase/milestone. IMPORTANT: start_date and end_date are required by the Zoho REST API for updates. |
| delete_phaseB | Delete a phase/milestone from a project |
| searchC | Search across portal or project |
| list_usersA | List users in a portal or project |
| list_statusesA | List available task statuses for a project |
| list_task_commentsB | List comments on a task |
| add_task_commentB | Add a comment to a task |
| edit_task_commentB | Edit an existing comment on a task |
| delete_task_commentB | Delete a comment from a task |
| upload_task_attachmentB | Upload a file attachment to a task |
| list_task_attachmentsB | List attachments on a task |
| delete_task_attachmentA | Delete an attachment from a task. For WorkDrive attachments, use the third_party_file_id as the attachment_id. |
| download_inline_imageA | Download an inline image from a Zoho task description URL to a local file. Use this to download screenshots/images embedded in task descriptions. |
| extract_inline_imagesA | Extract all inline image URLs from a task description HTML. Returns a list of Zoho image URLs that can be downloaded. |
| download_task_imagesA | Download all inline images from a task description to a local directory. Returns the mapping of original URLs to local file paths. |
| export_projectA | Export an entire Zoho project to a local directory. Creates a portable export with project.json containing all data and an images/ folder with downloaded attachments. Use this for importing projects into other systems. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 39 tools
Each tool targets a distinct resource and action: portals, projects, tasks, issues, phases, comments, attachments, images, and export. Even the image-related tools are clearly separated by single vs. bulk extraction/download, and get_task_by_prefix has a unique purpose. No two tools appear to do the same thing.
The naming pattern is mostly verb_noun (list_projects, create_task, delete_phase) and very readable. Minor deviations exist: add_task_comment vs create_task, edit_task_comment vs update_task, and longer names like get_task_by_prefix, but these do not undermine the overall consistency.
39 tools is a heavy surface for an MCP server, even for a broad platform like Zoho Projects. The count feels excessive, with granular operations for images and attachments that could be consolidated. It exceeds the 25+ threshold for a 'too many' rating.
The tool set covers core CRUD for projects, tasks, issues, and phases, plus comments, attachments, search, and export. Notable gaps include missing delete_issue, no update for tasklists, and no way to list or manage issue comments, but these are workable and the main workflows are well supported.