Skip to content
Last updated

Native Insyder MCP

Connect your AI assistant to your Insyder workspaces. The native MCP provides all 51 public API operations as tools: read leads and analytics, update lead details, manage products, record purchases, and create exports, within the permissions you approve.

This is the MCP for working with your data. The separate Documentation MCP searches these guides and explains the API; it cannot access or change your workspace data. You can connect both, using the names Insyder Native and Insyder API Docs to tell them apart.

Native Insyder MCPDocumentation MCP
Use it toRead and act on your Insyder dataLearn how to use Insyder's API and MCP
Server URLhttps://api.insyder.io/mcphttps://docs.insyder.io/mcp
AuthenticationOAuth sign-in; API keys also supportedNone; public documentation
Workspace accessOnly the workspace and actions you approveNone
Example request“Show my top leads this week.”“Which filters does the leads endpoint accept?”

Before you connect

You need an Insyder account with access to a workspace, and permission to add custom connectors in your assistant. Claude's hosted connector and ChatGPT in a browser use OAuth sign-in. The ChatGPT desktop Add MCP server form uses a personal Insyder API key. Neither setup needs a local bridge, Node.js installation, or tunnel.

Use this server URL:

https://api.insyder.io/mcp

For OAuth, sign in with your existing Insyder account when prompted, choose a workspace, and select Allow access. Read-only access is selected by default. Enable the additional requested actions only if you want the assistant to make changes or create exports. Your assistant receives the data returned by the tools you permit.

Connect to Claude Desktop

Use Claude's hosted custom connector. You can add it through your Claude account and use it in Claude Desktop.

  1. Open Claude and go to Customize > Connectors > Add custom connector.
  2. Name it Insyder Native, enter https://api.insyder.io/mcp, and select Continue.
  3. Keep the detected Sign in now and Use Claude’s published identity settings, then select Add. On the connector page, select Connect. Sign in to Insyder, choose the workspace and permissions, and select Allow access. No client ID or secret is needed.
  4. Enable Insyder Native in your conversation's + > Connectors menu. Ask “Use Insyder Native to list my accessible workspaces.”

For Team and Enterprise, an owner first adds the URL under Organization settings > Connectors > Add > Custom > Web. Each member then selects Connect to approve their own Insyder access. See Claude's custom connector instructions.

If you previously used claude_desktop_config.json, disable that local Insyder entry after verifying this connection so duplicate tools do not appear. The optional API-key bridge remains available for local-only clients.

Connect to ChatGPT

ChatGPT desktop app

Follow these steps if your Plugins page has Plugins / Apps / MCPs / Skills tabs. This connection uses an API key. To connect by signing in to Insyder instead, follow ChatGPT in a browser below.

  1. Create an Insyder key. In Insyder, open Preferences > API access > Create a key. Set Key name to ChatGPT, choose Read only, and select the workspace you want to use. Select Save, then Copy. The full key is shown only once.

  2. Open the MCP form. In the ChatGPT desktop app, go to Plugins. Click Add at the top right, then Add MCP server.

    ChatGPT Plugins page with the Add menu open and Add MCP server available.

  3. Fill in the connection. On Connect to a custom MCP, enter Insyder Native in Name, then select Streamable HTTP next to Type. This replaces Command to launch with the URL field. Fill the form exactly as follows:

    FieldWhat to enter
    NameInsyder Native
    TypeStreamable HTTP
    URLhttps://api.insyder.io/mcp
    Bearer token env varLeave empty
    Headers — KeyX-API-Key
    Headers — ValuePaste the full Insyder key you copied, starting with insyder_live_
    Headers from environment variablesLeave empty

    Paste the key only into Headers > Value, without adding Bearer before it. Keep it out of chat messages.

    ChatGPT custom MCP form after selecting Streamable HTTP, showing URL, Bearer token env var, Headers, Headers from environment variables, and Save.

  4. Save and restart. Click Save at the bottom right, then Restart when ChatGPT offers it. In Plugins > MCPs, keep Insyder Native enabled.

  5. Try it. Start a new conversation and send:

    Use Insyder Native to list my accessible workspaces.

    ChatGPT should return the workspace you selected for the key. You can now ask it to read leads, products, or analytics. To allow changes or exports later, edit the key's permissions in Insyder > Preferences > API access.

Insyder currently supports OAuth for hosted ChatGPT connections; the desktop MCP connection above uses the X-API-Key header. For more about the desktop form, see OpenAI's desktop MCP guide.

ChatGPT in a browser (OAuth)

