Skip to main content

Zyles MCP Server

The Zyles MCP server (Model Context Protocol) exposes the backend API as tools that AI clients such as Claude, Claude Code, or Cursor can call directly. Instead of calling endpoints yourself, you connect Claude to Zyles once and then say what you want in plain language:

"Create leads from this list and start the power dialer."

The server holds no data of its own: it forwards every call to the backend API — the same resources (leads, agents, power dialers …) and the same permissions as over HTTP. Validation, project scoping and plan limits are still enforced by the backend.

Endpoint​

EnvironmentURLTransport
Productionhttps://mcp.zyles.ai/mcpStreamable HTTP

The server uses the Streamable HTTP transport (not stdio). The /sse and / paths are not used — always connect to /mcp.

Getting started​

Setup takes about two minutes:

→ Add the MCP to Claude

Authentication​

There are two ways in:

  • OAuth 2.1 — sign in with your normal Zyles credentials in the browser. Clients that offer a Connect button use this (claude.ai, Claude Desktop, Claude Code). The connection covers all projects on your account.

  • Project-scoped API key as a bearer token in the Authorization header — for clients without a connect button and for automations:

    Authorization: Bearer <your_zyles_api_key>

Without valid credentials the server responds with 401 Unauthorized. As with the HTTP API, the token determines the active project; every access is scoped to its project_id (see Authentication).

One key per person

Give each user their own project-scoped key rather than sharing one. The key decides which workspace that person can read and modify through the MCP.

Multiple projects​

When you connect via the OAuth flow, the connection covers all your account's projects. workspaces_list enumerates them (including the default project). Every tool optionally accepts project_id: pass it to act on a specific project, omit it to use the default. The choice applies per call (the server is stateless). A project-scoped API key, by contrast, is bound to one project; project_id is then ignored.

Only ever one project per call

Exactly one token is active at a time. Zyles never sends one project's credentials along with a request for another — cross-tenant mix-ups are impossible.

What Claude can do with it​

AreaCapabilities
Leadscreate (including in batches), search, filter, read, update, archive
Smart viewscreate, update, delete, and resolve to matching leads
Power dialerscreate, start, pause, schedule and delete campaigns
AI agentscreate, configure, read, delete
Activitiesread the timeline, log notes and calls
Lead statusesmanage the project's status values
Call outcomesmaintain outcome types and assign them to activities
Custom activitiesmanage custom activity types and entries

The full list of all 42 tools, with the backend endpoint each one calls, is in the tool reference.

What isn't available

Leads are never hard-deleted — leads_update with archived: true archives and false restores. Email activities and bulk imports are not exposed as tools at the moment.

Requirements​

  • A Zyles account with API access (the open_api entitlement). Without it, the very first tool call returns 403.
  • An MCP-capable client — e.g. Claude (web, desktop or code).

Individual actions additionally depend on your plan:

ActionToolRequirement
Create an AI agentagents_createai_assistants quota
Create a dialerpower_dialers_createCampaignPlanning
Start a dialerpower_dialers_set_status → runningOutboundCalls

When a limit applies, the MCP server passes the backend's 403 response through unchanged — so Claude shows you the exact message rather than silently swallowing the call.

Checking the connection​

After setup, the zyles_whoami tool confirms the server is reachable and authenticated, and shows the project and user the token points at.

Security​

  • Every request carries its own token; the server keeps no session state.
  • Tokens are never logged and never returned to the caller.
  • The server does not re-check permissions itself — it forwards each request to the backend, project-scoped. Claude therefore can never do more than you can with your own Zyles login.
  • You can revoke access at any time by removing the connector in your client or revoking the API key in Zyles.