Quickstart: Connect Your AI Assistant to CloudTalk
Connect Claude, Cursor, or any MCP-compatible client to the CloudTalk MCP server in five minutes, by signing in with your CloudTalk account or with an API Access Key.
This guide connects an AI assistant to your CloudTalk account. By the end, the assistant can search your calls, read transcripts, and act on your account. See the Overview for everything it can do.
A CloudTalk account on the Essential plan or higher; MCP isn’t available on Starter. Check your plan under Settings → Billing, or compare plans.
One of the two ways to authenticate:
Sign in with CloudTalk (OAuth): a CloudTalk user with the Admin role. Available in Claude (Claude.ai, Claude Desktop, Claude mobile), Claude Code, ChatGPT and Gemini. Users with any other role are refused at sign-in.
API Access Key: an API Access Key ID and API Access Key Secret, for every client that can send a request header. If you haven’t generated these yet, follow the Authentication guide first.
Sign in with CloudTalk
API Access Key
Clients
Claude.ai, Claude Desktop, Claude mobile, Claude Code, ChatGPT, Gemini
Claude Code, Cursor, any client that can send a header; Claude.ai only with request-header connectors
Acts as
The admin who signed in
The company (user_id 0)
In a Claude Team or Enterprise organization
Each member signs in with their own CloudTalk account
Everyone shares the one key stored on the connector
To cut off access
Disconnect the connector in your assistant
Revoke the key in the Dashboard
Treat an API key pair like a password: anyone holding it can read your call and contact data and act on your account through an assistant. Revoke it from the Dashboard at any time.
1
Encode Your API Key (API key only)
Skip this step if you sign in with CloudTalk.With an API key, the MCP server uses HTTP Basic authentication. Combine your key pair into one header value:
tr -d '\n' matters: on Linux, base64 wraps long output across lines, and a line break inside the header value gets the request refused with a 403.
2
Connect Your Client
The server URL is the same for every client:
https://mcp.cloudtalk.io
Claude Code
Claude.ai and Desktop
Cursor
ChatGPT
Gemini
Other clients
Sign in with CloudTalk:
claude mcp add --scope user --transport http cloudtalk https://mcp.cloudtalk.io
Then run /mcp in Claude Code, pick cloudtalk and choose Authenticate. Your browser opens the CloudTalk sign-in page; sign in as an admin and approve the access on the consent screen.API key:
claude mcp add --scope user --transport http -H "Authorization: Basic <BASE64>" -- cloudtalk https://mcp.cloudtalk.io
These share one connector mechanism: Claude reaches the server from Anthropic’s cloud, not from your machine, so the setup is identical in the browser and in the desktop app. You add the connector here, not on a phone; once it exists it is available in the Claude mobile apps too. Which Claude plans can add one, and any limits on how many, are Anthropic’s to state; see About custom connectors.Sign in with CloudTalk:
On a personal plan: Customize → Connectors, then + → Add custom connector. On Team and Enterprise an organization owner does it in Organization settings → Connectors → Add, hovers Custom and picks Web. If you are not an owner, you will not see the option at all.
Give it a Name and set Remote MCP server URL to https://mcp.cloudtalk.io, then Continue.
Keep the Authentication option Claude detects and leave the OAuth client fields empty. Click Add.
Click Connect. Claude opens the CloudTalk sign-in page: sign in as an admin and approve the access on the consent screen. Claude returns you to the chat with the connector on.
On Team and Enterprise, the owner only adds the connector; each member clicks Connect and signs in with their own CloudTalk account.API key:
Check that the dialog has a Request headers section before you start. Anthropic’s request-header authentication is in beta and available to a limited set of organizations. If you do not see that section, your Claude organization does not have access yet and step 4 cannot be completed. Being an organization owner does not grant it, because the setting is Anthropic’s rather than CloudTalk’s. Sign in with CloudTalk instead.
Open the Add custom connector dialog as above.
Give it a Name and set Remote MCP server URL to https://mcp.cloudtalk.io, then Continue.
Change Authentication to None. Claude detects CloudTalk’s OAuth sign-in and pre-selects it; None is the option for “servers that use an API key instead of OAuth”, in Claude’s own words. It makes the header below the connector’s credential and hides the OAuth client section, which does not apply.
Under Request headers, click + Add header, pick authorization as the header name, and paste Basic <BASE64> from Step 1 as the value. Include the scheme: Claude’s own hint says the value is sent exactly as entered, so Basic with the trailing space must be part of what you paste. Leave Required checked.
Click Add, then toggle the connector on and start a new chat.
Header values are stored write-only. Claude never shows them again, so you cannot read back what is there to check it. Anthropic’s docs also state that authentication settings cannot be changed after a connector is added: to rotate the key, remove the connector and add it again with the new value.
A header is stored on the connector, not per person, so everyone who can use that connector acts as the CloudTalk company whose key it holds, including its write tools. On Team and Enterprise, that is everyone in the organization. Use a key from the account you mean to share.One connector per URL per Claude organization. Claude checks the URL as you type it and rejects a duplicate: “A connector with this URL already exists in your organization. Use the existing connector instead of adding it again.” Only the URL is compared, not the name. With a header, that means one CloudTalk company per Claude organization; with sign-in, each member reaches the company of the account they sign in with.
Cursor connects with an API key. Add to ~/.cursor/mcp.json:
ChatGPT connects by signing in with CloudTalk; it cannot send an API-key header.
In ChatGPT, click Plugins in the left menu, or go to Settings → Plugins → Browse directory.
Click Add → Add custom MCP server.
Enter a name such as CloudTalk, set Server URL to https://mcp.cloudtalk.io and Authentication to OAuth.
Tick I understand and want to continue, then click Create as a plugin.If you open Advanced OAuth settings, leave Registration method on Client Identifier Metadata Document (CIMD). The note “DCR is unavailable until a Registration URL is present” is expected: CloudTalk identifies ChatGPT through CIMD, so no client ID or secret is needed.
On the Connect CloudTalk screen, click Continue to CloudTalk. Sign in as an admin (skipped if you’re already signed in) and click Allow on the consent screen.
Click Try in chat to start a chat with the plugin enabled.
Which ChatGPT plans offer custom MCP servers is OpenAI’s to state. Menu names as of October 2026.
Gemini connects by signing in with CloudTalk; it cannot send an API-key header.
In Gemini, open the connected apps settings and add a custom MCP server with https://mcp.cloudtalk.io as the URL. Leave the client ID and secret under Additional settings empty. Whether your Google account can add custom connectors is Google’s to state; a Google Workspace admin may have turned them off.
Click Next. Gemini opens the CloudTalk sign-in page: sign in as an admin and approve the access on the consent screen.
Gemini currently has to sign in again roughly every 10 minutes. It does not request offline access, so CloudTalk issues it no refresh token, and the sign-in lasts only as long as one access token. Claude, Claude Code and ChatGPT stay connected.
MCP is an open protocol supported by many clients. Follow your client’s MCP setup instructions with https://mcp.cloudtalk.io as the server URL and the Authorization: Basic <BASE64> header. The Cursor configuration shape works for most. Sign in with CloudTalk is available to Claude, Claude Code, ChatGPT and Gemini only for now.
To give the assistant a focused tool set for one job, append a profile name to the URL, e.g. https://mcp.cloudtalk.io/analytics. See Profiles.
3
Verify the Connection
Ask the assistant:
Run the cloudtalk_health_check tool.
A successful run confirms three things at once: your credentials were accepted, your company is enabled for MCP, and which company and user they resolved to. Check the company ID matches the account you meant to connect.
Signed in with CloudTalk, user_id is your own user. An API Access Key belongs to the company, not to a person, so with a key user_id comes back as 0: that means “no specific user”, not user number 0. Tools that act as a particular agent take that agent’s id as a parameter instead.
4
Ask Your First Question
Try:
Show me yesterday’s missed calls that have no tags.
You don’t call tools by name; ask in natural language and the assistant picks the right ones. More ideas in Common use cases.
No credentials reached the server, or your sign-in expired. Sign in again (in Claude Code, /mcp → Authenticate); with an API key, check the client sends the Authorization header
403
With an API key: the key was refused. Re-encode it with no line breaks and check it wasn’t revoked. With either: MCP isn’t enabled for your account. Confirm you’re on Essential or higher, then contact your CloudTalk representative
Sign-in refused
Only CloudTalk users with the Admin role can connect by signing in. Sign in as an admin, or use an API key
429
Rate limit. Wait a minute
Tools don’t appear
Restart the client after adding the connector
”A connector with this URL already exists in your organization”
Someone in your Claude organization has already added https://mcp.cloudtalk.io. Claude compares the URL, not the name. Use the existing connector: signed in, each member connects to their own account
No Request headers section in the Add custom connector dialog
Request-header authentication is a beta Anthropic enables per organization, and yours does not have it yet. Sign in with CloudTalk instead, or use Claude Code or Cursor with the key
A tool returns “no data”
Run cloudtalk_health_check and confirm the company ID is the account you meant
Most errors carry a requestId; quote it when contacting support. A 401 or a refused API key is rejected at the gateway before one is generated, so quote your API Key ID, or the email you signed in with, instead. A 401 carries a WWW-Authenticate challenge that points clients to CloudTalk’s sign-in.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"CloudTalk Help Center","description":"CloudTalk developer documentation — REST API reference and integration guides.","colors":{"primary":"#0527FF","light":"#8495FF","dark":"#0420D5"},"logo":{"light":"https://mintcdn.com/cloudtalk/M_FX1uE099dO0_78/logo/light.svg?fit=max\u0026auto=format\u0026n=M_FX1uE099dO0_78\u0026q=85\u0026s=9efde0e0ef215d0b41a2f8f92056e144","dark":"https://mintcdn.com/cloudtalk/M_FX1uE099dO0_78/logo/dark.svg?fit=max\u0026auto=format\u0026n=M_FX1uE099dO0_78\u0026q=85\u0026s=4f13ec15ddcb5aaaac1005fe27b20494"},"favicon":"https://mintcdn.com/cloudtalk/M_FX1uE099dO0_78/favicon.svg?fit=max\u0026auto=format\u0026n=M_FX1uE099dO0_78\u0026q=85\u0026s=b8634fcc454e4f7d772d4c384046ec0b","api":{"examples":{"prefill":true,"autogenerate":true}},"background":{"color":{"light":"#F9FAFB","dark":"#1A1B1E"}},"navbar":{"links":[{"href":"https://support.cloudtalk.io/","label":"Support"}],"primary":{"type":"button","label":"Log in","href":"https://dashboard.cloudtalk.io/"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/cloudtalk.io","youtube":"https://www.youtube.com/channel/UCIVoouQBQ9u6ahSJJ7f5orQ","facebook":"https://www.facebook.com/CloudTalkCallCenter","instagram":"https://www.instagram.com/cloudtalk_io"},"links":[{"header":"Product","items":[{"label":"Pricing","href":"https://www.cloudtalk.io/pricing"},{"label":"AI Voice Agents","href":"https://www.cloudtalk.io/ai-voice-agents"},{"label":"AI Sales Dialer","href":"https://www.cloudtalk.io/dialer"},{"label":"AI Receptionist","href":"https://www.cloudtalk.io/ai-receptionist"},{"label":"Inbound Call Center","href":"https://www.cloudtalk.io/inbound-support-center"},{"label":"Outbound Call Center","href":"https://www.cloudtalk.io/outbound-sales"}]},{"header":"Support","items":[{"label":"Help Center","href":"https://help.cloudtalk.io/en"},{"label":"Status Page","href":"https://status.cloudtalk.io/"},{"label":"Contact Us","href":"https://www.cloudtalk.io/contact"},{"label":"Request a Free Trial","href":"https://www.cloudtalk.io/signup"}]},{"header":"Company","items":[{"label":"Our Story","href":"https://www.cloudtalk.io/our-story"},{"label":"Careers","href":"https://www.cloudtalk.io/careers"},{"label":"Security","href":"https://www.cloudtalk.io/security"},{"label":"Trust Center","href":"https://trust.cloudtalk.io/"},{"label":"Brand Assets","href":"https://www.cloudtalk.io/brand-assets"}]},{"header":"Legal","items":[{"label":"Terms \u0026 Conditions","href":"https://www.cloudtalk.io/terms-and-conditions"},{"label":"Privacy Notice","href":"https://www.cloudtalk.io/privacy-notice"}]}]},"fonts":{"family":"Public Sans"},"styling":{"codeblocks":"system","latex":true},"integrations":{"ga4":{"measurementId":"G-FMQKD83J1Q"}},"contextual":{"options":["copy","view","mcp","cursor","vscode","chatgpt","claude","perplexity"],"display":"header"},"markdown":{"schema":false},"navigation":{"languages":[{"language":"en","href":"en"},{"language":"de","href":"de"},{"language":"es","href":"es"},{"language":"fr","href":"fr"},{"language":"nl","href":"nl"},{"language":"pt","href":"pt"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"cloudtalk","hasAudioNarration":false,"actualSubdomain":"cloudtalk","customDomains":["help.cloudtalk.io"],"gitSource":{"type":"github","owner":"cloudtalk-io","repo":"developer-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6aeb6572edeafab81dc5bb56","collectionId":"ff5268bf-c894-49c0-8aa9-3204af5b5aca","liveDeploymentHistoryId":"6aeb6572edeafab81dc5bb56","schemaVersion":"v3"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6aeb67560e1827ae617b1005","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"en","tag":"Help Center","count":450},{"language":"de","tag":"Hilfecenter","count":449},{"language":"es","tag":"Centro de ayuda","count":449},{"language":"fr","tag":"Centre d'aide","count":449},{"language":"nl","tag":"Helpcentrum","count":449},{"language":"pt","tag":"Centro de ajuda","count":449},{"language":"en","tag":"API","count":116},{"language":"en","tag":"API Reference","count":108},{"language":"en","tag":"Integrations","count":97},{"language":"de","tag":"Integrationen","count":97},{"language":"es","tag":"Integraciones","count":97},{"language":"fr","tag":"Intégrations","count":97},{"language":"nl","tag":"Integraties","count":97},{"language":"pt","tag":"Integrações","count":97},{"language":"en","tag":"Dashboard","count":89},{"language":"de","tag":"Dashboard","count":89},{"language":"es","tag":"Dashboard","count":89},{"language":"fr","tag":"Dashboard","count":89},{"language":"nl","tag":"Dashboard","count":89},{"language":"pt","tag":"Dashboard","count":89},{"language":"en","tag":"Numbers \u0026 porting","count":66},{"language":"de","tag":"Nummern \u0026 Portierung","count":66},{"language":"es","tag":"Números y portabilidad","count":66},{"language":"fr","tag":"Numéros et portabilité","count":66},{"language":"nl","tag":"Nummers \u0026 portering","count":66},{"language":"pt","tag":"Números e portabilidade","count":66},{"language":"en","tag":"CRM","count":51},{"language":"de","tag":"CRM","count":51},{"language":"es","tag":"CRM","count":51},{"language":"fr","tag":"CRM","count":51},{"language":"nl","tag":"CRM","count":51},{"language":"pt","tag":"CRM","count":51},{"language":"en","tag":"AI","count":43},{"language":"de","tag":"KI","count":42},{"language":"es","tag":"IA","count":42},{"language":"fr","tag":"IA","count":42},{"language":"nl","tag":"AI","count":42},{"language":"pt","tag":"IA","count":42},{"language":"en","tag":"Porting by country","count":40},{"language":"de","tag":"Portierung nach Land","count":40},{"language":"es","tag":"Portabilidad por país","count":40},{"language":"fr","tag":"Portabilité par pays","count":40},{"language":"nl","tag":"Portering per land","count":40},{"language":"pt","tag":"Portabilidade por país","count":40},{"language":"en","tag":"CloudTalk Phone \u0026 Go","count":38},{"language":"de","tag":"CloudTalk Phone \u0026 Go","count":38},{"language":"es","tag":"CloudTalk Phone y Go","count":38},{"language":"fr","tag":"CloudTalk Phone et Go","count":38},{"language":"nl","tag":"CloudTalk Phone \u0026 Go","count":38},{"language":"pt","tag":"CloudTalk Phone e Go","count":38},{"language":"de","tag":"Erste Schritte","count":33},{"language":"es","tag":"Primeros pasos","count":33},{"language":"fr","tag":"Premiers pas","count":33},{"language":"nl","tag":"Aan de slag","count":33},{"language":"pt","tag":"Primeiros passos","count":33},{"language":"de","tag":"Abrechnung \u0026 Abonnement","count":29},{"language":"es","tag":"Facturación y suscripción","count":29},{"language":"fr","tag":"Facturation et abonnement","count":29},{"language":"nl","tag":"Facturering \u0026 abonnement","count":29},{"language":"pt","tag":"Faturação e subscrição","count":29}],"searchSettings":{"maxResults":8,"showContentSnippets":true}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"html:not(.dark) #navbar>div:first-child{background:#f5f5f5}#navbar img.nav-logo{height:1.3125rem}#navbar a[href^=\"https://dashboard.cloudtalk.io\"],#navbar a[href^=\"https://dashboard.cloudtalk.io\"] *{color:#fff!important}#navbar a[href^=\"https://dashboard.cloudtalk.io\"]{background:#0420d5;height:2.25rem;padding:0 .875rem;border-radius:.625rem;font-weight:600}#navbar a[href^=\"https://dashboard.cloudtalk.io\"]:hover{background:#031aaa;color:#fff!important}.dark #navbar a[href^=\"https://dashboard.cloudtalk.io\"]{background:#0527ff}.dark #navbar a[href^=\"https://dashboard.cloudtalk.io\"]:hover{background:#304cff}#navbar a[href^=\"https://support.cloudtalk.io\"]{background:0 0;color:#181d27!important;box-shadow:inset 0 0 0 1px #d5d7da;height:2.25rem;padding:0 .875rem;border-radius:.625rem;font-weight:600}#navbar a[href^=\"https://support.cloudtalk.io\"]:hover{background:#e9eaeb;color:#181d27!important}.dark #navbar a[href^=\"https://support.cloudtalk.io\"]{background:0 0;color:#ececed!important;box-shadow:inset 0 0 0 1px #373a41}.dark #navbar a[href^=\"https://support.cloudtalk.io\"]:hover{background:#2b303b;color:#ececed!important}html:not(.dark) #assistant-entry{background:#fff}#navbar nav[aria-label=Main]>ul>li:not(:last-child){margin-inline-end:.75rem}#sidebar-content>button,#sidebar-content>div.border-t{display:none}nav#sidebar-content{border-right:0}@media (min-width:1024px){main#content-container{padding-left:3rem!important}}"}],"page":{"pagePath":"guides/mcp/quickstart","slug":"/guides/mcp/quickstart","pageMetadata":{"title":"Quickstart: Connect Your AI Assistant to CloudTalk","sidebarTitle":"Quickstart","description":"Connect Claude, Cursor, or any MCP-compatible client to the CloudTalk MCP server in five minutes, by signing in with your CloudTalk account or with an API Access Key.","href":"/guides/mcp/quickstart"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Connect Claude, Cursor, or any MCP-compatible client to the CloudTalk MCP server in five minutes, by signing in with your CloudTalk account or with an API Access Key.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,blockquote:`blockquote`,code:`code`,em:`em`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Note,Step,Steps,Tab,Table,Tabs,Tip,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`This guide connects an AI assistant to your CloudTalk account. By the end, the assistant can search your calls, read transcripts, and act on your account. See the `,_jsx(_components.a,{href:`/guides/mcp/overview`,children:`Overview`}),` for everything it can do.`]}),`\n`,_jsx(Heading,{level:`2`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`A CloudTalk account on the `,_jsx(_components.strong,{children:`Essential plan or higher`}),`; MCP isn’t available on Starter. Check your plan under `,_jsx(_components.strong,{children:`Settings → Billing`}),`, or `,_jsx(_components.a,{href:`https://www.cloudtalk.io/pricing/`,children:`compare plans`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`One of the two ways to authenticate:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Sign in with CloudTalk`}),` (OAuth): a CloudTalk user with the `,_jsx(_components.strong,{children:`Admin`}),` role. Available in `,_jsx(_components.strong,{children:`Claude`}),` (Claude.ai, Claude Desktop, Claude mobile), `,_jsx(_components.strong,{children:`Claude Code`}),`, `,_jsx(_components.strong,{children:`ChatGPT`}),` and `,_jsx(_components.strong,{children:`Gemini`}),`. Users with any other role are refused at sign-in.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`API Access Key`}),`: an `,_jsx(_components.strong,{children:`API Access Key ID`}),` and `,_jsx(_components.strong,{children:`API Access Key Secret`}),`, for every client that can send a request header. If you haven’t generated these yet, follow the `,_jsx(_components.a,{href:`/guides/authentication`,children:`Authentication guide`}),` first.`]}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{}),_jsx(_components.th,{children:`Sign in with CloudTalk`}),_jsx(_components.th,{children:`API Access Key`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Clients`}),_jsx(_components.td,{children:`Claude.ai, Claude Desktop, Claude mobile, Claude Code, ChatGPT, Gemini`}),_jsx(_components.td,{children:`Claude Code, Cursor, any client that can send a header; Claude.ai only with request-header connectors`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Acts as`}),_jsx(_components.td,{children:`The admin who signed in`}),_jsxs(_components.td,{children:[`The company (`,_jsx(_components.code,{children:`user_id`}),` 0)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`In a Claude Team or Enterprise organization`}),_jsx(_components.td,{children:`Each member signs in with their own CloudTalk account`}),_jsx(_components.td,{children:`Everyone shares the one key stored on the connector`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`To cut off access`}),_jsx(_components.td,{children:`Disconnect the connector in your assistant`}),_jsx(_components.td,{children:`Revoke the key in the Dashboard`})]})]})]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Treat an API key pair like a password: anyone holding it can read your call and contact data and act on your account through an assistant. Revoke it from the Dashboard at any time.`})}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Encode Your API Key (API key only)`,children:[_jsx(_components.p,{children:`Skip this step if you sign in with CloudTalk.`}),_jsx(_components.p,{children:`With an API key, the MCP server uses HTTP Basic authentication. Combine your key pair into one header value:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`printf`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '%s:%s'`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'YOUR_KEY_ID'`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'YOUR_KEY_SECRET'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` base64`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` tr`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '\\\\n'`})]}),`\n`]})})}),_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`tr -d '\\\\n'`}),` matters: on Linux, `,_jsx(_components.code,{children:`base64`}),` wraps long output across lines, and a line break inside the header value gets the request refused with a `,_jsx(_components.code,{children:`403`}),`.`]})})]}),_jsxs(Step,{title:`Connect Your Client`,children:[_jsx(_components.p,{children:`The server URL is the same for every client:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://mcp.cloudtalk.io`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsxs(Tabs,{children:[_jsxs(Tab,{title:`Claude Code`,id:`claude-code`,children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Sign in with CloudTalk:`})}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`claude`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` mcp`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` add`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --scope`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` user`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --transport`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` http`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` cloudtalk`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://mcp.cloudtalk.io`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`Then run `,_jsx(_components.code,{children:`/mcp`}),` in Claude Code, pick `,_jsx(_components.code,{children:`cloudtalk`}),` and choose `,_jsx(_components.strong,{children:`Authenticate`}),`. Your browser opens the CloudTalk sign-in page; sign in as an admin and approve the access on the consent screen.`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`API key:`})}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`claude`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` mcp`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` add`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --scope`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` user`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --transport`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` http`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Basic \u003cBASE64>\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` cloudtalk`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://mcp.cloudtalk.io`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`https://docs.anthropic.com/en/docs/claude-code/mcp`,children:`Claude Code MCP documentation`}),`.`]})]}),_jsxs(Tab,{title:`Claude.ai and Desktop`,id:`claude-ai-and-desktop`,children:[_jsxs(_components.p,{children:[`These share one connector mechanism: Claude reaches the server from Anthropic’s cloud, not from your machine, so the setup is identical in the browser and in the desktop app. You add the connector here, not on a phone; once it exists it is available in the Claude mobile apps too. Which Claude plans can add one, and any limits on how many, are Anthropic’s to state; see `,_jsx(_components.a,{href:`https://support.claude.com/en/articles/11175166-about-custom-connectors-remote-mcp`,children:`About custom connectors`}),`.`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Sign in with CloudTalk:`})}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`On a personal plan: `,_jsx(_components.strong,{children:`Customize → Connectors`}),`, then `,_jsx(_components.strong,{children:`+ → Add custom connector`}),`. On Team and Enterprise an `,_jsx(_components.strong,{children:`organization owner`}),` does it in `,_jsx(_components.strong,{children:`Organization settings → Connectors → Add`}),`, hovers `,_jsx(_components.strong,{children:`Custom`}),` and picks `,_jsx(_components.strong,{children:`Web`}),`. If you are not an owner, you will not see the option at all.`]}),`\n`,_jsxs(_components.li,{children:[`Give it a `,_jsx(_components.strong,{children:`Name`}),` and set `,_jsx(_components.strong,{children:`Remote MCP server URL`}),` to `,_jsx(_components.code,{children:`https://mcp.cloudtalk.io`}),`, then `,_jsx(_components.strong,{children:`Continue`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Keep the `,_jsx(_components.strong,{children:`Authentication`}),` option Claude detects and leave the `,_jsx(_components.strong,{children:`OAuth client`}),` fields empty. Click `,_jsx(_components.strong,{children:`Add`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Connect`}),`. Claude opens the CloudTalk sign-in page: sign in as an admin and approve the access on the consent screen. Claude returns you to the chat with the connector on.`]}),`\n`]}),_jsxs(_components.p,{children:[`On Team and Enterprise, the owner only adds the connector; each member clicks `,_jsx(_components.strong,{children:`Connect`}),` and signs in with their own CloudTalk account.`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`API key:`})}),_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Check that the dialog has a Request headers section before you start.`}),` Anthropic’s request-header authentication is `,_jsx(_components.a,{href:`https://claude.com/docs/connectors/custom/remote-mcp#authenticating-with-request-headers`,children:`in beta and available to a limited set of organizations`}),`. If you do not see that section, your Claude organization does not have access yet and step 4 cannot be completed. Being an organization owner does not grant it, because the setting is Anthropic’s rather than CloudTalk’s. Sign in with CloudTalk instead.`]})}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Open the `,_jsx(_components.strong,{children:`Add custom connector`}),` dialog as above.`]}),`\n`,_jsxs(_components.li,{children:[`Give it a `,_jsx(_components.strong,{children:`Name`}),` and set `,_jsx(_components.strong,{children:`Remote MCP server URL`}),` to `,_jsx(_components.code,{children:`https://mcp.cloudtalk.io`}),`, then `,_jsx(_components.strong,{children:`Continue`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[`Change Authentication to `,_jsx(_components.code,{children:`None`}),`.`]}),` Claude detects CloudTalk’s OAuth sign-in and pre-selects it; `,_jsx(_components.code,{children:`None`}),` is the option for `,_jsx(_components.em,{children:`“servers that use an API key instead of OAuth”`}),`, in Claude’s own words. It makes the header below the connector’s credential and hides the `,_jsx(_components.strong,{children:`OAuth client`}),` section, which does not apply.`]}),`\n`,_jsxs(_components.li,{children:[`Under `,_jsx(_components.strong,{children:`Request headers`}),`, click `,_jsx(_components.strong,{children:`+ Add header`}),`, pick `,_jsx(_components.code,{children:`authorization`}),` as the header name, and paste `,_jsx(_components.code,{children:`Basic \u003cBASE64>`}),` from Step 1 as the value. Include the scheme: Claude’s own hint says the value is sent exactly as entered, so `,_jsx(_components.code,{children:`Basic `}),` with the trailing space must be part of what you paste. Leave `,_jsx(_components.strong,{children:`Required`}),` checked.`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Add`}),`, then toggle the connector on and start a new chat.`]}),`\n`]}),_jsx(Note,{children:_jsxs(_components.p,{children:[`Header values are stored write-only. Claude never shows them again, so you cannot read back what is there to check it. Anthropic’s docs also state that `,_jsx(_components.a,{href:`https://claude.com/docs/connectors/custom/remote-mcp#managing-connectors`,children:`authentication settings cannot be changed after a connector is added`}),`: to rotate the key, remove the connector and add it again with the new value.`]})}),_jsxs(Warning,{children:[_jsx(_components.p,{children:`A header is stored on the connector, not per person, so everyone who can use that connector acts as the CloudTalk company whose key it holds, including its write tools. On Team and Enterprise, that is everyone in the organization. Use a key from the account you mean to share.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`One connector per URL per Claude organization.`}),` Claude checks the URL as you type it and rejects a duplicate: `,_jsx(_components.em,{children:`“A connector with this URL already exists in your organization. Use the existing connector instead of adding it again.”`}),` Only the URL is compared, not the name. With a header, that means one CloudTalk company per Claude organization; with sign-in, each member reaches the company of the account they sign in with.`]})]})]}),_jsxs(Tab,{title:`Cursor`,id:`cursor`,children:[_jsxs(_components.p,{children:[`Cursor connects with an API key. Add to `,_jsx(_components.code,{children:`~/.cursor/mcp.json`}),`:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"mcpServers\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"cloudtalk\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://mcp.cloudtalk.io\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"headers\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"Authorization\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Basic \u003cBASE64>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`https://cursor.com/docs/mcp`,children:`Cursor’s MCP documentation`}),`.`]})]}),_jsxs(Tab,{title:`ChatGPT`,id:`chatgpt`,children:[_jsx(_components.p,{children:`ChatGPT connects by signing in with CloudTalk; it cannot send an API-key header.`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`In ChatGPT, click `,_jsx(_components.strong,{children:`Plugins`}),` in the left menu, or go to `,_jsx(_components.strong,{children:`Settings → Plugins → Browse directory`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Add → Add custom MCP server`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Enter a name such as `,_jsx(_components.em,{children:`CloudTalk`}),`, set `,_jsx(_components.strong,{children:`Server URL`}),` to `,_jsx(_components.code,{children:`https://mcp.cloudtalk.io`}),` and `,_jsx(_components.strong,{children:`Authentication`}),` to `,_jsx(_components.strong,{children:`OAuth`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Tick `,_jsx(_components.strong,{children:`I understand and want to continue`}),`, then click `,_jsx(_components.strong,{children:`Create as a plugin`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`If you open `,_jsx(_components.strong,{children:`Advanced OAuth settings`}),`, leave `,_jsx(_components.strong,{children:`Registration method`}),` on `,_jsx(_components.strong,{children:`Client Identifier Metadata Document (CIMD)`}),`. The note “DCR is unavailable until a Registration URL is present” is expected: CloudTalk identifies ChatGPT through CIMD, so no client ID or secret is needed.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`On the `,_jsx(_components.strong,{children:`Connect CloudTalk`}),` screen, click `,_jsx(_components.strong,{children:`Continue to CloudTalk`}),`. Sign in as an admin (skipped if you’re already signed in) and click `,_jsx(_components.strong,{children:`Allow`}),` on the consent screen.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Try in chat`}),` to start a chat with the plugin enabled.`]}),`\n`]}),`\n`]}),_jsx(_components.p,{children:`Which ChatGPT plans offer custom MCP servers is OpenAI’s to state. Menu names as of October 2026.`})]}),_jsxs(Tab,{title:`Gemini`,id:`gemini`,children:[_jsx(_components.p,{children:`Gemini connects by signing in with CloudTalk; it cannot send an API-key header.`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`In Gemini, open the connected apps settings and add a custom MCP server with `,_jsx(_components.code,{children:`https://mcp.cloudtalk.io`}),` as the URL. Leave the client ID and secret under `,_jsx(_components.strong,{children:`Additional settings`}),` empty. Whether your Google account can add custom connectors is Google’s to state; a Google Workspace admin may have turned them off.`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Next`}),`. Gemini opens the CloudTalk sign-in page: sign in as an admin and approve the access on the consent screen.`]}),`\n`]}),_jsx(Warning,{children:_jsx(_components.p,{children:`Gemini currently has to sign in again roughly every 10 minutes. It does not request offline access, so CloudTalk issues it no refresh token, and the sign-in lasts only as long as one access token. Claude, Claude Code and ChatGPT stay connected.`})})]}),_jsx(Tab,{title:`Other clients`,id:`other-clients`,children:_jsxs(_components.p,{children:[`MCP is an open protocol supported by many clients. Follow your client’s MCP setup instructions with `,_jsx(_components.code,{children:`https://mcp.cloudtalk.io`}),` as the server URL and the `,_jsx(_components.code,{children:`Authorization: Basic \u003cBASE64>`}),` header. The Cursor configuration shape works for most. Sign in with CloudTalk is available to Claude, Claude Code, ChatGPT and Gemini only for now.`]})})]}),_jsx(Tip,{children:_jsxs(_components.p,{children:[`To give the assistant a focused tool set for one job, append a profile name to the URL, e.g. `,_jsx(_components.code,{children:`https://mcp.cloudtalk.io/analytics`}),`. See `,_jsx(_components.a,{href:`/guides/mcp/overview#profiles`,children:`Profiles`}),`.`]})})]}),_jsxs(Step,{title:`Verify the Connection`,children:[_jsx(_components.p,{children:`Ask the assistant:`}),_jsxs(_components.blockquote,{children:[`\n`,_jsxs(_components.p,{children:[`Run the `,_jsx(_components.code,{children:`cloudtalk_health_check`}),` tool.`]}),`\n`]}),_jsxs(_components.p,{children:[`A successful run confirms three things at once: your credentials were accepted, your company is enabled for MCP, and which company and user they resolved to. `,_jsx(_components.strong,{children:`Check the company ID matches the account you meant to connect.`})]}),_jsx(Note,{children:_jsxs(_components.p,{children:[`Signed in with CloudTalk, `,_jsx(_components.code,{children:`user_id`}),` is your own user. An API Access Key belongs to the company, not to a person, so with a key `,_jsx(_components.code,{children:`user_id`}),` comes back as `,_jsx(_components.code,{children:`0`}),`: that means “no specific user”, not user number 0. Tools that act as a particular agent take that agent’s id as a parameter instead.`]})})]}),_jsxs(Step,{title:`Ask Your First Question`,children:[_jsx(_components.p,{children:`Try:`}),_jsxs(_components.blockquote,{children:[`\n`,_jsx(_components.p,{children:`Show me yesterday’s missed calls that have no tags.`}),`\n`]}),_jsxs(_components.p,{children:[`You don’t call tools by name; ask in natural language and the assistant picks the right ones. More ideas in `,_jsx(_components.a,{href:`/guides/mcp/overview#common-use-cases`,children:`Common use cases`}),`.`]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Symptom`}),_jsx(_components.th,{children:`Fix`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`401`})}),_jsxs(_components.td,{children:[`No credentials reached the server, or your sign-in expired. Sign in again (in Claude Code, `,_jsx(_components.code,{children:`/mcp`}),` → `,_jsx(_components.strong,{children:`Authenticate`}),`); with an API key, check the client sends the `,_jsx(_components.code,{children:`Authorization`}),` header`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`403`})}),_jsx(_components.td,{children:`With an API key: the key was refused. Re-encode it with no line breaks and check it wasn’t revoked. With either: MCP isn’t enabled for your account. Confirm you’re on Essential or higher, then contact your CloudTalk representative`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Sign-in refused`}),_jsxs(_components.td,{children:[`Only CloudTalk users with the `,_jsx(_components.strong,{children:`Admin`}),` role can connect by signing in. Sign in as an admin, or use an API key`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`429`})}),_jsx(_components.td,{children:`Rate limit. Wait a minute`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Tools don’t appear`}),_jsx(_components.td,{children:`Restart the client after adding the connector`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`”A connector with this URL already exists in your organization”`}),_jsxs(_components.td,{children:[`Someone in your Claude organization has already added `,_jsx(_components.code,{children:`https://mcp.cloudtalk.io`}),`. Claude compares the URL, not the name. Use the existing connector: signed in, each member connects to their own account`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[`No `,_jsx(_components.strong,{children:`Request headers`}),` section in the Add custom connector dialog`]}),_jsxs(_components.td,{children:[`Request-header authentication is `,_jsx(_components.a,{href:`https://claude.com/docs/connectors/custom/remote-mcp#authenticating-with-request-headers`,children:`a beta Anthropic enables per organization`}),`, and yours does not have it yet. Sign in with CloudTalk instead, or use `,_jsx(_components.strong,{children:`Claude Code`}),` or `,_jsx(_components.strong,{children:`Cursor`}),` with the key`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`A tool returns “no data”`}),_jsxs(_components.td,{children:[`Run `,_jsx(_components.code,{children:`cloudtalk_health_check`}),` and confirm the company ID is the account you meant`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Most errors carry a `,_jsx(_components.code,{children:`requestId`}),`; quote it when contacting support. A `,_jsx(_components.code,{children:`401`}),` or a refused API key is rejected at the gateway before one is generated, so quote your API Key ID, or the email you signed in with, instead. A `,_jsx(_components.code,{children:`401`}),` carries a `,_jsx(_components.code,{children:`WWW-Authenticate`}),` challenge that points clients to CloudTalk’s sign-in.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Quickstart: Connect Your AI Assistant to CloudTalk","sidebarTitle":"Quickstart","description":"Connect Claude, Cursor, or any MCP-compatible client to the CloudTalk MCP server in five minutes, by signing in with your CloudTalk account or with an API Access Key.","href":"/guides/mcp/quickstart"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Prerequisites","slug":"prerequisites","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/cloudtalk/3405988015c78c5c/theme-toggle.js"],"subdomain":"cloudtalk","siteName":"CloudTalk Help Center","title":"Quickstart: Connect Your AI Assistant to CloudTalk - CloudTalk Help Center","relatedPagesConfig":{"enabled":true,"limit":3,"mode":"automatic"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/guides/mcp/quickstart","matchLevel":0},"de":{"href":"/de","matchLevel":4},"es":{"href":"/es","matchLevel":4},"fr":{"href":"/fr","matchLevel":4},"nl":{"href":"/nl","matchLevel":4},"pt":{"href":"/pt","matchLevel":4}}},"lastModified":"2026-10-26T16:28:34.630Z","originalFileLocation":"guides/mcp/quickstart.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Connect Claude, Cursor, or any MCP-compatible client to the CloudTalk MCP server in five minutes, by signing in with your CloudTalk account or with an API Access Key.\">\u003cmeta data-mint-head name=\"application-name\" content=\"CloudTalk Help Center\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cloudtalk/VvADT62SW6ZfhiGL/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/cloudtalk/VvADT62SW6ZfhiGL/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cloudtalk/VvADT62SW6ZfhiGL/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/cloudtalk/VvADT62SW6ZfhiGL/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/cloudtalk/VvADT62SW6ZfhiGL/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cloudtalk/VvADT62SW6ZfhiGL/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cloudtalk/VvADT62SW6ZfhiGL/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/cloudtalk/VvADT62SW6ZfhiGL/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/cloudtalk/VvADT62SW6ZfhiGL/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Quickstart: Connect Your AI Assistant to CloudTalk - CloudTalk Help Center\">\u003cmeta data-mint-head property=\"og:description\" content=\"Connect Claude, Cursor, or any MCP-compatible client to the CloudTalk MCP server in five minutes, by signing in with your CloudTalk account or with an API Access Key.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"CloudTalk Help Center\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://help.cloudtalk.io/guides/mcp/quickstart\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cloudtalk.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Quickstart%3A+Connect+Your+AI+Assistant+to+CloudTalk\u0026amp;description=Connect+Claude%2C+Cursor%2C+or+any+MCP-compatible+client+to+the+CloudTalk+MCP+server+in+five+minutes%2C+by+signing+in+with+your+CloudTalk+account+or+with+an+API+Acces\u0026amp;theme=1e2a8314c967ca8053f46579\u0026amp;signature=e7f4db883eecbcaca6c30abe8aafd40e0575169aa95c4a6469860c2ccb82091d\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Quickstart: Connect Your AI Assistant to CloudTalk - CloudTalk Help Center\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Connect Claude, Cursor, or any MCP-compatible client to the CloudTalk MCP server in five minutes, by signing in with your CloudTalk account or with an API Access Key.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cloudtalk.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Quickstart%3A+Connect+Your+AI+Assistant+to+CloudTalk\u0026amp;description=Connect+Claude%2C+Cursor%2C+or+any+MCP-compatible+client+to+the+CloudTalk+MCP+server+in+five+minutes%2C+by+signing+in+with+your+CloudTalk+account+or+with+an+API+Acces\u0026amp;theme=1e2a8314c967ca8053f46579\u0026amp;signature=e7f4db883eecbcaca6c30abe8aafd40e0575169aa95c4a6469860c2ccb82091d\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/cloudtalk/VvADT62SW6ZfhiGL/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"CloudTalk Help Center\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0527FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://help.cloudtalk.io/guides/mcp/quickstart\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/guides/mcp/quickstart.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://help.cloudtalk.io/#organization\",\"name\":\"CloudTalk Help Center\",\"url\":\"https://help.cloudtalk.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/cloudtalk/M_FX1uE099dO0_78/logo/light.svg?fit=max\u0026auto=format\u0026n=M_FX1uE099dO0_78\u0026q=85\u0026s=9efde0e0ef215d0b41a2f8f92056e144\"}},{\"@type\":\"WebSite\",\"@id\":\"https://help.cloudtalk.io#website\",\"name\":\"CloudTalk Help Center\",\"url\":\"https://help.cloudtalk.io\",\"publisher\":{\"@id\":\"https://help.cloudtalk.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://help.cloudtalk.io/guides/mcp/quickstart#webpage\",\"url\":\"https://help.cloudtalk.io/guides/mcp/quickstart\",\"name\":\"Quickstart: Connect Your AI Assistant to CloudTalk\",\"description\":\"Connect Claude, Cursor, or any MCP-compatible client to the CloudTalk MCP server in five minutes, by signing in with your CloudTalk account or with an API Access Key.\",\"dateModified\":\"2026-10-26T16:28:34.630Z\",\"isPartOf\":{\"@id\":\"https://help.cloudtalk.io#website\"}},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://help.cloudtalk.io/guides/mcp/quickstart#article\",\"headline\":\"Quickstart: Connect Your AI Assistant to CloudTalk\",\"name\":\"Quickstart: Connect Your AI Assistant to CloudTalk\",\"description\":\"Connect Claude, Cursor, or any MCP-compatible client to the CloudTalk MCP server in five minutes, by signing in with your CloudTalk account or with an API Access Key.\",\"url\":\"https://help.cloudtalk.io/guides/mcp/quickstart\",\"mainEntityOfPage\":{\"@id\":\"https://help.cloudtalk.io/guides/mcp/quickstart#webpage\"},\"dateModified\":\"2026-10-26T16:28:34.630Z\",\"publisher\":{\"@id\":\"https://help.cloudtalk.io/#organization\"},\"isPartOf\":{\"@id\":\"https://help.cloudtalk.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"CloudTalk Help Center\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"CloudTalk Help Center","nav":{"global":null,"languages":[{"language":"en","tabs":[{"tab":"Help Center","pages":[{"title":"Help Center","href":"/en"}]},{"tab":"API","pages":[{"title":"API","href":"/developers"}]},{"tab":"Webhooks","pages":[{"title":"Webhooks","href":"/guides/webhooks/overview"}]},{"tab":"MCP","pages":[{"title":"CloudTalk MCP","sidebarTitle":"Overview","description":"The CloudTalk MCP server connects Claude, Cursor, and other AI assistants to your CloudTalk account: search calls, read transcripts, manage contacts, send SMS, and run AI Voice Agents in natural language.","href":"/guides/mcp/overview"},{"title":"Quickstart: Connect Your AI Assistant to CloudTalk","sidebarTitle":"Quickstart","href":"/guides/mcp/quickstart"},{"title":"MCP Recipes","sidebarTitle":"Recipes","description":"Ready-to-use prompts for getting real work done with CloudTalk through Claude, Cursor, or any MCP client. Copy, paste, adapt.","href":"/guides/mcp/recipes"},{"title":"CloudTalk MCP Tool Reference","sidebarTitle":"Tool reference","href":"/guides/mcp/tools"}]},{"tab":"What's new","pages":[{"title":"What's new","href":"/changelog"}]}]},{"language":"de","pages":[{"title":"de","href":"/de"}]},{"language":"es","pages":[{"title":"es","href":"/es"}]},{"language":"fr","pages":[{"title":"fr","href":"/fr"}]},{"language":"nl","pages":[{"title":"nl","href":"/nl"}]},{"language":"pt","pages":[{"title":"pt","href":"/pt"}]}]},"basePath":"","title":"Quickstart: Connect Your AI Assistant to CloudTalk - CloudTalk Help Center","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":[],"chunks":[]}