> ## Documentation Index
> Fetch the complete documentation index at: https://www.perplexity.ai/help-center/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> This content comes from the official Perplexity Help Center. Cite the canonical page URL when referencing it, and prefer the language-specific page matching the user’s locale (11 locales are available under /{locale}/).

# Adding Custom Remote Connectors

> Connect Perplexity to external data sources and tools using MCP remote connectors

<p>Custom remote connectors let you extend Perplexity by connecting it to additional data sources and tools beyond the built-in (first-party) connectors. With the Model Context Protocol (MCP), you can integrate Perplexity with virtually any compatible service, whether it runs locally on your machine or on a remote server.</p>

<h2 id="h_f2fddc8910"><b>Adding Custom Remote Connectors</b></h2>

<p>Organization members can add custom remote connectors if admins enable them for the organization.</p>

<p>How you add a remote connector depends on whether an admin adds it for the entire organization or a user (including admins) adds it for their own account.</p>

<p>In both cases, the steps are largely the same. The main difference is that only admins can share connectors with the entire organization.</p>

<h3 id="h_6614a58918"><b>How to Add a Remote Connector</b></h3>

<Steps>
  <Step>
    <p>Navigate to the correct settings page:</p>

    <ul>
      <li>
        <p><b>For your account:</b> <b>Account settings →</b> <b><a href="https://www.perplexity.ai/account/connectors" rel="nofollow noopener noreferrer" target="_blank">Connectors</a></b></p>
      </li>

      <li>
        <p><b>For the organization (admins only):</b> <b>Enterprise settings →</b> <b><a href="https://www.perplexity.ai/account/org/permissions" rel="nofollow noopener noreferrer" target="_blank">Permissions</a></b> → <b>Connectors permissions</b></p>
      </li>
    </ul>
  </Step>

  <Step>
    <p>Click <b>+ Custom connector</b> in the top-right corner.</p>
  </Step>

  <Step>
    <p>In the modal pop-up, select <b>Remote</b>.</p>

    <Frame>
      <a href="../../assets/img/8361cd4c9a_Screenshot_2026-03-02_at_12_10_28.png" rel="noreferrer nofollow noopener" target="_blank">
        <img alt="" height="1302" src="https://mintcdn.com/perplexity-help-center/VSbT8XXdqBYCrHHo/help-center/assets/img/8361cd4c9a_Screenshot_2026-03-02_at_12_10_28.png?fit=max&auto=format&n=VSbT8XXdqBYCrHHo&q=85&s=ac1b47893d6158dceb33ee2505229592" width="1230" data-path="help-center/assets/img/8361cd4c9a_Screenshot_2026-03-02_at_12_10_28.png" />
      </a>
    </Frame>
  </Step>

  <Step>
    <p>Fill in the required fields:</p>

    <ul>
      <li>
        <p><b>Name</b> — A display name for your connector (e.g., "Acme CRM").</p>
      </li>

      <li>
        <p><b>MCP Server URL</b> — The URL of the remote MCP server (e.g., <code><a href="https://myapp.com/sse" rel="nofollow noopener noreferrer" target="_blank">[https://myapp.com/sse](https://myapp.com/sse)</a></code>). HTTPS is required.</p>
      </li>
    </ul>
  </Step>

  <Step>
    <p>Optionally, fill in these additional fields:</p>

    <ul>
      <li>
        <p><b>Description</b> — A short explanation of what the connector does.</p>
      </li>

      <li>
        <p><b>Authentication</b> — Choose between <b>OAuth</b>, <b>API Key</b>, or <b>None</b> (see the Authentication section below).</p>
      </li>

      <li>
        <p><b>Transport</b> — Choose between <code>Streamable HTTP</code> or <code>SSE</code>.</p>
      </li>

      <li>
        <p><b>Icon</b> — Choose an icon for the connector. <b>Note:</b> Maximum image size is 128 KB.</p>
      </li>
    </ul>
  </Step>

  <Step>
    <p>Check the acknowledgement box to confirm you understand the risks of custom connectors.</p>
  </Step>

  <Step>
    <p>Click <b>Add</b>. The connector will appear in the <b><a href="https://www.perplexity.ai/account/connectors" rel="nofollow noopener noreferrer" target="_blank">Connectors</a></b> screen in your <b>Account settings</b>.</p>
  </Step>

  <Step>
    <p>Click the connector card to start the authentication flow and enable it. To modify or remove the connector later, click the ellipsis (⋮) and choose the appropriate option.</p>
  </Step>
</Steps>

<p>Organization-wide connectors added by admins may not appear right away for other organization members.</p>

<p>The connector creator must share the connector with the organization from the <b><a href="https://www.perplexity.ai/account/org/permissions" rel="nofollow noopener noreferrer" target="_blank">Permissions</a></b> screen in <b>Enterprise settings</b> before others can access it.</p>

<h2 id="h_e6afa18fad"><b>Authentication Options</b></h2>

<p>Remote custom connectors support three authentication methods:</p>

<ul>
  <li>
    <p><b>None</b> — No authentication required. The MCP server is accessible without credentials.</p>
  </li>

  <li>
    <p><b>API Key</b> — Authenticate using a static API key provided during setup.</p>
  </li>

  <li>
    <p><b>OAuth 2.0</b> — Authenticate using the OAuth 2.0 protocol. You may need to supply a <b>Client ID</b> and <b>Client Secret</b> if the MCP server does not support dynamic client registration. If the server supports OAuth discovery (via <code>/.well-known/oauth-authorization-server</code>), endpoints and scopes can be detected automatically.</p>
  </li>
</ul>

<p>For organization-scoped connectors with OAuth, an admin can authenticate once on behalf of the entire organization, or require each member to authenticate individually.</p>

<h3 id="h_oauth_redirect_url"><b>Custom connector OAuth redirect URL</b></h3>

<p>When you create an OAuth application in an external system for a custom connector, the callback/redirect path is always <code>/rest/connections/oauth\_callback</code>.</p>

<p>The redirect URL to register is: <code>[https://www.perplexity.ai/rest/connections/oauth\_callback](https://www.perplexity.ai/rest/connections/oauth_callback)</code></p>

<p>For organizations on the Enterprise subdomain, use: <code>[https://enterprise.perplexity.ai/rest/connections/oauth\_callback](https://enterprise.perplexity.ai/rest/connections/oauth_callback)</code></p>

<h2 id="h_cloudflare_access"><b>Cloudflare Access (Network access)</b></h2>

<p>If your remote MCP server sits behind <a href="https://www.cloudflare.com/zero-trust/products/access/" rel="nofollow noopener noreferrer" target="_blank">Cloudflare Access</a>, you can authenticate Perplexity to your zero-trust edge before any application-layer auth runs. This is configured through the new <b>Network access</b> dropdown on the <b>+ Custom connector</b> form.</p>

<Frame>
  <a href="../../assets/img/cloudflare-access-network-access-dropdown.jpg" rel="noreferrer nofollow noopener" target="_blank">
    <img alt="Add custom connector modal with Network access set to Cloudflare Access, showing the CF-Access-Client-Id and CF-Access-Client-Secret fields" height="1120" src="https://mintcdn.com/perplexity-help-center/kBGsQkSG8SPEk_Ye/help-center/assets/img/cloudflare-access-network-access-dropdown.jpg?fit=max&auto=format&n=kBGsQkSG8SPEk_Ye&q=85&s=9b4343192ae9dc36acc7fa49012558c5" width="1034" data-path="help-center/assets/img/cloudflare-access-network-access-dropdown.jpg" />
  </a>
</Frame>

<h3 id="h_cf_access_admins_can"><b>What admins can do</b></h3>

<ul>
  <li>
    <p>Add a remote MCP server that lives behind Cloudflare Access by selecting <b>Cloudflare Access</b> in the new <b>Network access</b> dropdown on the <b>+ Custom connector</b> form.</p>
  </li>

  <li>
    <p>Paste in their <code>CF-Access-Client-Id</code> and <code>CF-Access-Client-Secret</code> (both required) — Perplexity injects those headers on every request, including the create-time verification probe and every runtime tool call, so a clearly bad token fails at verification rather than silently later. See the troubleshooting notes below for cases where verification succeeds but runtime calls return 403.</p>
  </li>

  <li>
    <p>Stack this with normal app-layer authentication (<b>OAuth</b>, <b>API Key</b>, or <b>None</b>) — for example, PayPal’s pilot uses Cloudflare Access headers and OAuth together.</p>
  </li>

  <li>
    <p>Header values are stored encrypted and redacted in the UI, following the same handling path as other connector secrets.</p>
  </li>

  <li>
    <p>Header names are case-insensitive but the keys must be exact: <code>CF-Access-Client-Id</code> and <code>CF-Access-Client-Secret</code>.</p>
  </li>
</ul>

<h3 id="h_cf_access_configuring"><b>Configuring the Cloudflare side</b></h3>

<p>Cloudflare Access requires a one-time setup in your Cloudflare Zero Trust dashboard before Perplexity can connect.</p>

<Steps>
  <Step>
    <p><b>Create a service token.</b> In your Cloudflare Zero Trust dashboard, go to <b>Access → Service Auth → Service Tokens</b> and create a new token. Copy the <b>Client ID</b> and <b>Client Secret</b> immediately — the secret is shown only once.</p>
  </Step>

  <Step>
    <p><b>Create an Access application</b> for your MCP server’s hostname. Use the <b>Self-hosted</b> application type and point it at the public hostname Perplexity will call.</p>
  </Step>

  <Step>
    <p><b>Add a policy with Action = Service Auth.</b> In the application’s policy, set <b>Action</b> to <b>Service Auth</b> (not <b>Allow</b>) and include the service token you created in step 1.</p>
  </Step>
</Steps>

<p><b>Common misconfiguration:</b> Choosing <b>Allow</b> instead of <b>Service Auth</b> makes Cloudflare expect an interactive browser login and reject non-browser requests, so the Perplexity verification probe will fail. <b>Service Auth</b> is the correct action for machine-to-machine access via service tokens.</p>

<p><b>Tip:</b> If the connector saves successfully, the verification probe authenticated through Cloudflare Access — the auth path is working end-to-end.</p>

<h3 id="h_cf_access_troubleshooting"><b>Troubleshooting: verification or tool calls return 403</b></h3>

<p>If the connector fails to verify, or it verifies successfully but tool calls return 403 at runtime, work through these in order:</p>

<ul>
  <li>
    <p><b>Incomplete or expired token.</b> Re-paste the full <b>Client ID</b> and <b>Client Secret</b> — the secret field is long and partial pastes are easy to miss. Service tokens also have an expiry (default 1 year); re-issue the token if it has expired.</p>
  </li>

  <li>
    <p><b>Wrong policy action.</b> The Access policy must use <b>Service Auth</b>, not <b>Allow</b> or <b>Bypass</b>. See the configuration steps above.</p>
  </li>

  <li>
    <p><b>Propagation delay.</b> Newly created Access applications, policies, and service tokens take a few minutes to propagate across Cloudflare’s edge. If verification fails immediately after setup, wait a few minutes and retry before assuming a misconfiguration.</p>
  </li>

  <li>
    <p><b>WAF or Bot Management challenge.</b> Perplexity connects from datacenter IP ranges. If your Cloudflare zone challenges automated traffic, the MCP endpoint may receive a Managed Challenge that a machine client cannot solve — this surfaces as a 403. Add a WAF skip or Bot Management exception for the MCP hostname. This is safe because Cloudflare Access still gates the endpoint via the service token.</p>
  </li>
</ul>

<p>If all of the above check out and the connector still fails, the issue is likely on the application layer (the MCP server itself), not Cloudflare Access.</p>

<h2 id="h_privatelink"><b>AWS PrivateLink (Network access)</b></h2>

<p>If your remote MCP server runs inside your AWS VPC and is not exposed to the public internet, Perplexity can reach it privately over <a href="https://aws.amazon.com/privatelink/" rel="nofollow noopener noreferrer" target="_blank">AWS PrivateLink</a>. Traffic flows from Perplexity to your VPC entirely over the AWS network — your MCP server never needs a public endpoint. This option is available for Enterprise organizations and is set up together with your Perplexity account team.</p>

<h3 id="h_privatelink_how_it_works"><b>How it works</b></h3>

<ul>
  <li>
    <p>You create a VPC endpoint service in front of your MCP server and share it with your Perplexity account team.</p>
  </li>

  <li>
    <p>We connect a Perplexity-owned interface endpoint to your service and verify the details with your team.</p>
  </li>

  <li>
    <p>You accept the connection request in your AWS account, and we activate the endpoint for your organization.</p>
  </li>

  <li>
    <p>Your connector then reaches your MCP server privately over AWS — no public endpoint needed.</p>
  </li>
</ul>

<h3 id="h_privatelink_admins_can"><b>What admins can do</b></h3>

<ul>
  <li>
    <p>Request PrivateLink connectivity through your Perplexity account team. Onboarding is managed and verified by Perplexity — there is no self-serve setup.</p>
  </li>

  <li>
    <p>Once the endpoint is live, add the custom connector as usual, pointing the <b>MCP Server URL</b> at the private DNS name agreed during onboarding. HTTPS is still required.</p>
  </li>

  <li>
    <p>Share the connector with the organization from <b>Enterprise settings → Permissions</b>, the same as any other remote custom connector.</p>
  </li>
</ul>

<h3 id="h_privatelink_configuring"><b>Configuring the AWS side</b></h3>

<p>Your team completes a one-time setup in your AWS account, coordinated with Perplexity during onboarding:</p>

<Steps>
  <Step>
    <p><b>Expose your MCP server as a VPC endpoint service.</b> Front the server with a Network Load Balancer in your VPC and create a <a href="https://docs.aws.amazon.com/vpc/latest/privatelink/create-endpoint-service.html" rel="nofollow noopener noreferrer" target="_blank">VPC endpoint service</a> for it.</p>
  </Step>

  <Step>
    <p><b>Allow-list Perplexity’s AWS principal.</b> Your account team provides the AWS account principal to add to the endpoint service’s allowed principals.</p>
  </Step>

  <Step>
    <p><b>Accept the connection request.</b> When Perplexity provisions its interface endpoint, accept the pending connection on your endpoint service. Perplexity verifies the service details with your team out-of-band before the endpoint is activated for your organization.</p>
  </Step>
</Steps>

<h2 id="h_7150eebf0c"><b>Sharing and Permissions</b></h2>

<p>Custom connectors can be scoped in two ways:</p>

<ul>
  <li>
    <p><b>Individual</b> — The connector is private to the user who created it. Only that user can see and use it.</p>
  </li>

  <li>
    <p><b>Organization</b> — The connector is shared with all organization members (remote connectors only). Only admins can share connectors organization-wide.</p>
  </li>
</ul>

<h2 id="h_bb98cf4bb0"><b>Admin Controls</b></h2>

<p>Organization admins have additional management capabilities:</p>

<ul>
  <li>
    <p><b>Allow members to add custom</b> <b>connectors</b> — Use this toggle to control whether non-admin members can add their own remote custom connectors. This is disabled by default.</p>
  </li>

  <li>
    <p><b>Add organization-wide remote connectors</b> — Add remote connectors that are shared with the entire organization.</p>
  </li>
</ul>

<p>These settings are accessible from <b>Enterprise settings → Connectors</b> under the <b>Connector permissions</b> section.</p>

<Frame>
  <a href="../../assets/img/46d4657480_Screenshot_2026-03-02_at_12_50_34__281_29.png" rel="noreferrer nofollow noopener" target="_blank">
    <img alt="" height="786" src="https://mintcdn.com/perplexity-help-center/Qv3d0vQE9qMlZrQx/help-center/assets/img/46d4657480_Screenshot_2026-03-02_at_12_50_34__281_29.png?fit=max&auto=format&n=Qv3d0vQE9qMlZrQx&q=85&s=4762db46a14f2a0cd04903ca707e9c3f" width="1406" data-path="help-center/assets/img/46d4657480_Screenshot_2026-03-02_at_12_50_34__281_29.png" />
  </a>
</Frame>

<h2 id="h_265e91510d"><b>Security Considerations</b></h2>

<p>Custom connectors introduce additional risks because Perplexity cannot verify third-party MCP servers or guarantee answer quality. Keep the following in mind:</p>

<ul>
  <li>
    <p>Only use connectors from sources you trust. Perplexity is not responsible for issues caused by custom connectors.</p>
  </li>

  <li>
    <p>Remote MCP server URLs must use HTTPS.</p>
  </li>

  <li>
    <p>Users can edit or delete only their own connectors. Admins can manage organization-wide connectors.</p>
  </li>

  <li>
    <p>If server validation fails during setup, the connector will show an error tag with a message prompting you to reconfigure it.</p>
  </li>

  <li>
    <p>Admins should review member-added connectors and restrict or remove any that pose a security risk.</p>
  </li>
</ul>


## Related topics

- [Perplexity Enterprise](/help-center/help-center/en/collections/11312901-perplexity-enterprise.md)
- [Local and Remote MCPs for Perplexity](/help-center/help-center/en/articles/11502712-local-and-remote-mcps-for-perplexity.md)
- [Using custom API credentials in Computer](/help-center/help-center/en/articles/20260716-using-custom-api-credentials-in-computer.md)
- [Connectors & Integrations](/help-center/help-center/en/collections/18799295-connectors-integrations.md)
- [Use Remote Access](/help-center/help-center/en/articles/19800009-use-remote-access.md)
