Zoho CRM MCP server
Find a CRM contact, select the fields to read and verify the record identifier before an agent changes it. Access is gated: request enablement for your organization before connecting.
Agent workflows for Zoho CRM.
List contacts
Use when discovering contact IDs or reading a bounded page. Select fields explicitly; v1 supports the first 2,000 records. Do not use broad lists for live acceptance.
Search contacts
Use when finding contacts by name or email. Zoho text equals behaves like contains; verify the returned ID before writing. For known IDs use get_contact or list_contacts ids. New records may be absent during indexing.
Get contact
Use when reading a known contact ID or reconciling an uncertain write. Returns null for an empty or id-less match; selecting fields limits personal data returned.
10 Zoho CRM actions, graded by risk.
These actions come from the Arc0 registry. Your identity, provider permissions and Arc0 policies determine which actions can run.
read
7Look things up, subject to your permissions.
- zoho_crm.list_contactsList contacts
Use when discovering contact IDs or reading a bounded page. Select fields explicitly; v1 supports the first 2,000 records. Do not use broad lists for live acceptance.
- zoho_crm.search_contactsSearch contacts
Use when finding contacts by name or email. Zoho text equals behaves like contains; verify the returned ID before writing. For known IDs use get_contact or list_contacts ids. New records may be absent during indexing.
- zoho_crm.get_contactGet contact
Use when reading a known contact ID or reconciling an uncertain write. Returns null for an empty or id-less match; selecting fields limits personal data returned.
- zoho_crm.list_modulesList modules
Use when discovering available CRM modules and their API names. Record actions in this version support Contacts; metadata does not imply permission to read other modules.
- zoho_crm.list_fieldsList fields
Use when inspecting Contacts field API names, types, unique flags and system requirements before writing. Tenant layouts may add mandatory fields that this metadata does not describe.
- zoho_crm.get_organizationGet organization
Use when checking the connected CRM organization and environment before accessing records. Returns structural IDs only.
- zoho_crm.get_current_userGet current user
Use when checking which CRM user authorized the connection. Returns structural IDs and account status without names or contact details.
write
3Create and change things. Allow, or ask the user first.
- zoho_crm.create_contactCreate contact
Use when creating one contact with a last name. Suppresses workflow triggers and Cadences; tenant automation may still notify CRM users. Avoid unsolicited outreach. Read back before retrying an uncertain outcome.
- zoho_crm.update_contactUpdate contact
Use when changing one known contact. Opt-out can only be enabled. Skips Cadences; tenant workflows may run on update and notify CRM users. Read back before retrying an uncertain outcome.
- zoho_crm.add_noteAdd note
Use when saving an internal note on a known contact. CRM users with access can read it; portal customers cannot. Do not use for customer messages. Read back before retrying an uncertain outcome.
destructive
0Delete, cancel or archive. Ask first, or deny outright.
- No destructive actions.
Control access to Zoho CRM.
After early access is enabled, connect the intended Zoho CRM account, authorize your AI client and set policies for its tools.
Provider permissions and Arc0 policy both apply. Allow reads, require approval for selected writes, or deny destructive actions. The audit log records execution decisions.
Configure policies and approvalsExample policy choices
- Read actions: allow where authorized
- zoho_crm.create_contact: require approval
Arc0 MCP endpoint: https://api.arc0.ai/mcp
How Zoho CRM connects.
Connect Zoho CRM using OAuth. OAuth grants the provider scopes shown during consent; API keys and other credentials retain the permissions configured at the provider. Arc0 stores credentials in its encrypted vault and does not pass them to the model. Disconnect to remove access through Arc0; revoke a key at the provider to invalidate it there. Token refresh and provider-side revocation depend on the authentication lane and provider.
The connection serves authorized calls through Arc0 MCP and REST. How Arc0 handles credentials →
- AUTH
- OAuth
- CREDENTIALS
- Per-tenant encrypted vault
- MODEL SEES
- Results only, never credentials
- AUDIT LOG
- Every call, on every plan
Use Zoho CRM with your AI client.
Request access to Zoho CRM first. An Arc0 administrator must enable it for your organization before these actions appear. Then authorize your AI client separately. It only receives tools and accounts allowed for that identity.
Zoho CRM with Claude
Claude Desktop + Claude Code
- In Claude Desktop, add Arc0 through the remote MCP settings and use OAuth. Follow the generic remote-client steps if your account’s interface differs.
- For Claude Code, run the command below. Open /mcp, select Arc0, and authenticate in your browser. Select your workspace and review access.
- Check the connection with claude mcp get arc0.
claude mcp add --transport http --scope user arc0 https://api.arc0.ai/mcpFull MCP setup and troubleshootingZoho CRM with ChatGPT
ChatGPT on the web
- Open Plugins in ChatGPT, select the plus button, then Add custom MCP server.
- Name it Arc0, enter the server URL below, and choose OAuth. Use dynamic client registration if asked; no Arc0 API key is needed.
- Review the notice and select Create as a plugin. Complete Arc0 sign-in, workspace selection and consent, then install and select the plugin in your conversation. Labels and access vary by account; managed workspaces may require administrator approval.
https://api.arc0.ai/mcpFull MCP setup and troubleshootingZoho CRM with OpenAI Codex
Codex app + CLI
- Run the registration command below. The app and CLI share ~/.codex/config.toml.
- Complete browser OAuth, choose your Arc0 workspace, and review access. If authentication does not start, run codex mcp login arc0.
- Check codex mcp list, then open a new Codex chat. Inspect an existing arc0 entry before changing it.
codex mcp add arc0 --url https://api.arc0.ai/mcpFull MCP setup and troubleshootingZoho CRM with Cursor
Remote MCP setup
- Add Arc0 in your client’s remote MCP settings using the server URL below.
- Choose OAuth, sign in to Arc0, select the intended workspace and review access.
- Confirm the server is connected and start with an allowed read. These are generic remote-MCP steps; consult your client’s settings for its current interface.
https://api.arc0.ai/mcpFull MCP setup and troubleshootingZoho CRM with VS Code
Remote MCP setup
- Add a remote HTTP MCP server named Arc0 using the URL below.
- Use OAuth and finish Arc0 sign-in, workspace selection and consent.
- Confirm discovery succeeds before requesting a read. These are generic remote-MCP steps; client UI and availability may differ.
https://api.arc0.ai/mcpFull MCP setup and troubleshootingZoho CRM with Any MCP client
Streamable HTTP
- Use a client that supports remote MCP over Streamable HTTP. Add the server URL below and choose OAuth.
- For a client without OAuth, use a self-bound API key with execute permission in the X-API-Key header. Store it in secret storage or an environment variable, outside source control. Never send both an API key and an OAuth bearer token.
- Use the MCP clients guide for the SDK transport example and Embedded identity for business-managed end users.
https://api.arc0.ai/mcpFull MCP setup and troubleshootingAfter setup, ask your agent to find an allowed read action, load its schema, and execute it on the intended account. Check Activity for the receipt. A connected MCP client alone does not confirm a successful provider call.
Zoho CRM and Arc0, answered.
Does Zoho CRM work with Claude Desktop and Claude Code?
Yes, after early access is enabled for your organization and you connect the intended account. Use Arc0’s remote MCP endpoint with OAuth. Claude Code has a documented registration command; Desktop uses the generic remote-client setup.
Can I use Zoho CRM with OpenAI Codex, ChatGPT and Cursor?
Yes, after early access is enabled for your organization and you connect the intended account. Codex and ChatGPT have setup instructions in Arc0’s MCP clients guide. Cursor uses the generic remote-MCP steps. Tool access remains scoped to the authorized identity.
Is this the official Zoho CRM MCP server?
This is Arc0’s integration page, not a claim of an official Zoho CRM server. Arc0 adds a shared connection, policy and audit experience across apps. Consult Zoho CRM for its own current MCP offerings.
Which Zoho CRM actions are supported?
10 registry-defined actions: 7 read, 3 write and 0 destructive. Provider permissions, access enablement and Arc0 policy determine what can execute.
Which permissions does Zoho CRM need?
Connect Zoho CRM using OAuth. OAuth grants the provider scopes shown during consent; API keys and other credentials retain the permissions configured at the provider. Arc0 stores credentials in its encrypted vault and does not pass them to the model. Disconnect to remove access through Arc0; revoke a key at the provider to invalidate it there. Token refresh and provider-side revocation depend on the authentication lane and provider.
Can I restrict writes in Zoho CRM?
You can deny write and destructive actions or require approval. Provider scopes and Arc0 action policies are separate controls; a policy does not grant additional provider permissions.
What does Zoho CRM through Arc0 cost?
See Arc0 pricing for current connectivity plans. The provider may require its own subscription or charge per request. Arc0 plan allowances do not make third-party data or paid actions free.
Request Zoho CRM access.
Zoho CRM MCP server: 10 actions including list contacts, search contacts, get contact. Request early access through Arc0.
Free to build · MCP + REST · Audit log on every plan
Zoho CRM and its logo are trademarks of their respective owners. Arc0 is not affiliated with or endorsed by Zoho CRM.