# Zoho Mcp

> A Laravel 12 MCP server that connects AI to Zoho Sprints — manage teams, projects, sprints, tasks, epics, and comments directly from your AI conversations.

- **Type:** MCP server
- **Install:** `agentstack add mcp-idoko-emmanuel-zoho-mcp`
- **Verified:** Pending review
- **Seller:** [idoko-emmanuel](https://agentstack.voostack.com/s/idoko-emmanuel)
- **Installs:** 0
- **Category:** [Communication](https://agentstack.voostack.com/c/communication)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [idoko-emmanuel](https://github.com/idoko-emmanuel)
- **Source:** https://github.com/idoko-emmanuel/zoho-mcp

## Install

```sh
agentstack add mcp-idoko-emmanuel-zoho-mcp
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Zoho Sprints MCP Server

[](https://www.php.net/)
[](https://laravel.com)
[](https://opensource.org/licenses/MIT)
[](#installation)

A Laravel 12 MCP server that connects Claude AI to Zoho Sprints — manage teams, projects, sprints, tasks, epics, and comments directly from your Claude conversations.

Built with [php-mcp/laravel](https://github.com/php-mcp/laravel) and the [Model Context Protocol](https://modelcontextprotocol.io/).

---

## Features

- **27 MCP tools** covering the full Zoho Sprints API
- Full CRUD for **projects, sprints, items (tasks), epics, and comments**
- Read access to **teams and members**
- Automatic **OAuth 2.0 token management** with silent refresh
- Works with **Claude Code** (stdio) and **Claude Desktop** (HTTP)

## Tools

| Category | Tools |
| --- | --- |
| Teams | `zoho_list_teams`, `zoho_list_team_members` |
| Projects | `zoho_list_projects`, `zoho_get_project`, `zoho_create_project`, `zoho_update_project`, `zoho_delete_project`, `zoho_list_project_members` |
| Sprints | `zoho_list_sprints`, `zoho_get_sprint`, `zoho_create_sprint`, `zoho_update_sprint`, `zoho_delete_sprint` |
| Items | `zoho_list_items`, `zoho_get_item`, `zoho_create_item`, `zoho_update_item`, `zoho_delete_item` |
| Epics | `zoho_list_epics`, `zoho_get_epic`, `zoho_create_epic`, `zoho_update_epic`, `zoho_delete_epic` |
| Comments | `zoho_list_comments`, `zoho_add_comment`, `zoho_update_comment`, `zoho_delete_comment` |

---

## Requirements

- PHP 8.3+ — [php.net/downloads](https://php.net/downloads) or via your package manager
- Composer — [getcomposer.org/download](https://getcomposer.org/download) (the install script handles this automatically)
- Git
- A [Zoho Sprints](https://www.zoho.com/sprints/) account with **API access enabled**
- A Zoho OAuth app registered at [api-console.zoho.com](https://api-console.zoho.com/) → **Server-based Applications**

---

## Installation

### macOS / Linux — One-line install (recommended)

The install script checks for PHP 8.3+, installs Composer if missing, clones the repo, sets up the database, prompts for your Zoho credentials, and registers the MCP server with Claude Code automatically.

```bash
curl -fsSL https://raw.githubusercontent.com/idoko-emmanuel/zoho-mcp/main/install.sh | bash
```

After the script completes, follow the on-screen instructions to complete the OAuth flow (one-time browser step).

### Windows

The install script uses Unix shell syntax and won't run in PowerShell or Command Prompt. Use one of these approaches instead.

> **Note:** If you run `curl -fsSL ...` in PowerShell you'll get an error because PowerShell's built-in `curl` is an alias for `Invoke-WebRequest` and doesn't accept Unix curl flags (`-f`, `-s`, `-S`, `-L`).

#### Option A — WSL or Git Bash (recommended)

If you have [WSL](https://learn.microsoft.com/en-us/windows/wsl/install) or [Git for Windows](https://git-scm.com/download/win) installed, open a WSL or Git Bash terminal and run the same one-liner:

```bash
curl -fsSL https://raw.githubusercontent.com/idoko-emmanuel/zoho-mcp/main/install.sh | bash
```

#### Option B — Manual install (PowerShell)

```powershell
git clone https://github.com/idoko-emmanuel/zoho-mcp.git "$env:LOCALAPPDATA\zoho-mcp"
cd "$env:LOCALAPPDATA\zoho-mcp"
copy .env.example .env
composer install --no-dev --no-interaction --no-scripts
php artisan key:generate --force
php artisan migrate --force
```

Then edit `.env` to add your Zoho credentials (see [Configure Zoho credentials](#3-configure-zoho-credentials) below), and register the MCP server:

```powershell
claude mcp add --scope user zoho-sprints -- php "$env:LOCALAPPDATA\zoho-mcp\artisan" mcp:serve
```

For Claude Desktop, add to `%APPDATA%\Claude\claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "zoho-sprints": {
      "command": "php",
      "args": ["C:\\Users\\YourName\\AppData\\Local\\zoho-mcp\\artisan", "mcp:serve"]
    }
  }
}
```

### Manual install (macOS / Linux)

If you prefer to run each step yourself:

#### 1. Install Composer (skip if already installed)

```bash
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php && rm composer-setup.php
sudo mv composer.phar /usr/local/bin/composer
```

#### 2. Clone and set up

```bash
git clone https://github.com/idoko-emmanuel/zoho-mcp.git ~/.local/share/zoho-mcp
cd ~/.local/share/zoho-mcp
composer install --no-dev
cp .env.example .env
php artisan key:generate
php artisan migrate
```

#### 3. Configure Zoho credentials

Edit `.env` and fill in your Zoho OAuth credentials:

```env
ZOHO_CLIENT_ID=your-client-id
ZOHO_CLIENT_SECRET=your-client-secret
ZOHO_REDIRECT_URI=http://localhost:8000/zoho/callback