Use this separate setup at chatgpt.com to connect with your Insyder sign-in.

  1. Open Settings > Security and login and turn on Developer mode.
  2. Open ChatGPT Plugins and select + to add an MCP connection.
  3. Enter Name: Insyder Native, Description: Read and manage my Insyder workspace data, and the public URL https://api.insyder.io/mcp under Connection. If authentication options appear, select OAuth and leave the optional client ID and secret empty.
  4. Create the connection. Sign in to Insyder, choose a workspace, review the permissions, and select Allow access.
  5. Start a new conversation, add Insyder Native from the tools menu, and ask “Use Insyder Native to list my accessible workspaces.”

If Developer mode or + is unavailable, your account or workspace policy may restrict custom connections. A workspace administrator may need to enable them. See OpenAI's browser MCP instructions.

Connect another MCP client

Clients with custom HTTP headers can use a personal API key:

SettingValue
NameInsyder Native
TransportStreamable HTTP
Server URLhttps://api.insyder.io/mcp
Header nameX-API-Key
Header valueYour personal Insyder API key

Create a key under Insyder > Preferences > API access, select its workspaces and permissions, and save it when displayed. Use the client's private secret storage for the header. Never paste credentials into a chat message or put them in the server URL. See API-key authentication.

OAuth client onboarding currently supports hosted ChatGPT and Claude. Other clients should use the API-key connection unless their OAuth integration has been enabled by Insyder. Send only one authentication method per request.

The native URL ends in /mcp, not /v1/mcp or /sse. Authentication applies to tool discovery and calls. The server is stateless and supports legacy MCP clients and the 2026-07-28 protocol; opening the URL in a browser is not a connection test.

Optional local API-key connection

For a client that only accepts local mcpServers configuration, install Node.js LTS and use the mcp-remote bridge. This optional setup runs on your computer. The Claude and ChatGPT setups above do not use it.

{
  "mcpServers": {
    "insyder-native": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@0.13.5",
        "https://api.insyder.io/mcp",
        "--transport",
        "http-only",
        "--silent",
        "--header",
        "X-API-Key:${INSYDER_API_KEY}"
      ],
      "env": {
        "INSYDER_API_KEY": "YOUR_INSYDER_API_KEY"
      }
    }
  }
}

Replace YOUR_INSYDER_API_KEY with your saved key in the private configuration file; leave ${INSYDER_API_KEY} unchanged. Fully restart the client. Use an absolute npx path if it is not on the client's PATH. Closing the local bridge stops this connection.

What you can do

Try these requests after listing your workspaces:

  • “For workspace @mybrand, show 20 uncontacted leads with a score of at least 80.”
  • “Summarize the revenue and lead funnel for @mybrand this month.”
  • “Show the products in @mybrand, including archived products.”
  • “Update this lead's notes to ‘Requested a callback tomorrow’.”
  • “Prepare an export of the leads in @mybrand and retrieve the download link when it is ready.”

The last two requests require the corresponding write/export scopes. The assistant should use the account_id returned by listAccounts; a workspace's username is not its API identifier.

Permissions

ActionRequired scopeAdditional rule
Read data and analyticsdata:readWorkspace must be approved on the connection or key
Edit user-managed lead fieldsleads:writeStatus, email, phone, and notes only
Create, edit, or archive productsproducts:writeUser must be OWNER or ADMIN in the workspace
Record purchasespurchases:writePurchases are append-only
Create exportsexports:create and data:readDownload links expire

The catalogue lists every tool, including tools your connection cannot execute. The API checks permissions on each call. OAuth disconnection, key revocation, expiry, workspace access, and membership changes are checked on each request. MCP uses the same API limits, including the shared per-user rate limit; it does not grant extra access.

Imported data and system-derived facts remain read-only. Neither MCP adds provider credentials, connection management, synchronization controls, analysis triggers, or other operations absent from the public API.

Complete tool catalogue

Each tool name matches an operationId in the API reference, with the same parameters and responses.

CapabilityTools
WorkspaceslistAccounts, getAccount
LeadslistLeads, getLead, updateLead, listLeadInteractions, getLeadActivity, listLeadStatusHistory, listLeadScoreHistory, listLeadPurchases, listLeadIclosedCalls
ContentlistContent, getContent, listContentInteractions, listContentLeads, listContentSnapshots
InteractionslistInteractions
ProductslistProducts, getProduct, createProduct, updateProduct, archiveProduct
PurchaseslistPurchases, getPurchase, createPurchase
HistorylistRuns, listAccountSnapshots, listAllContentSnapshots, listHighlights, getHighlight, listHighlightItems
Imported resultslistIclosedCalls, listCompetitors, getCompetitor, listCompetitorInteractions, getCompetitorContentPerformance, listCompetitorReactiveProfiles
AnalyticsgetAnalyticsOverview, getLeadGrowthAnalytics, getAudienceSeries, getAudienceSegments, getFunnelAnalytics, getRevenueAnalytics, getContentPerformanceAnalytics, getCommentBehaviorAnalytics, getStoryPerformanceAnalytics, getTeamConversionAnalytics
ExportscreateExport, getExport, deleteExport

