Connecting to MCP servers and using MCP tools in action flows

<body>
<p id="docs-hc-snippet" style="display: none;">The Model Context Protocol (MCP) lets admins connect Zendesk to external MCP servers, discover the tools those servers provide, and use those tools as steps in action flows. This extends your Zendesk workflows to interact with third-party systems—such as project management tools, e-commerce platforms, or internal knowledge systems—without building custom API integrations.</p>
<div class="article-banners">
<div id="docs-wmp-link">
<a href="https://support.zendesk.com/hc/en-us/articles/5411234991258-plan" rel="noopener" target="_blank">What's my plan?</a>
</div>

<div class="article-banner" id="suite_gpee">
<table>
<tbody>
<tr>
<td>
<strong>All Suites</strong>
</td>
<td>Growth, Professional, Enterprise, or Enterprise Plus</td>
</tr>
</tbody>
</table>
</div>

<div class="article-banner" id="support_all">
<table>
<tbody>
<tr>
<td>
<strong>Support</strong>
</td>
<td>Team, Professional, or Enterprise</td>
</tr>
</tbody>
</table>
</div>

</div>

<div class="body">

<p class="p">The Model Context Protocol (MCP) lets admins connect Zendesk to external MCP servers,
discover the tools those servers provide, and use those tools as steps in action flows.
This extends your Zendesk workflows to interact with third-party systems—such as project
management tools, e-commerce platforms, or internal knowledge systems—without building
custom API integrations.</p>
<p class="p">MCP connections are created and managed in Admin Center. After you create a connection,
Zendesk retrieves the available MCP tools from that server and displays them in the
action builder so you can use them in action flows and, optionally, surface those flows
through <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8984493142810" target="_blank">auto assist</a>, <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/6970583409690" target="_blank">AI agents</a>, or <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10724438136858" target="_blank">custom agents</a>.</p>
<p class="p">This article covers Zendesk acting as an MCP client. In this role, Zendesk connects to
external MCP servers, discovers the tools they expose, and uses those tools in action
flows and auto assist. In this model, Zendesk sends requests to another system to
retrieve information or perform actions as part of a workflow. Zendesk can also act as
an MCP server in other scenarios. In that role, Zendesk exposes tools or resources that
third-party AI agents can use to access Zendesk data or perform actions in Zendesk.</p>
<p class="p">The following diagram shows both MCP roles.</p>
<p class="p"><img class="image img-screenshot" id="topic_m3z_wx1_53c__image_pcs_ymb_l2c" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/mcp-client-vs-server.png" width="600"></p>
<p class="p">This article contains the following topics:</p>
<ul class="ul" id="topic_m3z_wx1_53c__ul_azx_vyx_x3c">
<li class="li"><a class="xref" href="#topic_iyy_2y1_53c">Considerations for using the MCP tools</a></li>
<li class="li"><a class="xref" href="#topic_p3j_fz1_53c">Creating an MCP server connection</a></li>
<li class="li"><a class="xref" href="#topic_hlj_nbh_53c">Using MCP tools in action flows</a></li>
<li class="li"><a class="xref" href="#topic_v1f_q2q_ljc">Troubleshooting</a></li>
</ul>
</div>
<div aria-labelledby="ariaid-title2" class="topic nested1" id="topic_iyy_2y1_53c">
<h2 class="title topictitle2" id="ariaid-title2">Considerations for using the MCP tools</h2>
<div class="body">
<p class="p">Before you begin, keep the following in mind:</p>
<ul class="ul" id="topic_iyy_2y1_53c__ul_evj_gy1_53c">
<li class="li">Authentication<ul class="ul" id="topic_iyy_2y1_53c__ul_m3j_4y1_53c">
<li class="li">OAuth is the only supported authentication method for MCP server
connections. Only HTTP servers are supported. Stdio transport is not
supported.</li>
</ul>
</li>
<li class="li">Data residency and retention<ul class="ul" id="topic_iyy_2y1_53c__ul_lf4_py1_53c">
<li class="li">External MCP connections may transmit data outside your selected
region.</li>
<li class="li">Step execution outputs are retained for seven days.</li>
</ul>
</li>
<li class="li">Action credits<ul class="ul" id="topic_iyy_2y1_53c__ul_ctc_ry1_53c">
<li class="li">MCP tool actions consume action credits when executed within an action flow.
For details on monitoring usage, see <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10149993578522-Monitoring-the-usage-of-action-credits-and-action-flow-activity" target="_blank">Monitoring the usage of action
credits and action flow activity</a>.</li>
</ul>
</li>
<li class="li">Connection and tool limits<ul class="ul" id="topic_iyy_2y1_53c__ul_bf1_5y1_53c">
<li class="li">There are no limits to the number of MCP servers you can connect to your
Zendesk account.</li>
<li class="li">Action builder paginates and retrieves up to 250 tools returned by an
MCP server.</li>
<li class="li">You can manually refresh the tools list from the Connection page to get
updates to existing tools, discover new tools, or remove deprecated
ones. If an action tool changes because of a manual refresh, any action
flow currently using that tool requires you to remove and re-add the
tool to the flow.</li>
</ul>
</li>
</ul>
</div>
</div>
<div aria-labelledby="ariaid-title3" class="topic nested1" id="topic_p3j_fz1_53c">
<h2 class="title topictitle2" id="ariaid-title3">Creating an MCP server connection</h2>
<div class="body">
<p class="p">Admins can add MCP server connections. Connected MCP servers appear on the MCP
connections page in Admin Center. When a server is connected, Zendesk automatically
discovers up to 250 tools exposed by the MCP server. After discovery, the tools are
listed on the Connection page where admins can explicitly select which ones to make
available in the action builder.</p>
<p class="p">You must be a Zendesk admin to create an MCP server connection.</p>
<div class="p">
<strong class="ph b">To create an MCP server connection</strong><ol class="ol" id="topic_p3j_fz1_53c__ol_yyd_mz1_53c">
<li class="li">
<span class="ph">In <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4581766374554#topic_hfg_dyz_1hb" target="_blank">Admin Center</a>, click <img class="image" id="topic_p3j_fz1_53c__d8e2150" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ac_apps_integrations_icon.png">
<strong class="ph b">Apps and integrations</strong> in the sidebar, then select <strong class="ph b">Connections &gt;
Connections</strong>.</span>
</li>
<li class="li">Click <strong class="ph b">Add connection</strong>.</li>
<li class="li">Choose <strong class="ph b">Connect to an MCP server</strong>.</li>
<li class="li">Under <strong class="ph b">Basics</strong>, enter the connection's <strong class="ph b">Name</strong> and
<strong class="ph b">Description</strong>.</li>
<li class="li">Click <strong class="ph b">Next</strong>.</li>
<li class="li">In <strong class="ph b">MCP server</strong>, enter the URL of your MCP server.</li>
<li class="li">Click <strong class="ph b">Test URL</strong> to validate the connection to the MCP server.</li>
<li class="li">If prompted, enter the Client ID and Client Secret for the MCP server.</li>
<li class="li">When prompted, use the MCP server's authentication popup to complete the
OAuth authentication flow for the external service.<p class="p">If your MCP server
requires you to create an OAuth app in an external service, such as
GitHub or HubSpot, when prompted for a <strong class="ph b">Redirect</strong> or <strong class="ph b">Callback
URL</strong>, enter
<strong class="ph b"><code class="ph codeph">https://zis.zendesk.com/api/services/zis/connections/oauth/callback</code></strong>.</p>
</li>
<li class="li">Click <strong class="ph b">Save</strong>.</li>
<li class="li">Once saved, view the Connection page to see the list of discovered tools. Use
the checkboxes to choose which discovered tools to make available for your
action flows.</li>
</ol>
</div>
</div>
<div aria-labelledby="ariaid-title4" class="topic nested2" id="topic_fqr_wlq_xjc">
<h3 class="title topictitle3" id="ariaid-title4">Refreshing an MCP connection</h3>
<div class="body">
<p class="p">If an MCP connection stops working because authorization has expired or been
invalidated, you can reconnect it.</p>
<p class="p">Use this when:</p>
<ul class="ul" id="topic_fqr_wlq_xjc__ul_rps_ylq_xjc">
<li class="li">The connection has expired due to inactivity.</li>
<li class="li">The user’s access to the external system has changed or been revoked.</li>
<li class="li">The connection needs to be reauthorized after credentials or permissions
change.</li>
</ul>
<p class="p">You must be a Zendesk admin to create an MCP server connection.</p>
<p class="p"><strong class="ph b">To refresh an MCP connection</strong></p>
<ol class="ol" id="topic_fqr_wlq_xjc__ol_syp_zlq_xjc">
<li class="li"><span class="ph">In <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4581766374554#topic_hfg_dyz_1hb" target="_blank">Admin Center</a>, click <img class="image" id="topic_fqr_wlq_xjc__d8e2150" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ac_apps_integrations_icon.png">
<strong class="ph b">Apps and integrations</strong> in the sidebar, then select <strong class="ph b">Connections &gt;
Connections</strong>.</span></li>
<li class="li">Select the relevant MCP connection by clicking the name or opening the
overflow menu and selecting <strong class="ph b">Edit connection</strong>.</li>
<li class="li">Select <strong class="ph b">Reconnect</strong>.</li>
<li class="li">Complete the OAuth flow again when prompted.</li>
</ol>
</div>
</div>
<div aria-labelledby="ariaid-title5" class="topic nested2" id="topic_oc3_21l_njc">
<h3 class="title topictitle3" id="ariaid-title5">Examples of MCP servers</h3>
<div class="body">
<p class="p">Here are some examples of MCP servers you can connect to. Many other vendors
provide MCP servers, and you can also connect to your own organization's MCP
server.</p>
<div class="p">
<strong class="ph b">Asana</strong><ul class="ul" id="topic_oc3_21l_njc__ul_jvg_3dq_ljc">
<li class="li">
<strong class="ph b">MCP server URL:</strong>
<a class="xref" href="https://mcp.asana.com/v2/mcp" target="_blank">https://mcp.asana.com/v2/mcp</a>
</li>
<li class="li">
<strong class="ph b">Client details:</strong> Follow the directions at <a class="xref" href="https://developers.asana.com/docs/integrating-with-asanas-mcp-server#create-your-oauth-app" target="_blank">Create your OAuth app</a> to
generate a Client ID and Secret.</li>
</ul>
</div>
<div class="p">
<strong class="ph b">Stripe</strong><ul class="ul" id="topic_oc3_21l_njc__ul_kvg_3dq_ljc">
<li class="li">
<strong class="ph b">MCP server URL:</strong>
<a class="xref" href="https://mcp.stripe.com/" target="_blank">https://mcp.stripe.com</a>
</li>
<li class="li">
<strong class="ph b">Client details:</strong> Not required. The Client ID and Secret will be
detected automatically when you test the connection.</li>
</ul>
</div>
<div class="p">
<strong class="ph b">GitHub</strong><ul class="ul" id="topic_oc3_21l_njc__ul_lvg_3dq_ljc">
<li class="li">
<strong class="ph b">MCP server URL:</strong>
<a class="xref" href="https://api.githubcopilot.com/mcp/" target="_blank">https://api.githubcopilot.com/mcp/</a>
</li>
<li class="li">
<strong class="ph b">Client details:</strong> Follow the directions at <a class="xref" href="https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app" target="_blank">Creating an OAuth app</a> to
generate a Client ID and Secret.</li>
</ul>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title6" class="topic nested1" id="topic_hlj_nbh_53c">
<h2 class="title topictitle2" id="ariaid-title6">Using MCP tools in action flows</h2>
<div class="body">
<p class="p">After you create an MCP server connection, the discovered tools are available in the
action builder. MCP connectors appear under <strong class="ph b">External actions</strong> and are
identified by the connection name you provided and an MCP tag. For more information
about action flows, see <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8855513857306" target="_blank">Understanding the action builder and action
flows</a>.</p>
<p class="p">When the action flow runs, Zendesk calls the selected MCP tool on the external server
using your configured inputs and returns the tool’s output for use in later steps.
You can use a custom code step later in the flow to transform or extract specific
fields from the output if necessary.</p>
<p class="p"><strong class="ph b">To add an MCP tool as a step in an action flow</strong></p>
<ol class="ol" id="topic_hlj_nbh_53c__ol_ht1_lch_53c">
<li class="li">Open the <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8855601898266" target="_blank">action builder</a> and create or <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9052312956570" target="_blank">edit an action flow</a>.</li>
<li class="li">In the action builder, beneath an existing step, click the <strong class="ph b">Add step</strong> icon
(<img class="image" id="topic_hlj_nbh_53c__image_ggh_fbg_w2c" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/icon_action_flows_add.png" width="16">).</li>
<li class="li">In the step sidebar, under <strong class="ph b">External actions</strong>, click the menu options to
select the connected MCP server and then the specific action.</li>
<li class="li">In the step sidebar, enter the required inputs for the selected action. See
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8855601898266-Creating-action-flows-to-automate-processes-across-Zendesk-and-external-systems#topic_cbc_q2g_y2c" target="_blank">Providing inputs for actions and
steps</a>.</li>
</ol>
</div>
</div>
<div aria-labelledby="ariaid-title7" class="topic nested1" id="topic_v1f_q2q_ljc">
<h2 class="title topictitle2" id="ariaid-title7">Troubleshooting</h2>
<div class="body">
<ul class="ul" id="topic_v1f_q2q_ljc__ul_fj1_btq_ljc">
<li class="li">
<strong class="ph b">Servers with restricted access</strong>: Zendesk does not support servers that
restrict access by client. However, in some cases you may be able to ask the MCP
server owner to add the Zendesk MCP client to their allowlist. In that case, the
server owner may ask for the following details:<ul class="ul" id="topic_v1f_q2q_ljc__ul_n5k_ctq_ljc">
<li class="li">
<strong class="ph b">Zendesk IP ranges for your account</strong>:
https://<em class="ph i">yoursubdomain</em>.zendesk.com/ips</li>
<li class="li">
<strong class="ph b">Zendesk MCP client redirect URL</strong>: <a class="xref" href="https://zis.zendesk.com/api/services/zis/connections/oauth/callback" target="_blank">https://zis.zendesk.com/api/services/zis/connections/oauth/callback</a>
</li>
</ul>
</li>
<li class="li">
<strong class="ph b">PKCE (Proof Key for Code Exchange)</strong>: MCP servers that use PKCE with the
S256 challenge method are supported. Servers that only support the plain
challenge method are not supported for security reasons.</li>
<li class="li">
<strong class="ph b">Execution timeout and rate limits</strong>: MCP tool calls are subject to a
30-second timeout. Long-running tool operations may time out before completing.
For rate limits, see <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8855513857306-Understanding-the-action-builder-and-action-flows#topic_vn4_vwf_t2c" target="_blank">Considerations for using action
flows</a>.</li>
<li class="li">
<strong class="ph b">Authentication</strong>: MCP servers that require no authentication aren't
supported. Zendesk's MCP client supports servers that implement OAuth 2.0 with
auto-discovery using the standard well-known endpoints.<p class="p">To troubleshoot
authentication issues with public MCP servers or set up your own
organization's MCP server, try the following:</p>
<ol class="ol" id="topic_v1f_q2q_ljc__ol_xpr_ktq_ljc">
<li class="li">
<strong class="ph b">Initiate the handshake.</strong><div class="p">When the MCP client first attempts to
connect, the server responds with <code class="ph codeph">401 Unauthorized</code>
and includes a reference to a Protected Resource Metadata document
in the <code class="ph codeph">WWW-Authenticate</code>
header.<pre class="pre codeblock" id="topic_v1f_q2q_ljc__codeblock_pqb_mtq_ljc"><code>HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="mcp",
resource_metadata="https://your-server.com/.well-known/oauth-protected-resource"</code></pre>
</div>
<p class="p">This
tells the client that authorization is required and where to
retrieve the information needed to begin the authorization
flow.</p>
</li>
<li class="li">
<strong class="ph b">Discover the protected resource metadata.</strong><p class="p">The client fetches
the Protected Resource Metadata document to learn about the
authorization server, supported scopes, and other resource
details.</p>
<p class="p">Request:</p>
<pre class="pre codeblock" id="topic_v1f_q2q_ljc__codeblock_z4q_55q_ljc"><code>https://your-mcp-server.com/.well-known/oauth-protected-resource
</code></pre>
<p class="p">Example
response (200
OK):</p>
<code class="ph codeph">{"resource":"https://your-mcp-server.com","authorization_servers":["https://your-auth-server.com"],"scopes_supported":["mcp:read","mcp:write"]}</code>
</li>
<li class="li">
<strong class="ph b">Discover the authorization server.</strong><p class="p">The client discovers the
authorization server's capabilities by fetching its
metadata.</p>
<div class="p">Request:<pre class="pre codeblock" id="topic_v1f_q2q_ljc__codeblock_cck_w5q_ljc"><code>https://your-auth-server.com/.well-known/oauth-authorization-server</code></pre>
</div>
<p class="p">This
endpoint may be hosted on the same domain as the MCP server if your
OAuth server runs there.</p>
<p class="p">Example response (200
OK):</p>
<pre class="pre codeblock" id="topic_v1f_q2q_ljc__codeblock_xz1_hvq_ljc"><code>{
"issuer": "https://your-auth-server.com",
"authorization_endpoint": "https://your-auth-server.com/oauth/authorize",
"token_endpoint": "https://your-auth-server.com/oauth/token",
"registration_endpoint": "https://your-auth-server.com/oauth/register",
"code_challenge_methods_supported": ["S256"],
"token_endpoint_auth_methods_supported": ["client_secret_basic", "none"],
"scopes_supported": ["mcp:read", "mcp:write"]
}</code></pre>
</li>
<li class="li">
<strong class="ph b">Register the client.</strong><p class="p">Once discovery is complete, the Zendesk
client must be registered with your server's authorization system
using one of the following methods:</p>
<ul class="ul" id="topic_v1f_q2q_ljc__ul_gby_jvq_ljc">
<li class="li">
<strong class="ph b">Pre-registered client:</strong> The client is already registered
with the authorization server. You manually provide the client
details to complete the authorization flow when creating the MCP
connection.</li>
<li class="li">
<strong class="ph b">Automatic Registration (Dynamic Client Registration):</strong>
Zendesk automatically attempts to register itself using standard
web protocols. If the primary protocol fails, Zendesk
automatically tries an alternate format (OpenID Connect) to
complete the connection without your intervention.</li>
<li class="li">
<strong class="ph b">Manual Configuration (Backup):</strong> If Zendesk cannot
automatically register with your server using either method,
admins can manually enter all the required OAuth client details
to establish the connection.</li>
</ul>
</li>
</ol>
</li>
</ul>
</div>
</div>
<script id="docs-schema-markup" type="application/ld+json">{
"@context": "https://schema.org",
"@type": "TechArticle",
"@id": "https://support.zendesk.com/hc/en-us/articles/10497779528730",
"url": "https://support.zendesk.com/hc/en-us/articles/10497779528730",
"headline": "Connecting to MCP servers and using MCP tools in action flows",
"description": "You can connect to external MCP servers using OAuth authentication to discover and use their tools within action flows, enabling integration with third-party systems without custom API development.",
"articleSection": "Action builder and action flows",
"datePublished": "2026-04-01T20:55:28+00:00",
"dateModified": "2026-08-03T16:32:26.189200+00:00",
"inLanguage": "en-US",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://support.zendesk.com/hc/en-us/articles/10497779528730"
},
"author": {
"@type": "Organization",
"name": "Zendesk",
"@id": "https://www.zendesk.com"
},
"publisher": {
"@type": "Organization",
"name": "Zendesk",
"@id": "https://www.zendesk.com"
},
"isPartOf": {
"@type": "WebSite",
"name": "Zendesk Help",
"@id": "https://support.zendesk.com/hc/"
},
"about": {
"@type": "SoftwareApplication",
"name": "Zendesk",
"@id": "https://www.zendesk.com"
}
}</script>
</body>