{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-docs/mcp/mcp.sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Security and permissions"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"security-and-permissions","__idx":0},"children":["Security and permissions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["What an assistant can access through the iClosed MCP server, what you approve, and how to take access away."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"scopes","__idx":1},"children":["Scopes"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When an assistant connects, it asks for ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["scopes"]},": permission to read or write one area of your workspace, such as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["contacts:read"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["deals:write"]},". The consent screen lists them before you click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Allow access"]},". ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/mcp/tools"},"children":["Tools"]}," lists the scope each tool needs."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Area"},"children":["Area"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Scopes"},"children":["Scopes"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Your role needs access to"},"children":["Your role needs access to"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Contacts"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["contacts:read"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["contacts:write"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Contacts, calls and deals"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Contact notes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["contacts.notes:read"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["contacts.notes:write"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Contacts, calls and deals"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Custom fields"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fields:read"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fields:write"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Custom fields, or Contacts, calls and deals (read only)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Deals"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["deals:read"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["deals:write"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Contacts, calls and deals"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Events"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["events:read"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["events:write"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Events"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Event calls"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["eventCalls:read"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Contacts, calls and deals"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["eventCalls:write"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Scheduled events"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Call outcomes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["outcomes:write"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Contacts, calls and deals"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Products"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["products:read"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["products:write"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Products"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Transactions"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactions:read"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactions:write"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactions:delete"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Contacts, calls and deals"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Availability"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["availabilities:read"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Availability"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Users"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["users:read"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["User management"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Webhooks, billing and API keys are not available through MCP."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"access-is-bounded-by-your-role","__idx":2},"children":["Access is bounded by your role"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The assistant acts as ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["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."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["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."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"the-consent-screen","__idx":3},"children":["The consent screen"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Assistants register themselves with iClosed when you first connect. iClosed has not reviewed these registrations, so the consent screen marks them ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Self-registered · Unverified"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Before you click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Allow access"]},":"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Check that you started the connection yourself, from the assistant you expect."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Check the redirect notice. For Claude it points to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://claude.ai"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Check the workspace and the permissions listed."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The assistant app is operated by its provider, not by iClosed."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"your-data-and-the-ai-provider","__idx":4},"children":["Your data and the AI provider"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["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."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Connecting an assistant is covered by Section 9 (Third-party services, customer-controlled integrations and external applications) of the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://www.iclosed.io/terms"},"children":["iClosed Terms of Service"]}," and by the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://www.iclosed.io/acceptable-use-policy"},"children":["Acceptable Use Policy"]},"."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"prompt-injection","__idx":5},"children":["Prompt injection"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["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:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Set ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["write"]}," tools to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Needs approval"]}," (or your client's equivalent) and read each action before you confirm it."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Be careful about connecting iClosed in the same chat as tools that can send email, post messages or browse the web."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Approve only the scopes you need."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"revoking-access","__idx":6},"children":["Revoking access"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["One connection:"]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings → Developer → Connected apps → Revoke"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Every member's assistant:"]}," an account owner or super admin turns off ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings → Developer → MCP"]},". Connections made by the account owner or a super admin keep working, so revoke those one by one. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/mcp/admins"},"children":["For admins"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Also remove the connector or server from the assistant itself."]}]}]},"headings":[{"value":"Security and permissions","id":"security-and-permissions","depth":1},{"value":"Scopes","id":"scopes","depth":2},{"value":"Access is bounded by your role","id":"access-is-bounded-by-your-role","depth":2},{"value":"The consent screen","id":"the-consent-screen","depth":2},{"value":"Your data and the AI provider","id":"your-data-and-the-ai-provider","depth":2},{"value":"Prompt injection","id":"prompt-injection","depth":2},{"value":"Revoking access","id":"revoking-access","depth":2}],"frontmatter":{"sidebar":{"path":"./mcp.sidebars.yaml"},"seo":{"title":"Security and permissions"}},"lastModified":"2026-10-07T07:39:18.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/mcp/security","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}