Tool arguments and results

Most assistants build tool arguments for you. For custom integrations, API path and query parameters become top-level arguments, JSON payloads go inside body, and Idempotency-Key becomes idempotency_key. Array filters stay JSON arrays.

Example arguments for listLeads:

{
  "account_id": "WORKSPACE_ID",
  "status": ["uncontacted"],
  "min_score": 80,
  "limit": 20
}

Example arguments for updateLead:

{
  "account_id": "WORKSPACE_ID",
  "lead_id": "LEAD_ID",
  "body": { "notes": "Requested a callback tomorrow" }
}

Tools return both JSON text and structured content containing the API's status, operational headers, and unchanged response body:

{
  "status": 200,
  "headers": { "x-request-id": "REQUEST_ID" },
  "body": {
    "data": [],
    "meta": { "request_id": "REQUEST_ID", "has_more": false, "next_cursor": null }
  }
}
  • Pagination: pass body.meta.next_cursor as cursor, keeping the same filters. Collections default to 50 items, with a maximum of 200; smaller pages can be easier for assistants to handle.
  • Writes: createProduct, createPurchase, and createExport require idempotency_key. If a call's outcome is uncertain, retry with the same key and identical body. The API retains idempotency records for 24 hours.
  • Exports: call createExport, then poll getExport until ready. Use the returned temporary download links before they expire. deleteExport cancels/deletes an export.
  • Errors: API failures set isError: true and preserve the API's problem response. Invalid tool arguments are rejected before dispatch. A successful deletion may return status 204 with body: null.

Troubleshooting

SymptomWhat to check
Assistant searches docs but cannot list workspacesYou connected Insyder API Docs. Add Insyder Native using this guide and select it in the conversation.
ChatGPT desktop shows Command to launch instead of URLSelect Streamable HTTP next to Type.
ChatGPT desktop asks to authenticate or returns 401Check Headers: Key must be X-API-Key and Value must contain your full, active Insyder key. Leave Bearer token env var empty, save, and restart ChatGPT.
OAuth connection fails before sign-inUse https://api.insyder.io/mcp, select OAuth, and leave client ID/secret empty. Refresh or recreate an older connection to fetch current authentication metadata.
“Connection interrupted”Restart Connect from your assistant. Allow cookies in the sign-in browser, finish the flow promptly, and use an Insyder account with a verified email and workspace access.
Sign-in appears despite an open Insyder appSign in with the same Insyder account. The browser's connector-login session is separate from the app's existing session.
Connection expired or 401Reconnect the assistant. OAuth connections expire after 90 days or when disconnected. For API-key clients, check key expiry, revocation, and the X-API-Key header.
403 when calling a toolCheck the approved scopes and your workspace role. Reconnect and approve the additional actions if you need them.
Workspace/resource returns 404Check account_id, the selected workspace, and current membership. Inaccessible resources also return 404.
Wrong workspaceDisconnect and reconnect, selecting the workspace you want. Each OAuth connection approves one workspace.
Native endpoint returns 404 or gateway “Missing Authentication Token”Verify the API host and /mcp path. Contact Insyder support if the native backend is unavailable.
429Reduce concurrent calls and follow retry-after when present. REST and MCP share a per-user data quota. If connecting another assistant fails, disconnect an unused one; up to 20 OAuth connections can be active per user.
No custom-connector/app controlsCheck your assistant plan and organization policy. An administrator may need to enable or add the connector first.
Optional local bridge cannot startCheck Node.js and the npx executable path, then fully restart the client.
Tool output is too largeAsk for fewer records or a narrower date range, then paginate. Use exports for bulk data.

Disconnect or change access

In Insyder > Preferences > API access > Connected assistants, select Disconnect next to the connection. This immediately blocks its access to Insyder. You can also remove the connector in Claude or ChatGPT. Other connections and your Insyder login remain active.

To change the workspace or permissions, disconnect and connect again. If you use an API-key client, revoke or edit its key under API access, and update the private client configuration after rotating it.