Skip to main content
Glama
kkeeling

Zoho Books MCP Server

by kkeeling

Zoho Books MCP Server

Connect your Zoho Books account to AI assistants like Claude Desktop through the Model Context Protocol (MCP).

Quick Start

1. Get Zoho API Credentials

  1. Go to Zoho API Console

  2. Create a "Server-based Application"

  3. Add redirect URI: http://localhost:8099/callback

  4. Select scope: ZohoBooks.fullaccess.all

  5. Save your Client ID, Client Secret, and Organization ID

2. Install via uvx

Add to your Claude Desktop configuration:

{
  "mcpServers": {
    "zoho-books": {
      "command": "uvx",
      "args": ["zoho-books-mcp"],
      "env": {
        "ZOHO_CLIENT_ID": "your_client_id",
        "ZOHO_CLIENT_SECRET": "your_client_secret",
        "ZOHO_REFRESH_TOKEN": "your_refresh_token",
        "ZOHO_ORGANIZATION_ID": "your_organization_id",
        "ZOHO_REGION": "US"
      }
    }
  }
}

To get a refresh token: uvx zoho-books-mcp --setup-oauth

3. Restart Claude Desktop

Look for the ๐Ÿ”Œ icon to verify connection.

Related MCP server: @cynco/mcp

Local Development

# Clone and setup
git clone https://github.com/kkeeling/zoho-mcp.git
cd zoho-mcp
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt

# Run tests
pytest

# Run server
python server.py

For local development in Claude Desktop:

{
  "mcpServers": {
    "zoho-books": {
      "command": "/path/to/venv/bin/python",
      "args": ["/path/to/zoho-mcp/server.py"],
      "env": {
        "ZOHO_CLIENT_ID": "your_client_id",
        "ZOHO_CLIENT_SECRET": "your_client_secret",
        "ZOHO_REFRESH_TOKEN": "your_refresh_token",
        "ZOHO_ORGANIZATION_ID": "your_organization_id",
        "ZOHO_REGION": "US"
      }
    }
  }
}

Available Features

Tools

Invoices: create_invoice, email_invoice, record_payment, send_payment_reminder, void_invoice, list_invoices, get_invoice, mark_invoice_as_sent

Contacts: create_customer, create_vendor, update_contact, delete_contact, email_statement, list_contacts, get_contact

Expenses: create_expense, update_expense, categorize_expense, upload_receipt, list_expenses, get_expense

Items: create_item, update_item, list_items, get_item

Sales Orders: create_sales_order, update_sales_order, convert_to_invoice, list_sales_orders, get_sales_order

Resources

  • dashboard://summary - Business metrics overview

  • invoice://overdue - Overdue invoices list

  • invoice://unpaid - Unpaid invoices

  • payment://recent - Recent payments

  • contact://list - All contacts

  • expenses://summary - Expense overview

Prompts

  • invoice_collection_workflow - Complete invoice-to-payment cycle

  • monthly_invoicing - Bulk invoice creation

  • expense_tracking_workflow - Expense recording and categorization

Configuration

Regions

  • US (zoho.com), EU (zoho.eu), IN (zoho.in), AU (zoho.com.au), JP (zoho.jp), UK (zoho.uk), CA (zoho.ca)

Troubleshooting

  • Tools not showing: Restart Claude Desktop completely

  • Auth errors: Regenerate refresh token with uvx zoho-books-mcp --setup-oauth

  • Module errors: Ensure virtual environment is activated

Development & Releases

Creating a Release

To publish a new version to PyPI and create a GitHub release:

  1. Update version in pyproject.toml

  2. Update CHANGELOG.md with release notes

  3. Create and push a git tag:

    git tag v0.1.0
    git push origin v0.1.0
  4. Follow manual publishing steps in PUBLISHING.md to build, upload to PyPI, and create GitHub release

Prerequisites for Publishing

  • PyPI account with API token

  • GitHub CLI (gh) installed and authenticated

  • Build tools: pip install --upgrade pip build twine

License

MIT License - see LICENSE file for details.

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
โ€“Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to query and manage QuickBooks Online data through natural language, including customers, invoices, bills, vendors, accounts, and financial reports.
    7
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    Enables AI agents to read and write Cynco accounting data, including querying books, creating invoices, reconciling transactions, and generating financial reports.
    9
    1
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    Connects AI assistants to QuickBooks Online, enabling management of invoices, customers, expenses, and reports through natural language.
    MIT

View all related MCP servers

Related MCP Connectors

  • AI agents for bookkeeping, reconciliation, and financial close for SMBs.

  • Open-source AI accounting skills verified by licensed accountants (tax, VAT, payroll).

  • Chilean DTE/SII invoicing โ€” issue invoices, reconcile payments and manage clients with AI agents.

View all MCP Connectors

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/kkeeling/zoho-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server