> For the complete documentation index, see [llms.txt](https://docs.zero.inc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zero.inc/developers/mcp.md).

# MCP

Zero has its own chat, but you probably already have an assistant you work in. The Zero MCP server lets that assistant — Claude, ChatGPT, anything that speaks the [Model Context Protocol](https://modelcontextprotocol.io) — reach into your workspace and search, create, update and manage CRM data alongside everything else it does.

## Connection URL

```
https://api.zero.inc/mcp
```

The same URL is on **Settings → AI & Agents → Zero MCP**, which also lists the tools your assistant will get.

Authentication is OAuth: on first connection you are sent to Zero to sign in and pick a workspace, and after that it handles itself. There are no API keys to manage.

## Setup

{% stepper %}
{% step %}

### Add the MCP server to your AI assistant

Any MCP-capable assistant works. Two common ones:

| Client        | Documentation                                                                                                            |
| ------------- | ------------------------------------------------------------------------------------------------------------------------ |
| Claude        | [Custom connectors](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp) |
| ChatGPT       | [Apps in ChatGPT](https://help.openai.com/en/articles/11487775-apps-in-chatgpt)                                          |
| {% endstep %} |                                                                                                                          |

{% step %}

### Authorize your workspace

Sign in when Zero opens, pick the workspace, and authorize. The server only ever reaches the workspace you chose here.
{% endstep %}

{% step %}

### Start using it

Ask for what you want:

* "Show me all deals closing this month"
* "Create a new contact for Jane Smith at Acme Corp"
* "Find companies in the technology industry"
* "Add a note to the deal with Stripe"
  {% endstep %}
  {% endstepper %}

## Best practices

Have the assistant call `get_instructions` and `get_workspace_metadata` first, every time. They carry the data model, available fields, pipeline stages, custom properties and the rest of your workspace's specifics — without them the other tools are working blind. If you are writing a custom skill or routine, build that into it.

## Available tools

Your assistant gets tools for contacts, companies, deals, tasks, notes, emails, calendar events, lists, files, custom properties, quotes, reports, outreach sequences and lead search. It receives the full list and each tool's parameters automatically on connection — the list below is for your own reference.

<details>

<summary>Full tool list</summary>

**Metadata**

* `get_instructions` — Get the data model, operating rules, available skills, and workspace configuration. Call this first in every conversation
* `get_workspace_metadata` — Get users, pipelines, custom properties, lists, activity types, and AI contexts

**Search**

* `find_companies` — Search and filter companies
* `find_contacts` — Search and filter contacts
* `find_deals` — Search and filter deals across pipelines and stages
* `find_tasks` — Search tasks by title, done state, deadline, or assignee
* `find_notes` — Search standalone notes
* `find_invoices` — Search invoices linked to companies or contacts
* `find_issues` — Search issues or bug reports linked to companies or contacts
* `find_quotes` — Search quotes on deals and companies, with their line items and totals
* `find_analytics_events` — Query workspace analytics events for product usage data
* `find_meeting_preps` — Fetch AI-generated meeting briefs for calendar events
* `query_result_set` — Read, narrow, sort, or re-project the records a previous `find_*` call returned, without running the search again

**Activity history**

* `find_company_activities` — Full activity timeline for one company: emails, events, notes, comments, tasks, deals, custom activities, LinkedIn, and Slack
* `find_contact_activities` — Full activity timeline for one contact
* `find_deal_activities` — Full activity timeline for one deal

**Email & calendar**

* `find_emails` — Search synced email messages
* `get_mailboxes` — Get the current user's connected mailboxes
* `find_calendar_events` — Search calendar events and their meeting notes; set `includeTranscript` to include recorded transcripts
* `get_calendars` — Get the current user's connected calendars
* `schedule_calendar_event` — Create an event on a connected calendar (requires a `calendarId` from `get_calendars`)
* `edit_calendar_event` — Update an existing calendar event

**Create**

* `add_company` — Create a new company
* `add_contact` — Create a new contact
* `add_deal` — Create a new deal
* `add_task` — Create a new task
* `add_note` — Create a new note
* `add_quote` — Create a quote on a deal or company from catalog products or custom line items
* `add_custom_activity` — Log a custom activity (call, site visit, …) against a company, contact, or deal

**Update**

* `edit_company` — Update a company
* `edit_contact` — Update a contact
* `edit_deal` — Update a deal
* `edit_task` — Update a task
* `edit_note` — Update a note
* `edit_custom_activity` — Update a custom activity

**Custom properties**

* `find_custom_properties` — Look up custom property IDs, types, and option keys
* `create_custom_property` — Create a company, contact, or deal custom property of any type the property editor offers, optionally one whose value AI computes
* `add_column_options` — Add options to select/multiselect custom properties

**Lists**

* `list_lists` — Find list IDs and basic list metadata
* `get_list` — Get a list's type (regular vs dynamic), views, and filters
* `add_list` — Create a regular or dynamic (filter-based) list
* `edit_list` — Rename, pin, filter, group, sort, or change the layout of a list view
* `remove_list` — Delete a list without deleting the records in it
* `add_companies_to_list` / `remove_companies_from_list`
* `add_contacts_to_list` / `remove_contacts_from_list`
* `add_deals_to_list` / `remove_deals_from_list`

**Files**

* `find_files` — List files attached to a company, contact, or deal
* `read_files` — Read the contents of attached files and answer a question about them

**LinkedIn**

* `find_linkedin_connections` — Search synced LinkedIn connections across all workspace members
* `send_linkedin_connection_request` — Queue a connection request to a contact, sent on the next LinkedIn sync

**Reports & dashboards**

* `find_reports` — Search saved reports (charts and KPIs)
* `read_report` — Run a saved report server-side and return its computed data
* `find_dashboards` — List reporting dashboards and the panels on them
* `add_dashboard` — Create an empty reporting dashboard
* `edit_dashboard` — Rename a dashboard, restyle it, or switch its column layout
* `add_report` — Save a chart or KPI panel onto a dashboard
* `edit_report` — Change a saved panel's chart config, size, or position

**Sequences**

Drafts are saved immediately but stay inactive until you explicitly activate them from an approved activation plan.

* `sequences_list` — Find outreach sequences by name or lifecycle status
* `sequences_get` — Read one sequence's definition, revision, validation state, and audience count
* `sequences_create_draft` — Create a validated, inactive sequence draft
* `sequences_update_draft` — Apply a revision-guarded change to an inactive draft
* `sequences_inspect_audience` — Review enrolled contacts, their states, channels, steps, and outcomes
* `sequences_update_audience` — Stage, approve, reject, cancel, or re-enroll contacts
* `sequences_force_next_step` — Manually advance contacts to their next sequence step
* `sequences_prepare_activation` — Calculate the activation impact and create a short-lived confirmation plan
* `sequences_activate` — Activate a sequence from an explicitly approved activation plan
* `sequences_pause` — Pause an active sequence
* `sequences_inspect_participants` — Review enrolled contacts, their preparation state, and their ordered message previews
* `sequences_prepare_participants` — Retry preparation or refresh the CRM inputs behind an unstarted contact's messages
* `sequences_inspect_messages` — Read a contact's generated or written messages, with their exact IDs and revisions
* `sequences_write_messages` — Save personalized subject and body content for specific messages
* `sequences_generate_messages` — Regenerate a whole message or a named snippet, optionally with feedback
* `sequences_resolve_message_changes` — Keep customized copy or reset it to the builder's current settings after a step changes
* `sequences_review_messages` — Accept, revoke, hold, or release specific message revisions
* `sequences_approve_participant` — Approve one contact's complete message set and release their enrollment

**Lead search**

Company-first lead discovery from external databases.

* `lead_search_companies` — Find a bounded set of external company candidates by filters
* `lead_search_contacts` — Find people inside a previously returned company result set
* `import_lead_search_results` — Create CRM companies and contacts from a result set, optionally staging them into a sequence for review

**Email verification & messaging compliance**

* `verify_contact_emails` — Verify contact email addresses (uses workspace credits)
* `unsubscribe_contacts_from_all_messaging` — Globally suppress contacts from outbound messaging and cancel their pending sequence runs

**Archive & delete**

* `archive_companies`, `archive_contacts`, `archive_deals`
* `remove_company`, `remove_contact`, `remove_deal`, `remove_note`, `remove_task`
* `remove_tasks`, `remove_notes`

**Skills**

The assistant can load task-specific instructions on demand.

* `activate_skill` — Load the instructions for a task the assistant is about to perform
* `read_skill_file` — Read a reference file that belongs to those instructions

**Contexts**

* `load_context` — Load the full markdown content of an AI context by ID
* `find_contexts` — Search AI context snippets (ICP definitions, scoring criteria, writing style)
* `add_context` — Create a new AI context snippet
* `edit_context` — Update an AI context snippet

</details>

## Tool permissions

Most MCP clients let you set access per tool: **Allow** to use it freely, **Ask** to require your permission each time, **Deny** to block it.

The setup worth having is read-only by default — allow every `find_*` tool — with confirmation required for anything that creates, updates or deletes. Your client's settings will say how.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.zero.inc/developers/mcp.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