# Change to .eu / .in / .com.au if your Zoho account is in another region
ZOHO_ACCOUNTS_URL=https://accounts.zoho.com
ZOHO_SPRINTS_URL=https://sprintsapi.zoho.com/zsapi
```

#### 4. Register with Claude Code

```bash
claude mcp add --scope user zoho-sprints -- php ~/.local/share/zoho-mcp/artisan mcp:serve
```

Or for Claude Desktop, add to `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "zoho-sprints": {
      "command": "php",
      "args": ["/Users/you/.local/share/zoho-mcp/artisan", "mcp:serve"]
    }
  }
}
```

---

## Uninstallation

**macOS / Linux:**

```bash
curl -fsSL https://raw.githubusercontent.com/idoko-emmanuel/zoho-mcp/main/uninstall.sh | bash
```

**Windows (PowerShell):**

```powershell
claude mcp remove zoho-sprints --scope user
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\zoho-mcp"
```

This will:

- Remove the MCP server registration from Claude Code
- Remove the app directory (`~/.local/share/zoho-mcp` on macOS/Linux, `%LOCALAPPDATA%\zoho-mcp` on Windows)

---

## Zoho OAuth setup

### 1. Register your OAuth app

Go to [api-console.zoho.com](https://api-console.zoho.com/) and create a **Server-based Application**. Set the redirect URI to:

```text
http://localhost:8000/zoho/callback
```

Copy your **Client ID** and **Client Secret** — you'll need them during install (or to edit `.env` manually).

### 2. Enable API access in Zoho Sprints

Go to **Zoho Sprints → Settings → API** and enable API access for your team.

### 3. Authorise (one-time)

Start the local server and complete the OAuth flow in your browser:

```bash
php ~/.local/share/zoho-mcp/artisan serve
```

Then open: [http://localhost:8000/zoho/auth](http://localhost:8000/zoho/auth)

Zoho will ask you to grant permissions. After approval you'll be redirected back and the tokens are saved automatically. You can stop the server once authorised — the MCP server runs via stdio and doesn't need a persistent HTTP server.

---

## Usage examples

Once connected, start a new Claude Code session and try:

- *"List all my Zoho Sprints teams"*
- *"Show me all projects in my team"*
- *"Create a new sprint called 'Sprint 5' in project X starting next Monday"*
- *"Show me all open items in the current sprint"*
- *"Add a comment to task #123: 'Ready for review'"*
- *"Move item X to done and assign it to John"*

---

## Running tests

```bash
php artisan test
```

---

## Project structure

```text
app/
├── Http/Controllers/
│   └── ZohoAuthController.php   # OAuth redirect + callback
├── Mcp/Tools/
│   ├── TeamTools.php            # Team & member tools
│   ├── ProjectTools.php         # Project CRUD tools
│   ├── SprintTools.php          # Sprint CRUD tools
│   ├── ItemTools.php            # Task/item CRUD tools
│   ├── EpicTools.php            # Epic CRUD tools
│   └── CommentTools.php         # Comment CRUD tools
├── Models/
│   └── ZohoToken.php            # OAuth token model
└── Services/
    ├── ZohoAuthService.php      # OAuth flow & token refresh
    └── ZohoSprintsService.php   # Zoho Sprints HTTP client
config/
├── mcp.php                      # MCP server configuration
└── zoho.php                     # Zoho API configuration
```

---

## Contributing

1. Create a feature branch from `main`:

    ```bash
    git checkout main
    git pull
    git checkout -b feat/your-feature-name
    ```

2. Make your changes and commit them.

3. Push your branch and open a pull request against `main`:

    ```bash
    git push -u origin feat/your-feature-name
    ```

4. Ensure CI checks pass before requesting a review.

---

## License

MIT

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [idoko-emmanuel](https://github.com/idoko-emmanuel)
- **Source:** [idoko-emmanuel/zoho-mcp](https://github.com/idoko-emmanuel/zoho-mcp)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** yes
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: flagged — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-idoko-emmanuel-zoho-mcp
- Seller: https://agentstack.voostack.com/s/idoko-emmanuel
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
