Skip to main content

iClosed MCP

Plug iClosed straight into your AI assistant with the MCP serve and pull data and automate busywork

The iClosed MCP server gives your MCP-compatible assistant access to the actions available through the iClosed API, so you can ask it to work with your data and carry out tasks directly from your conversation.

Think of it as handing your AI assistant the keys to iClosed. Instead of clicking through the app or writing API calls yourself, you just say what you want:

  • Access your iClosed data from your AI assistant

  • Ask your assistant to carry out actions supported by the iClosed API

  • Combine requests into a workflow without writing a single API call yourself

  • Get answers and take action in the same conversation, instead of jumping between tools

Everything your assistant does runs with your API key's permissions and your plan's rate limits, so you stay in full control of what it can see and do.

Important Notes

iClosed MCP server is in Beta currently, available with all subscription plans.

An account owner or super admin can turn MCP on for the workspace to allow other team members to connect it as well.

You don't need an API key for connecting it. Leave any "headers" or "API key" fields in your assistant empty as iClosed MCP uses OAuth sign-in only.


How It Works

  • MCP is an open standard for connecting AI assistants to tools and data. The iClosed MCP server exposes workspace actions as tools that your assistant can call. Each tool maps to an operation in the public API.

  • You'll sign in with OAuth 2.1 and PKCE, the authorization method MCP clients expect. Your assistant registers itself with iClosed automatically, then you approve the requested permissions on the iClosed consent screen.

  • Access follows your role. The assistant acts as you, in the workspace you approved. It can only do what your iClosed role allows, even if it requested more.

  • Tokens: access tokens last 1 hour, and your assistant renews them automatically.

  • Rate limits: each connection can make up to 20 requests per 10 seconds. The standard per-account API rate limits also apply. If you go over the limit, the server responds with 429 Too Many Requests and a Retry-After header.

  • Transport: Streamable HTTP.


What You Can Do With AI Agent

iClosed

What an AI can do

Contacts

List, search, view, create and update contacts; view a contact's journey

Contact notes

Read and add notes on a contact

Custom fields

Read fields and contact stages; create and update fields; set field answers

Deals

List, create and update deals

Events

List events, check available booking slots, activate or deactivate an event

Event calls

Search calls, book, reschedule or cancel a call, reassign the closer, set the call outcome

Products

List, create and update products

Transactions

List, record, update and delete transactions

Users and availability

List workspace users and their availability schedules


Step-By-Step Guide

Step 1 - Enable MCP

Navigate to Settings → Developer → select MCP tab to connect.

MCP is controlled per account and is turned ON by default for Super Admins.

Super Admin can allow other users to connect too by clicking on the toggle button "Allow your team to connect MCP of iclosed with AI agents"


Step 2 - Connect Your AI Assistant

Add the server URL https://mcp.iclosed.io/mcp to your assistant, then sign in.

Pick your tool below.


Claude

