From 87635c881de938ae3bcc5c98b82d855fa39ba550 Mon Sep 17 00:00:00 2001 From: Liam Ilan Date: Fri, 16 Oct 2026 18:13:45 -0700 Subject: [PATCH] feat(third_party): add Zoho CRM, Zoho Desk, and Zoho Books plugins --- .cursor-plugin/marketplace.json | 15 +++++ README.md | 3 + .../zoho-books/.cursor-plugin/plugin.json | 34 ++++++++++ third_party/zoho-books/CHANGELOG.md | 10 +++ third_party/zoho-books/LICENSE | 21 ++++++ third_party/zoho-books/README.md | 59 +++++++++++++++++ third_party/zoho-books/assets/logo.png | Bin 0 -> 10639 bytes .../zoho-crm/.cursor-plugin/plugin.json | 34 ++++++++++ third_party/zoho-crm/CHANGELOG.md | 10 +++ third_party/zoho-crm/LICENSE | 21 ++++++ third_party/zoho-crm/README.md | 56 ++++++++++++++++ third_party/zoho-crm/assets/logo.png | Bin 0 -> 8857 bytes .../zoho-desk/.cursor-plugin/plugin.json | 33 ++++++++++ third_party/zoho-desk/CHANGELOG.md | 10 +++ third_party/zoho-desk/LICENSE | 21 ++++++ third_party/zoho-desk/README.md | 60 ++++++++++++++++++ third_party/zoho-desk/assets/logo.png | Bin 0 -> 8018 bytes 17 files changed, 387 insertions(+) create mode 100644 third_party/zoho-books/.cursor-plugin/plugin.json create mode 100644 third_party/zoho-books/CHANGELOG.md create mode 100644 third_party/zoho-books/LICENSE create mode 100644 third_party/zoho-books/README.md create mode 100644 third_party/zoho-books/assets/logo.png create mode 100644 third_party/zoho-crm/.cursor-plugin/plugin.json create mode 100644 third_party/zoho-crm/CHANGELOG.md create mode 100644 third_party/zoho-crm/LICENSE create mode 100644 third_party/zoho-crm/README.md create mode 100644 third_party/zoho-crm/assets/logo.png create mode 100644 third_party/zoho-desk/.cursor-plugin/plugin.json create mode 100644 third_party/zoho-desk/CHANGELOG.md create mode 100644 third_party/zoho-desk/LICENSE create mode 100644 third_party/zoho-desk/README.md create mode 100644 third_party/zoho-desk/assets/logo.png diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index 8f84e2fd6..b478177bc 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -523,6 +523,21 @@ "source": "third_party/whatsapp-business", "description": "Send messages and manage templates, contacts, and phone numbers in WhatsApp Business." }, + { + "name": "zoho-crm", + "source": "third_party/zoho-crm", + "description": "Work with leads, contacts, accounts, deals, and other Zoho CRM records." + }, + { + "name": "zoho-desk", + "source": "third_party/zoho-desk", + "description": "Work with tickets, contacts, tasks, and knowledge base articles in Zoho Desk." + }, + { + "name": "zoho-books", + "source": "third_party/zoho-books", + "description": "Work with contacts, invoices, estimates, and items in Zoho Books." + }, { "name": "square", "source": "third_party/square", diff --git a/README.md b/README.md index a79e899c4..234f5c366 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,9 @@ Official Cursor plugins for popular developer tools, frameworks, and SaaS produc | `quickbooks-online` | [QuickBooks Online](third_party/quickbooks-online/) | Cursor | Integrations | Read invoices, bills, expenses, customers, accounts, and financial reports. | | `workday` | [Workday](third_party/workday/) | Cursor | Integrations | Look up workers, organizations, time off, payroll, and recruiting data in Workday. | | `whatsapp-business` | [WhatsApp Business](third_party/whatsapp-business/) | Cursor | Integrations | Send messages and manage templates, contacts, and phone numbers in WhatsApp Business. | +| `zoho-crm` | [Zoho CRM](third_party/zoho-crm/) | Cursor | Integrations | Work with leads, contacts, accounts, deals, and other Zoho CRM records. | +| `zoho-desk` | [Zoho Desk](third_party/zoho-desk/) | Cursor | Integrations | Work with tickets, contacts, tasks, and knowledge base articles in Zoho Desk. | +| `zoho-books` | [Zoho Books](third_party/zoho-books/) | Cursor | Integrations | Work with contacts, invoices, estimates, and items in Zoho Books. | | `square` | [Square](third_party/square/) | Cursor | Integrations | Work with payments, orders, catalog, customers, and invoices. | | `tailscale` | [Tailscale](third_party/tailscale/) | Cursor | Integrations | Let Grok Bot reach MCP servers on your private Tailscale network. Sign in to Tailscale to connect your tailnet; Grok Bot joins it as one tagged device and only reaches the hosts you grant to tag:grokbot. | | `highlevel` | [HighLevel](third_party/highlevel/) | Cursor | Integrations | Work with contacts, conversations, opportunities, calendars, and payments. | diff --git a/third_party/zoho-books/.cursor-plugin/plugin.json b/third_party/zoho-books/.cursor-plugin/plugin.json new file mode 100644 index 000000000..96c68e78c --- /dev/null +++ b/third_party/zoho-books/.cursor-plugin/plugin.json @@ -0,0 +1,34 @@ +{ + "name": "zoho-books", + "displayName": "Zoho Books", + "version": "1.0.0", + "minClientVersions": { + "cursor": "3.19.0" + }, + "description": "Work with contacts, invoices, estimates, and items in Zoho Books.", + "author": { + "name": "Cursor", + "email": "plugins@cursor.com" + }, + "homepage": "https://github.com/cursor/plugins/tree/main/third_party/zoho-books", + "repository": "https://github.com/cursor/plugins", + "license": "MIT", + "logo": "assets/logo.png", + "keywords": [ + "zoho", + "zoho books", + "accounting", + "bookkeeping", + "invoices", + "estimates", + "finance", + "mcp" + ], + "category": "integrations", + "tags": [ + "zoho", + "accounting", + "finance", + "mcp" + ] +} diff --git a/third_party/zoho-books/CHANGELOG.md b/third_party/zoho-books/CHANGELOG.md new file mode 100644 index 000000000..20ae91896 --- /dev/null +++ b/third_party/zoho-books/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog + +All notable changes to this plugin will be documented here. + +## 1.0.0 — initial release + +- Added the `zoho-books` plugin, the opt-in for the Zoho Books MCP server that Cursor hosts and credentials. +- Carries no MCP server definition: the server is Cursor-side, so installing the plugin is the whole configuration. +- Auth is Cursor-managed OAuth against Zoho. The user picks their Zoho data center before signing in. +- Logo: Zoho Books' official mark, from `zoho.com`. diff --git a/third_party/zoho-books/LICENSE b/third_party/zoho-books/LICENSE new file mode 100644 index 000000000..ca2bba771 --- /dev/null +++ b/third_party/zoho-books/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Cursor + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/third_party/zoho-books/README.md b/third_party/zoho-books/README.md new file mode 100644 index 000000000..1464266c7 --- /dev/null +++ b/third_party/zoho-books/README.md @@ -0,0 +1,59 @@ +# Zoho Books + +Cursor plugin that connects agents to [Zoho Books](https://www.zoho.com/books/) through a [Model Context Protocol](https://modelcontextprotocol.io/) server that Cursor hosts and credentials. + +Work with your accounting data: contacts, invoices, estimates, and items. + +## Install + +1. Open **Cursor Settings → Plugins**. +2. Search for **Zoho Books**. +3. Click **Install**, pick your Zoho data center, then sign in to Zoho when Cursor prompts you. + +Or run `/add-plugin zoho-books` in chat. + +## MCP + +This plugin ships no `mcp.json`, and that is deliberate. + +Every other connector in this repository either points at a vendor's hosted endpoint or runs a package locally over stdio, so it carries its own server definition. Zoho Books does not: Cursor runs the server, and the plugin exists only as the opt-in that turns it on for your account. Installing the plugin is what makes the server available; there is no command to run, no endpoint to reach, and no API key or client secret to paste. + +One consequence worth knowing: because the server is not declared here, you will not find it in a local `mcp.json` and you cannot point another MCP client at it. It is reachable from Cursor only. + +## Before you connect + +Nothing to prepare. Cursor owns the OAuth client, so you do not need a Zoho developer account or an app of your own. + +Pick the data center your Zoho account lives in before you sign in. It matches the domain you use for Zoho, such as `zoho.com` or `zoho.eu`. Zoho Books is available in the United States, Europe, India, Australia, Japan, Saudi Arabia, and the United Arab Emirates. + +Every Zoho Books call runs against one organization. Cursor finds it when you sign in. If you belong to more than one, it uses the one Zoho marks as your default. + +## What agents can do + +| Category | Capabilities | +| --- | --- | +| Contacts | Read, create, update, and delete customers and vendors | +| Invoices | Read, create, update, and delete invoices | +| Estimates | Read, create, update, and delete estimates | +| Items | Read, create, update, and delete items | +| Organization | Read organization details | + +The server is the source of truth for tool names and schemas. + +## Notes + +- Access follows whatever the signed-in Zoho user can see in the organization. The connector cannot reach data that user has no access to. +- Some tools create, update, and delete accounting records. Review every tool call before you approve it. +- Disconnecting is two independent steps: uninstalling the plugin stops Cursor from offering the server, and revoking Cursor's access in your Zoho account settings ends Cursor's access to your data. + +## Docs + +- Zoho Books: https://www.zoho.com/books/ +- Zoho Books API: https://www.zoho.com/books/api/v3/ +- Model Context Protocol: https://modelcontextprotocol.io + +Logo is Zoho Books' official mark, from `zoho.com`. + +## License + +MIT diff --git a/third_party/zoho-books/assets/logo.png b/third_party/zoho-books/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..51ec0c51a89dd740fb8bf4fa58c3ac345e52a7cb GIT binary patch literal 10639 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 ZMY1$o;hCwU@>sY5&{Ee|Yf`a~`!7S%HxU2; literal 0 HcmV?d00001 diff --git a/third_party/zoho-desk/.cursor-plugin/plugin.json b/third_party/zoho-desk/.cursor-plugin/plugin.json new file mode 100644 index 000000000..5f4f1c0f1 --- /dev/null +++ b/third_party/zoho-desk/.cursor-plugin/plugin.json @@ -0,0 +1,33 @@ +{ + "name": "zoho-desk", + "displayName": "Zoho Desk", + "version": "1.0.0", + "minClientVersions": { + "cursor": "3.19.0" + }, + "description": "Work with tickets, contacts, tasks, and knowledge base articles in Zoho Desk.", + "author": { + "name": "Cursor", + "email": "plugins@cursor.com" + }, + "homepage": "https://github.com/cursor/plugins/tree/main/third_party/zoho-desk", + "repository": "https://github.com/cursor/plugins", + "license": "MIT", + "logo": "assets/logo.png", + "keywords": [ + "zoho", + "zoho desk", + "help desk", + "customer support", + "tickets", + "knowledge base", + "mcp" + ], + "category": "integrations", + "tags": [ + "zoho", + "support", + "help desk", + "mcp" + ] +} diff --git a/third_party/zoho-desk/CHANGELOG.md b/third_party/zoho-desk/CHANGELOG.md new file mode 100644 index 000000000..7ce589a86 --- /dev/null +++ b/third_party/zoho-desk/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog + +All notable changes to this plugin will be documented here. + +## 1.0.0 — initial release + +- Added the `zoho-desk` plugin, the opt-in for the Zoho Desk MCP server that Cursor hosts and credentials. +- Carries no MCP server definition: the server is Cursor-side, so installing the plugin is the whole configuration. +- Auth is Cursor-managed OAuth against Zoho. The user picks their Zoho data center before signing in. +- Logo: Zoho Desk's official mark, from `zoho.com`. diff --git a/third_party/zoho-desk/LICENSE b/third_party/zoho-desk/LICENSE new file mode 100644 index 000000000..ca2bba771 --- /dev/null +++ b/third_party/zoho-desk/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Cursor + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/third_party/zoho-desk/README.md b/third_party/zoho-desk/README.md new file mode 100644 index 000000000..a14e22d4c --- /dev/null +++ b/third_party/zoho-desk/README.md @@ -0,0 +1,60 @@ +# Zoho Desk + +Cursor plugin that connects agents to [Zoho Desk](https://www.zoho.com/desk/) through a [Model Context Protocol](https://modelcontextprotocol.io/) server that Cursor hosts and credentials. + +Work with your help desk: tickets, contacts, tasks, and knowledge base articles. + +## Install + +1. Open **Cursor Settings → Plugins**. +2. Search for **Zoho Desk**. +3. Click **Install**, pick your Zoho data center, then sign in to Zoho when Cursor prompts you. + +Or run `/add-plugin zoho-desk` in chat. + +## MCP + +This plugin ships no `mcp.json`, and that is deliberate. + +Every other connector in this repository either points at a vendor's hosted endpoint or runs a package locally over stdio, so it carries its own server definition. Zoho Desk does not: Cursor runs the server, and the plugin exists only as the opt-in that turns it on for your account. Installing the plugin is what makes the server available; there is no command to run, no endpoint to reach, and no API key or client secret to paste. + +One consequence worth knowing: because the server is not declared here, you will not find it in a local `mcp.json` and you cannot point another MCP client at it. It is reachable from Cursor only. + +## Before you connect + +Nothing to prepare. Cursor owns the OAuth client, so you do not need a Zoho developer account or an app of your own. + +Pick the data center your Zoho account lives in before you sign in. It matches the domain you use for Zoho, such as `zoho.com` or `zoho.eu`. Zoho Desk is available in the United States, Europe, India, Australia, Japan, Canada, Saudi Arabia, the United Kingdom, the United Arab Emirates, and Singapore. + +Cursor finds your Desk organization when you sign in. If you belong to more than one, it uses the one Zoho marks as your default. + +## What agents can do + +| Category | Capabilities | +| --- | --- | +| Tickets | Read, create, update, and delete tickets | +| Contacts | Read, create, update, and delete contacts | +| Tasks | Read, create, update, and delete tasks | +| Knowledge base | Read, create, update, and delete articles | +| Search | Search across Desk records | +| Organization | Read basic organization details and settings | + +The server is the source of truth for tool names and schemas. + +## Notes + +- Access follows whatever the signed-in Zoho user can see. The connector cannot reach departments or tickets that user has no access to. +- Some tools create, update, and delete tickets, contacts, tasks, and articles. Review every tool call before you approve it. +- Disconnecting is two independent steps: uninstalling the plugin stops Cursor from offering the server, and revoking Cursor's access in your Zoho account settings ends Cursor's access to your data. + +## Docs + +- Zoho Desk: https://www.zoho.com/desk/ +- Zoho Desk API: https://desk.zoho.com/DeskAPIDocument +- Model Context Protocol: https://modelcontextprotocol.io + +Logo is Zoho Desk's official mark, from `zoho.com`. + +## License + +MIT diff --git a/third_party/zoho-desk/assets/logo.png b/third_party/zoho-desk/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..48038f1a7c36ecea7210bbce159223538a2bcdb3 GIT binary patch literal 8018 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 literal 0 HcmV?d00001