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 Requestsand aRetry-Afterheader.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
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:
open Customize → Connectors and click Add (top right)
Name:
iClosed.
Remote MCP server URL:https://mcp.iclosed.io/mcp.
Click ContinueKeep authentication set to Always required (Claude detects this).
Don't choose None.Let Claude register an OAuth client
Claude opens a browser page, "Finish connecting a connector?" and click Continue connecting.
Sign in and allow access in iClosed
Return to Claude:
Set tool permissions
In Customize → Connectors, open the iClosed connector to see its Tool permissions list.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
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 |
|
Windows |
|
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
Open the Customize page in Cursor, where your MCP servers are listed.
Find iclosed and turn it on.
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
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
Click Start above the
iclosedentry inmcp.json, or run MCP: List Servers and start iclosed.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
Other Clients
Any assistant or editor that supports remote MCP servers over Streamable HTTP with OAuth sign-in can connect to iClosed.
Connection checklist
Check that your client supports remote MCP. Look for "MCP", "connectors" or "remote server" in its settings or documentation.
Add the server URL
https://mcp.iclosed.io/mcp. Include the/mcppath. Leave headers and API key fields empty.Sign in when the client prompts you. Your browser opens the iClosed consent screen. Sign in and click Allow access.
Reload the client if its documentation says MCP settings are cached.
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 |
| List and search contacts, with filters such as status, event, owner, tags and UTM values |
| Read |
| Get one contact, including stats |
| Read |
| Get a contact's activity history |
| Read |
| Create a contact, or update the existing one with the same email or phone |
| Write |
| Update a contact's details |
| Write |
Tools - Contact notes
Tool | What it does | Scope | Type |
| List the notes on a contact |
| Read |
| Add a note to a contact |
| Write |
Tools - Custom Fields
Tool | What it does | Scope | Type |
| List custom fields for every object type |
| Read |
| List custom fields for one object type, such as contact or call |
| Read |
| Get the Contact Stages field and its options |
| Read |
| Create a custom field |
| Write |
| Update a custom field |
| Write |
| Set a field answer on a contact or call |
| Write |
| Set the same field answer on many contacts |
| Write |
| Save a contact's answers to an event's booking questions |
| Write |
Tools - Deals
Tool | What it does | Scope | Type |
| List deals, with filters such as contact, closer, product and date |
| Read |
| Create a deal for a call |
| Write |
| Update a deal's value, closer or other details |
| Write |
Tools - Events
Tool | What it does | Scope | Type |
| List events, or get one by ID or token |
| Read |
| List events with their booking link prefix |
| Read |
| Get one event by ID or link prefix |
| Read |
| Get available booking dates and times for an event |
| Read |
| Show every slot on a date and why each is or isn't available |
| Read |
| Activate or deactivate an event |
| Write |
Tools - Event Calls
Tool | What it does | Scope | Type |
| Search calls by date, event, closer, setter, contact, outcome and more |
| Read |
| Book a call on an event |
| Write |
| Move a call to a new time |
| Write |
| Cancel a call |
| Write |
| Reassign a call to another closer |
| Write |
| Mark a booked call's calendar slot as free or busy |
| Write |
Tools - Products
Tool | What it does | Scope | Type |
| List products |
| Read |
| Create a product |
| Write |
| Update a product |
| Write |
Tools - Call outcomes
Tool | What it does | Scope | Type |
| Set a call's outcome, with notes, and create a deal when the outcome is won |
| Write |
Tools - Transactions
Tool | What it does | Scope | Type |
| List transactions, with filters such as source, sync status and date |
| Read |
| Record a transaction |
| Write |
| Update a transaction |
| Write |
| Permanently delete a transaction |
| Write |
Tools - Users and availability
Tool | What it does | Scope | Type |
| List the users in your workspace, including removed users |
| Read |
| List availability schedules, with their weekly slots and linked events |
| 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, calls and deals |
Contact notes |
| Contacts, calls and deals |
Custom fields |
| Custom fields, or Contacts, calls and deals (read only) |
Deals |
| Contacts, calls and deals |
Events |
| Events |
Event calls |
| Contacts, calls and deals |
|
| Scheduled events |
Call outcomes |
| Contacts, calls and deals |
Products |
| Products |
Transactions |
| Contacts, calls and deals |
Availability |
| Availability |
Users |
| 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 |
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. |
| You hit the limit of 20 requests per 10 seconds. Wait for the time in |
Client only supports local (stdio) servers | Use the |
FAQs
Do I need an API key?
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?
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?
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?
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?
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?
Can I connect more than one assistant?
Yes. Each one appears separately in Settings → Developer → Connected apps.
Does iClosed see my prompts?
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?
How do I disconnect?
Revoke the app in Settings → Developer → Connected apps, and remove the connector from the assistant.










