> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getnexor.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Server

Every action available through the REST API is also available as an MCP ([Model Context Protocol](https://modelcontextprotocol.io)) tool, so an AI client — Claude, Cursor, Codex — can manage your account directly. Ask it to "create an agent that qualifies leads, books a demo call, and hands off to sales" and it calls the same tools described below.

## Getting a key

MCP keys are separate from your REST `X-API-Key` (see [Authentication](/docs/en/api/authentication)) and carry their own scopes.

1. Open **Integrations** from your profile menu.
2. Go to **MCP Server**.
3. Create a key and pick the scopes it needs — least privilege by default. A read-only key can be handed to an agent you don't fully trust yet.

## Connecting a client

Server URL: `https://mcp.getnexor.ai/mcp`

**Claude Code**

```bash theme={null}
claude mcp add --transport http nexor https://mcp.getnexor.ai/mcp --header "X-API-Key: YOUR_MCP_KEY"
```

**Cursor / Claude Desktop** (`~/.cursor/mcp.json` or Claude's connector settings)

```json theme={null}
{
  "mcpServers": {
    "nexor": {
      "url": "https://mcp.getnexor.ai/mcp",
      "headers": { "X-API-Key": "YOUR_MCP_KEY" }
    }
  }
}
```

**Codex** (`~/.codex/config.toml`)

```toml theme={null}
[mcp_servers.nexor]
command = "npx"
args = ["-y", "mcp-remote", "https://mcp.getnexor.ai/mcp", "--header", "X-API-Key: YOUR_MCP_KEY"]
```

## Scopes

A key can only call tools within its granted scopes.

| Scope             | Grants                                                                        |
| ----------------- | ----------------------------------------------------------------------------- |
| `workflows:read`  | View agents, their structure, custom tools, and background jobs               |
| `workflows:write` | Create and edit agents, prompts, structure, custom tools, and background jobs |
| `leads:read`      | View leads, history, and WhatsApp templates                                   |
| `leads:write`     | Create/update leads, tags, status, and automation state                       |
| `rules:read`      | View reminder, recontact, and status-timeout rules                            |
| `rules:write`     | Create/update those rules                                                     |
| `people:read`     | View team members and pending invitations                                     |
| `invites:write`   | Invite or revoke people                                                       |
| `messages:send`   | Send a WhatsApp/email message or trigger a call                               |
| `meetings:write`  | Log meetings, notes, and conversions                                          |

## Tool catalog

### Workflows (agents)

This is the full "create an agent that does A, then B, then C" toolset — it maps directly to the [Workflows](/docs/en/api/workflows/create-workflow) and [Workflow Tools](/docs/en/api/workflow-tools/create-workflow-tool) REST endpoints.

| Tool                          | Scope             | Description                                           |
| ----------------------------- | ----------------- | ----------------------------------------------------- |
| `list_workflows`              | `workflows:read`  | List the client's agents                              |
| `get_workflow`                | `workflows:read`  | Fetch one agent with statuses/fields/tools            |
| `create_workflow`             | `workflows:write` | Create an agent (funnel) with statuses                |
| `set_workflow_prompt`         | `workflows:write` | Replace an agent's base (global) prompt               |
| `set_workflow_active`         | `workflows:write` | Activate (unpause) or pause an agent                  |
| `update_workflow`             | `workflows:write` | Rename an agent or change its description             |
| `set_channel_prompt`          | `workflows:write` | Set a per-channel prompt override (merged)            |
| `get_workflow_prompt_history` | `workflows:read`  | Read an agent's prompt version history                |
| `update_workflow_structure`   | `workflows:write` | Add/edit funnel statuses + fields (upsert, no delete) |

### Custom tools

| Tool                   | Scope             | Description                               |
| ---------------------- | ----------------- | ----------------------------------------- |
| `list_workflow_tools`  | `workflows:read`  | List an agent's custom HTTP tools         |
| `create_workflow_tool` | `workflows:write` | Add a custom HTTP tool the agent can call |
| `update_workflow_tool` | `workflows:write` | Edit a custom tool's config               |
| `delete_workflow_tool` | `workflows:write` | Remove a custom tool (soft/hard)          |
| `set_tool_stage_gate`  | `workflows:write` | Gate a custom tool to funnel stages       |

### Background jobs

| Tool                             | Scope             | Description                               |
| -------------------------------- | ----------------- | ----------------------------------------- |
| `list_background_jobs`           | `workflows:read`  | List background jobs                      |
| `get_background_job`             | `workflows:read`  | Get a background job + recent executions  |
| `create_background_job`          | `workflows:write` | Create a scheduled/forced lead automation |
| `update_background_job`          | `workflows:write` | Update a background job config            |
| `delete_background_job`          | `workflows:write` | Delete a background job                   |
| `run_background_job`             | `workflows:write` | Force-run a background job now            |
| `list_background_job_executions` | `workflows:read`  | A job's execution history                 |

### Leads

| Tool                      | Scope         | Description                                       |
| ------------------------- | ------------- | ------------------------------------------------- |
| `list_leads`              | `leads:read`  | Page through leads with search/filter             |
| `get_lead`                | `leads:read`  | One lead with fields + engagement                 |
| `get_lead_history`        | `leads:read`  | Unified lead timeline                             |
| `upsert_leads`            | `leads:write` | Create/update leads (idempotent), optional enroll |
| `update_lead`             | `leads:write` | Update lead fields/metadata                       |
| `sync_lead_tags`          | `leads:write` | Set the exact tag set for a lead                  |
| `assign_lead_to_workflow` | `leads:write` | Move a lead into an agent, start cadence          |
| `set_lead_status`         | `leads:write` | Force a lead's funnel status (forward/back)       |
| `stop_automation`         | `leads:write` | Human takeover on: pause cadence                  |
| `resume_automation`       | `leads:write` | Human takeover off; optionally resume cadence     |
| `delete_lead`             | `leads:write` | Soft-delete (archive) a lead                      |

### Rules

| Tool                        | Scope         | Description                            |
| --------------------------- | ------------- | -------------------------------------- |
| `list_reminder_rules`       | `rules:read`  | List lead reminder rules               |
| `set_reminder_rule`         | `rules:write` | Create/update a lead reminder rule     |
| `list_host_reminder_rules`  | `rules:read`  | List host notification rules           |
| `set_host_reminder_rule`    | `rules:write` | Create/update a host rule (email only) |
| `list_recontact_rules`      | `rules:read`  | List re-engage rules                   |
| `set_recontact_rule`        | `rules:write` | Create/update a re-engage rule         |
| `list_status_timeout_rules` | `rules:read`  | List status auto-timeout configs       |
| `set_status_timeout_rule`   | `rules:write` | Set/clear a status auto-timeout        |

### People

| Tool                       | Scope           | Description                                        |
| -------------------------- | --------------- | -------------------------------------------------- |
| `list_team`                | `people:read`   | List active team members                           |
| `list_pending_invitations` | `people:read`   | List outstanding invitations                       |
| `invite_user`              | `invites:write` | Invite a person (admin or human agent), idempotent |
| `revoke_invitation`        | `invites:write` | Cancel a pending invitation                        |

### Messaging

| Tool                      | Scope           | Description                           |
| ------------------------- | --------------- | ------------------------------------- |
| `list_whatsapp_templates` | `leads:read`    | List approved WhatsApp templates      |
| `send_message`            | `messages:send` | Send WhatsApp/email or trigger a call |

### Account

| Tool                    | Scope            | Description                                |
| ----------------------- | ---------------- | ------------------------------------------ |
| `list_lead_meetings`    | `leads:read`     | List a lead's calendar events              |
| `create_meeting`        | `meetings:write` | Log a booked meeting (idempotent)          |
| `ingest_meeting_notes`  | `meetings:write` | Attach transcript/summary to a meeting     |
| `list_conversion_types` | `leads:read`     | List active conversion types               |
| `set_conversion_type`   | `leads:write`    | Create or update a conversion type by name |
| `create_conversion`     | `leads:write`    | Record a conversion event                  |
| `list_conversions`      | `leads:read`     | List conversion events                     |
| `list_campaigns`        | `leads:read`     | List campaigns                             |

### Meta

| Tool     | Scope | Description                                    |
| -------- | ----- | ---------------------------------------------- |
| `whoami` | —     | Authenticated client identity + granted scopes |

## Usage

Tool calls and error rates for the last 30 days are visible in the same **Integrations → MCP Server** page, per key.
