Skip to main content
Glama
harsh-simform

custom-zoho-project-mcp-server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ZOHO_DCNoZoho data center region: com, eu, in, com.au, jp.com
ZOHO_CLIENT_IDNoOAuth client ID from your Zoho Self Client registration.
ZOHO_PORTAL_IDNoDefault portal ID. Leave blank to select interactively at runtime.
ZOHO_PROJECT_IDNoDefault project ID. Leave blank to select interactively at runtime.
ZOHO_MCP_ENV_FILENoPath to the .env file. Overrides the default repo-root .env..env at the repository root
ZOHO_MCP_LOG_FILENoOptional file path to additionally write logs to.
ZOHO_CLIENT_SECRETNoOAuth client secret from your Zoho Self Client registration.
ZOHO_MCP_LOG_LEVELNoLog level for the server (e.g., INFO, DEBUG).INFO
ZOHO_REFRESH_TOKENNoOAuth refresh token for Zoho Projects API access.
ZOHO_MCP_MAX_CONTEXT_IMAGESNoMaximum number of inline images returned per task/bug context call.5
ZOHO_MCP_MAX_ATTACHMENT_BYTESNoMaximum size per inline image attachment in bytes.8388608

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
configure_oauthA

Configure and validate Zoho OAuth credentials. Must succeed before any other tool becomes usable.

list_portalsA

List Zoho portals available to this account. Requires configure_oauth first.

list_projectsA

List all projects in a portal, so a project_id can be picked for select_portal_and_project. Requires configure_oauth first.

select_portal_and_projectA

Validate and select a portal/project, making it the active one. Multiple portal/project pairs can be selected this way without losing earlier ones — use switch_portal to move between already-selected pairs, list_selected_portals to see them all. Requires configure_oauth first.

switch_portalA

Switch the active portal/project to one already selected via select_portal_and_project — no re-validation call. Fails if that pair hasn't been selected yet.

list_selected_portalsA

List every portal/project pair currently selected, and which one is active.

remove_portal_selectionA

Remove one portal/project pair from the selected set. If it was active, another remaining selection (if any) becomes active.

reset_selectionA

Clear every portal/project selection without losing OAuth config.

get_project_contextA

Full overview of the selected project: details, tasklists, milestones, users, tags. Use this for broad questions like 'what's the state of this project'.

get_tasklist_contextB

Full context for a tasklist: its metadata plus every task in it.

get_milestone_contextB

Full context for a milestone: its metadata plus every task under it.

get_task_contextA

Full context for a task in one call: details, comments, subtasks, status history, and attachments — with any image attachments (e.g. screenshots) downloaded and returned inline so they can be visually inspected alongside the text, no follow-up call needed.

get_bug_contextA

Full context for a bug in one call: details, comments, attachments, and the linked task if any — with any image attachments (e.g. screenshots) downloaded and returned inline so they can be visually inspected alongside the text, no follow-up call needed.

list_usersA

List users in the current portal — useful for resolving owner names.

list_tagsA

List tags in the current portal — useful for resolving tag IDs on tasks/tasklists.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4/5.0

Scored across 15 tools

Disambiguation5/5

Every tool has a clearly distinct purpose. The selection/configuration tools (configure_oauth, select_portal_and_project, switch_portal, etc.) are well-separated from the context-retrieval tools (get_project_context, get_task_context, etc.), and each context tool targets a different resource type. Even similar-sounding tools like list_portals vs list_projects are unambiguous due to clear descriptions.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case. Verbs are clear (configure, list, select, switch, remove, reset, get) and nouns accurately describe the resource. The compound 'select_portal_and_project' is a minor deviation but still follows the pattern and remains predictable.

Tool Count5/5

15 tools is within the recommended range and well-scoped for a comprehensive Zoho Projects integration. The configuration, selection, and context retrieval tools each serve a distinct purpose, and no tool feels redundant or unnecessary.

Completeness4/5

The server provides thorough read and context-gathering capabilities, covering all major entity types (project, tasklist, milestone, task, bug) with detailed context retrieval. The only notable gap is the absence of mutation tools (create/update/delete), but given the server's apparent focus on read-only context provision, this is a minor gap that agents can work around.

Maintenance

ActivityMaintained
ResponsivenessNo issues