Before you connect: MCP must be turned on for your workspace ( Settings → Developer → select MCP tab to connect.

Add iClosed as a custom connector. You set it up once in Claude on the web or Desktop, and it's then available on web, Desktop, and mobile.

Pro Tips

On a Claude Team or Enterprise plan, an owner adds the connector once in Organization settings → Connectors.

Members then connect it from Customize → Connectors.

Here're the steps:

  1. open Customize → Connectors and click Add (top right)

  2. Name: iClosed.
    ​Remote MCP server URL: https://mcp.iclosed.io/mcp.
    Click Continue

  3. Keep authentication set to Always required (Claude detects this).
    Don't choose None.

  4. Let Claude register an OAuth client

    1. Under OAuth client, keep "No client ID — register one automatically" selected

    2. and leave additional headers empty.

    3. Click Add.

  5. Claude opens a browser page, "Finish connecting a connector?" and click Continue connecting.

  6. Sign in and allow access in iClosed

  7. Return to Claude:

    1. open the iClosed connector and set Tool permissions

    2. set write tools like Create deal or Cancel event call to Needs approval so Claude asks before each one.
      ​

  8. Set tool permissions
    In Customize → Connectors, open the iClosed connector to see its Tool permissions list.

  9. Check connection - Start a new chat and ask: "Show me my contacts in iClosed." Claude should call the iClosed connector and answer from your workspace.
    ​

    ​


Claude Code

Before you connect: MCP must be turned on for your workspace (Settings → Developer → MCP, by an account owner or super admin). You don't need an API key.


1. Add the server

Run this in your terminal:

claude mcp add --transport http iclosed https://mcp.iclosed.io/mcp

To share the server with everyone working in a repository, add --scope project. Claude Code then writes it to .mcp.json at the repository root. The file holds only the URL, so it is safe to commit.


2. Sign in

Start Claude Code, run /mcp, select iclosed and choose Authenticate. Your browser opens the iClosed consent screen. Sign in and click Allow access.


3. Check that it works

Ask: "Show me my contacts in iClosed." Claude Code should call an iClosed tool and answer from your workspace.

Pro Tips

To stop Claude from using iClosed, remove the connector in Customize → Connectors, and revoke it in iClosed under Settings → Developer → Connected apps.


Cursor

Before you connect: MCP must be turned on for your workspace ( Settings → Developer → select MCP tab to connect), by an account owner or super admin).

You don't need an API key.

One-click install

Add to Cursor - Cursor opens and asks you to confirm the new server.

Then go to Sign in.


Manual setup

Option A: for all your projects

Edit (or create) the user config file:

OS

Path

macOS / Linux

~/.cursor/mcp.json

Windows

%USERPROFILE%\.cursor\mcp.json

Add the iClosed server:

{
"mcpServers": {
"iclosed": {
"url": "https://mcp.iclosed.io/mcp"
}
}
}

If the file already lists other servers, add iclosed inside the existing mcpServers object.

Option B: for one project

Create .cursor/mcp.json at the root of the repository with the same JSON.

The file holds only the URL, so it is safe to commit.


Sign in

  1. Open the Customize page in Cursor, where your MCP servers are listed.

  2. Find iclosed and turn it on.

  3. Your browser opens the iClosed consent screen. Sign in and click Allow access.


Check that it works

In Agent chat, ask: "Show me my contacts in iClosed." You should see an iClosed tool call and an answer from your workspace.


VS Code

Before you connect: MCP must be turned on for your workspace ( Settings → Developer → select MCP tab to connect.

One-click install

VS Code opens and asks you to confirm the new server. Then go to Sign in.


Manual setup

To add iClosed to one workspace, create .vscode/mcp.json:

{
"servers": {
"iclosed": {
"type": "http",
"url": "https://mcp.iclosed.io/mcp"
}
}
}

To add it for all your workspaces instead, run MCP: Open User Configuration from the Command Palette and add the same iclosed entry under servers.


Sign in

  1. Click Start above the iclosed entry in mcp.json, or run MCP: List Servers and start iclosed.

  2. VS Code asks to sign in. Your browser opens the iClosed consent screen. Sign in and click Allow access.


Check that it works

Open Copilot Chat in Agent mode and ask: "Show me my contacts in iClosed." You should see an iClosed tool call and an answer from your workspace.


Other Clients

Any assistant or editor that supports remote MCP servers over Streamable HTTP with OAuth sign-in can connect to iClosed.

Connection checklist

  1. Check that your client supports remote MCP. Look for "MCP", "connectors" or "remote server" in its settings or documentation.

  2. Add the server URL https://mcp.iclosed.io/mcp. Include the /mcp path. Leave headers and API key fields empty.

  3. Sign in when the client prompts you. Your browser opens the iClosed consent screen. Sign in and click Allow access.

  4. Reload the client if its documentation says MCP settings are cached.

  5. Check that it works: ask "Show me my contacts in iClosed."

The consent screens look the same in every client. See Connect iClosed to Claude for screenshots.


Clients that only support local (stdio) servers

Use mcp-remote as a bridge. It runs locally, connects to the iClosed server, and handles OAuth sign-in in your browser. It needs Node.js 18 or later.

Most clients accept a config like this:

{
"mcpServers": {
"iclosed": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.iclosed.io/mcp"]
}
}
}

