Provides comprehensive integration with Zoho Projects API for managing projects, tasks, issues, milestones, phases, users, and search functionality across portals and projects
Zoho Projects MCP Server
A Model Context Protocol (MCP) server that provides integration with Zoho Projects API. This server enables AI assistants to interact with Zoho Projects for managing projects, tasks, issues, milestones, and more.
Features
Supported Operations
Portal Management
List all portals
Get portal details
Project Management
List projects
Get project details
Create new projects
Update existing projects
Delete projects (move to trash)
Task Management
List tasks (portal or project level)
Get task details
Create tasks
Update tasks
Delete tasks
Issue Management
List issues (portal or project level)
Get issue details
Create issues
Update issues
Phase/Milestone Management
List phases
Create phases
Search
Search across portal or project
Filter by module (projects, tasks, issues, milestones, forums, events)
User Management
List users in portal or project
Prerequisites
Node.js (v18 or higher)
Zoho Projects Account with API access
Zoho OAuth Credentials
Setup
1. Get Zoho OAuth Credentials (Detailed Guide)
Step 1: Create a Zoho Developer Application
Go to Zoho API Console
Click "Add Client" button
Choose "Self Client" (recommended for personal use) or "Server-based Applications"
Fill in the application details:
Client Name: e.g., "Zoho Projects MCP"
Homepage URL: Your website or
http://localhost
for testingAuthorized Redirect URIs:
http://localhost:8080/callback
(or your preferred redirect URL)
Click "Create" and note down:
Client ID (e.g.,
1000.XXXXXXXXXX
)Client Secret (keep this secure!)
Step 2: Generate Authorization Code
Build the authorization URL with required scopes:
https://accounts.zoho.{REGION}/oauth/v2/auth? scope=ZohoProjects.portals.ALL,ZohoProjects.projects.ALL,ZohoProjects.tasks.ALL,ZohoProjects.bugs.ALL,ZohoProjects.milestones.ALL,ZohoProjects.users.READ,ZohoSearch.securesearch.READ &client_id=YOUR_CLIENT_ID &response_type=code &access_type=offline &redirect_uri=YOUR_REDIRECT_URIReplace
{REGION}
with your region:US:
com
EU:
eu
IN:
in
AU:
com.au
CN:
com.cn
Open this URL in your browser
Log in to your Zoho account and authorize the application
You'll be redirected to your redirect URI with a code parameter in the URL:
http://localhost:8080/callback?code=1000.XXXXX.XXXXX&location=in&accounts-server=https://accounts.zoho.inCopy the
code
value (valid for ~2 minutes, use it immediately!)
Step 3: Exchange Code for Tokens
Use this curl command to get your access and refresh tokens:
Response will contain:
Important: Save both tokens:
access_token: Valid for 1 hour (auto-refreshed by the server)
refresh_token: Long-lived, used to get new access tokens
Step 4: Find Your Portal ID
Method 1: From URL
Go to your Zoho Projects in browser
Look at the URL:
https://projects.zoho.{REGION}/portal/{PORTAL_ID}/...
The number after
/portal/
is your Portal ID (e.g.,60028147039
)
Method 2: Using API
Response will list all your portals with their IDs.
Step 5: Verify Credentials
Test your setup with this API call:
Expected: JSON response with your projects list If error: Check token, portal ID, and API domain match your region
Required Scopes Summary
Make sure your OAuth token has these scopes:
✅
ZohoProjects.portals.ALL
- Portal operations✅
ZohoProjects.projects.ALL
- Project management✅
ZohoProjects.tasks.ALL
- Task management✅
ZohoProjects.bugs.ALL
- Issue/bug management✅
ZohoProjects.milestones.ALL
- Milestone/phase management✅
ZohoProjects.users.READ
- User information✅
ZohoSearch.securesearch.READ
- Search functionality
2. Setup and Installation
Node.js Setup
Prerequisites:
Node.js (v18 or higher)
Steps:
Clone and install:
Create
.env
file with your credentials (see Configuration section below)Run the server:
3. Configuration
Create a .env
file in the project root with the following variables:
Region-specific domains:
US:
projectsapi.zoho.com
/accounts.zoho.com
EU:
projectsapi.zoho.eu
/accounts.zoho.eu
IN:
projectsapi.zoho.in
/accounts.zoho.in
AU:
projectsapi.zoho.com.au
/accounts.zoho.com.au
CN:
projectsapi.zoho.com.cn
/accounts.zoho.com.cn
4. Configure Claude Desktop
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
For Node.js Setup:
Usage Examples
Once configured, you can use Claude to interact with Zoho Projects:
List Projects
Create a New Project
List Tasks
Create a Task
Search
List Issues
Project Structure
Available Tools
The server provides the following MCP tools:
list_portals
- Get all portalsget_portal
- Get portal detailslist_projects
- List all projectsget_project
- Get project detailscreate_project
- Create a new projectupdate_project
- Update a projectdelete_project
- Delete a projectlist_tasks
- List tasksget_task
- Get task detailscreate_task
- Create a taskupdate_task
- Update a taskdelete_task
- Delete a tasklist_issues
- List issuesget_issue
- Get issue detailscreate_issue
- Create an issueupdate_issue
- Update an issuelist_phases
- List phases/milestonescreate_phase
- Create a phasesearch
- Search portal or projectlist_users
- List users
Troubleshooting
Authentication Issues
Ensure your access token is valid and not expired
Verify the token has the required scopes
Check that the portal ID is correct
API Errors
Check the Zoho API documentation for rate limits
Ensure you're using the correct API domain for your region
Verify that the user has appropriate permissions
Connection Issues
Restart Claude Desktop after configuration changes
Check the Claude Desktop logs for error messages
Verify the server path in the configuration
OAuth Token Management
Token Expiration
Access tokens expire after 1 hour (3600 seconds). This MCP server automatically refreshes tokens using the refresh token.
Manual Token Refresh
If you need to manually refresh your access token:
Response example:
Automatic Token Refresh
The MCP server automatically handles token refresh. Configure the following environment variables:
The server will automatically refresh the access token before it expires.
API Reference
For detailed API documentation, visit: https://projects.zoho.com/api-docs
License
MIT
Contributing
Contributions are welcome! Please feel free to submit issues or pull requests.
Support
For issues related to:
MCP Server: Open an issue in this repository
Zoho Projects API: Contact Zoho support or check their documentation
Claude Desktop: Check Anthropic's documentation
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
Enables AI assistants to interact with Zoho Projects for managing projects, tasks, issues, milestones, users, and performing searches. Supports comprehensive project management operations through natural language with automatic OAuth token handling.