If you need any additional help, feel free to reach out to our customer support team via in-app chat button at the bottom right of your screen.


Disconnecting

  • One connection: Settings → Developer → Connected apps → Revoke (and remove the connector from the assistant).

  • Every assistant in the workspace at once: an account owner or super admin turns off Settings → Developer → MCP.


Tools & Security

These are the tools the iClosed MCP server gives your assistant. Tool names are the same in every client, though some clients display them differently (for example, Claude shows create_contact as Create contact).

  • Each tool needs a scope that you approve on the consent screen.

  • The tool also only works if your iClosed role allows the action.

  • Write tools change data in your workspace.

  • Consider setting them to Needs approval in your assistant - See Security section.

Pro Tips

Some tools are aliases of another tool, under a name assistants find more easily: get_events_for_link_prefix and search_public_events (of get_events), get_available_booking_slots (of get_public_event_dates), and book_public_event (of create_event_call).


Tools - Contacts

Tool

What it does

Scope

Type

get_contacts

List and search contacts, with filters such as status, event, owner, tags and UTM values

contacts:read

Read

get_contact_by_id

Get one contact, including stats

contacts:read

Read

get_contact_journey

Get a contact's activity history

contacts:read

Read

create_contact

Create a contact, or update the existing one with the same email or phone

contacts:write

Write

update_contact

Update a contact's details

contacts:write

Write


Tools - Contact notes

Tool

What it does

Scope

Type

get_contact_notes

List the notes on a contact

contacts.notes:read

Read

create_contact_note

Add a note to a contact

contacts.notes:write

Write


Tools - Custom Fields

Tool

What it does

Scope

Type

get_all_object_types_custom_fields

List custom fields for every object type

fields:read

Read

get_custom_fields_by_object_type

List custom fields for one object type, such as contact or call

fields:read

Read

get_contact_stage

Get the Contact Stages field and its options

fields:read

Read

create_custom_field

Create a custom field

fields:write

Write

update_custom_field

Update a custom field

fields:write

Write

create_custom_field_answer

Set a field answer on a contact or call

fields:write

Write

bulk_create_custom_field_answer

Set the same field answer on many contacts

fields:write

Write

insert_invitee_answers

Save a contact's answers to an event's booking questions

fields:write

Write


Tools - Deals

Tool

What it does

Scope

Type

get_deals

List deals, with filters such as contact, closer, product and date

deals:read

Read

create_deal

Create a deal for a call

deals:write

Write

update_deal

Update a deal's value, closer or other details

deals:write

Write


Tools - Events

Tool

What it does

Scope

Type

get_events

List events, or get one by ID or token

events:read

Read

get_events_for_link_prefix, search_public_events

List events with their booking link prefix

events:read

Read

get_event_by_id

Get one event by ID or link prefix

events:read

Read

get_public_event_dates, get_available_booking_slots

Get available booking dates and times for an event

events:read

Read

troubleshoot_slots

Show every slot on a date and why each is or isn't available

events:read

Read

update_event_status

Activate or deactivate an event

events:write

Write


Tools - Event Calls

Tool

What it does

Scope

Type

search_event_call

Search calls by date, event, closer, setter, contact, outcome and more

eventCalls:read

Read

create_event_call, book_public_event

Book a call on an event

eventCalls:write

Write

reschedule_event_call

Move a call to a new time

eventCalls:write

Write

cancel_event_call

Cancel a call

eventCalls:write

Write

update_call_closer

Reassign a call to another closer

eventCalls:write

Write

update_slot_free

Mark a booked call's calendar slot as free or busy

eventCalls:write

Write


Tools - Products

Tool

What it does

Scope

Type

list_products

List products

products:read

Read

create_product

Create a product

products:write

Write

update_product

Update a product

products:write

Write


Tools - Call outcomes

Tool

What it does

Scope

Type

update_task

Set a call's outcome, with notes, and create a deal when the outcome is won

outcomes:write

Write


Tools - Transactions

Tool

What it does

Scope

Type

get_transactions

List transactions, with filters such as source, sync status and date

transactions:read

Read

create_transaction

Record a transaction

transactions:write

Write

update_transaction

Update a transaction

transactions:write

Write

delete_transaction

Permanently delete a transaction

transactions:delete

Write


Tools - Users and availability

Tool

What it does

Scope

Type

get_users

List the users in your workspace, including removed users

users:read

Read

get_user_availabilities

List availability schedules, with their weekly slots and linked events

availabilities:read

Read


Security and permissions

What an assistant can access through the iClosed MCP server, what you approve, and how to take access away.

Scopes

When an assistant connects, it asks for scopes: permission to read or write one area of your workspace, such as contacts:read or deals:write. The consent screen lists them before you click Allow access.

Area

Scopes

Your role needs access to

Contacts

contacts:read, contacts:write

Contacts, calls and deals

Contact notes

contacts.notes:read, contacts.notes:write

Contacts, calls and deals

Custom fields

fields:read, fields:write

Custom fields, or Contacts, calls and deals (read only)

Deals

deals:read, deals:write

Contacts, calls and deals

Events

events:read, events:write

Events

Event calls

eventCalls:read

Contacts, calls and deals

eventCalls:write

Scheduled events

Call outcomes

outcomes:write

Contacts, calls and deals

Products

products:read, products:write

Products

Transactions

transactions:read, transactions:write, transactions:delete

Contacts, calls and deals

Availability

availabilities:read

Availability

Users

users:read

User management


Access is bounded by your role

The assistant acts as you. Even with a scope approved, it can only do what your iClosed role allows. If the assistant asks for something your role doesn't have, the consent screen tells you, and that access isn't granted.

If your role only has access to your own records (for example, your own contacts, events or scheduled calls), the assistant also sees only those records.


The consent screen

Assistants register themselves with iClosed when you first connect. iClosed has not reviewed these registrations, so the consent screen marks them Self-registered · Unverified. Before you click Allow access:

  • Check that you started the connection yourself, from the assistant you expect.

  • Check the redirect notice. For Claude it points to https://claude.ai.

  • Check the workspace and the permissions listed.

The assistant app is operated by its provider, not by iClosed.


Your data and the AI provider

When an assistant calls an iClosed tool, the results (for example contact names, emails and call details) are sent to that assistant's provider, such as Anthropic, Cursor or Microsoft. The provider handles that data under its own terms and privacy policy. Check them, and your company's policies, before you connect.

Connecting an assistant is covered by Section 9 (Third-party services, customer-controlled integrations and external applications) of the iClosed Terms of Service and by the Acceptable Use Policy.


Prompt injection

Text stored in your workspace, such as a contact note or a booking answer written by a lead, could contain instructions aimed at the AI. A model may follow them. To reduce the risk:

  • Set write tools to Needs approval (or your client's equivalent) and read each action before you confirm it.

  • Be careful about connecting iClosed in the same chat as tools that can send email, post messages or browse the web.

  • Approve only the scopes you need.


Revoking access

  • One connection: Settings → Developer → Connected apps → Revoke.

  • Every member's assistant: an account owner or super admin turns off Settings → Developer → MCP. Connections made by the account owner or a super admin keep working, so revoke those one by one. See For admins.

  • Also remove the connector or server from the assistant itself.


Example Prompts

Copy these into your assistant after you connect iClosed.

Mention iClosed in the prompt so the assistant knows to use it. Adjust names, dates and events to match your workspace.

Pro Tips

  • Be specific about dates and time zones. "Tomorrow at 3 pm New York time" works better than "tomorrow afternoon".

  • Review write actions. Set write tools to require approval in your assistant so you confirm creates, updates and cancellations before they run.

  • Large lists are paged. Ask for "all" results or a narrower date range if the assistant only shows the first page.


For Closers

Morning call prep

Show my iClosed calls for today. For each one, give me the contact's name, the event, their answers to the booking questions, and any notes on the contact.

Log a note after a call

Add a note to Jane Doe's contact in iClosed: "Interested in the annual plan. Follow up Thursday with pricing."

Log the outcome and the deal

Mark my iClosed call with Jane Doe today as won, with the note "Signed annual plan" and no objection, and create the deal: product "Coaching Program", value 5,000.

Reschedule

Move my iClosed call with Jane Doe to tomorrow at 3 pm her time and note that she asked to reschedule.


For Setters

No-show recovery

Find iClosed calls from the last 7 days with a no-show outcome. List the contacts with their email and phone, and the event they booked.

Book a call for a lead

Find available slots this week on the "Discovery Call" event in iClosed, then book the first one for jane@example.com.

Add a new lead

Create a contact in iClosed: Jane Doe, jane@example.com, +1 555 0100. Then show me their contact record.


For Managers

Calls without outcomes

List iClosed calls from last week that are in the past and have no outcome yet, grouped by closer.

Weekly revenue by closer

Using iClosed deals created this week, total the deal value by closer and rank them.

Pipeline check

How many iClosed contacts are in each contact stage? Show the 10 most recently created contacts with no call booked.

Cash collected

List iClosed transactions from this month and total them by source.

Reassign calls

Check Sam's availability schedule in iClosed, then reassign Alex's calls on Friday to Sam where Sam is available.


Troubleshooting

Problem

What to do

"AI assistants are turned off for this workspace"

MCP is off for the workspace. Ask your account owner or a super admin to turn it on in Settings → Developer → MCP.

Allow access is missing on the consent screen

Usually the same cause: MCP is off for this workspace. Read the notice on the consent screen.

Connection refused, timeout, or "authentication not detected"

Check the URL is exactly https://mcp.iclosed.io/mcp, including /mcp. Check that your VPN, proxy or firewall allows HTTPS to mcp.iclosed.io.

Client asks for an API key or headers

Leave them empty. iClosed MCP uses OAuth sign-in only.

Consent screen never opens

Finish any "continue connecting" step in the browser. Allow pop-ups for your assistant and iClosed.

Connected to the wrong workspace

Revoke the connection, sign in to iClosed as the right user, and connect again. Pick the right workspace on the consent screen.

Sign-in loop or "unauthorized" after it worked before

Your access was revoked or expired. Remove the server from your assistant, add it again, and sign in. In Cursor or VS Code, also clear the server's saved sign-in, or restart the app.

Tools never run

Check the server shows as connected. Mention iClosed in your prompt. In Cursor and VS Code, use Agent mode.

A tool fails with "insufficient scope" or "forbidden"

You didn't approve that scope, or your iClosed role doesn't allow the action. Reconnect and approve the scope, or ask an admin about your role.

Writes don't happen

Check the tool isn't blocked in your assistant's tool permissions.

429 Too Many Requests

You hit the limit of 20 requests per 10 seconds. Wait for the time in Retry-After, then try again. See Rate limiting.

Client only supports local (stdio) servers

Use the mcp-remote bridge. See Other clients.


FAQs

Do I need an API key?

No. You sign in with your iClosed account. API keys are for calling the REST API directly.


Which plans include MCP?

All iClosed plans. An account owner or super admin still has to turn MCP on before members can connect.


Do I need to register an OAuth client?

No. Your assistant registers itself automatically. Settings → Developer → OAuth Clients is for developers building their own apps.


Can the assistant see data my role can't?

No. It acts as you and can only do what your iClosed role allows.


Is the tool list the same in every assistant?

Yes. Clients may display the names differently. See Tools


Can I connect more than one assistant?

Yes. Each one appears separately in Settings → Developer → Connected apps.


Does iClosed see my prompts?

No. iClosed only receives the tool calls the assistant makes, such as "list contacts". Your conversation stays with the assistant's provider.


How do I disconnect?

Revoke the app in Settings → Developer → Connected apps, and remove the connector from the assistant.


Did this answer your question?