zendesk-mcp
Provides tools for searching, retrieving, creating, and updating Zendesk tickets, managing users, and adding comments.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@zendesk-mcpsearch for tickets with status 'open' and tag 'priority_high'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
zendesk-mcp
Dedalus MCP server for Zendesk support workflows: ticket search, ticket lookup, user listing, ticket creation, internal notes or public comments, and ticket status updates.
Tools
search_tickets- Search Zendesk tickets with Zendesk search syntax.get_ticket- Fetch one ticket by ID.list_users- List Zendesk users, optionally filtered by role.create_ticket- Create a new ticket with an initial public comment.add_ticket_comment- Add an internal note or customer-visible public comment.update_ticket_status- Change a ticket status.
Related MCP server: Zendesk MCP Server by Fruggr
Safety Notes
create_ticket, add_ticket_comment, and update_ticket_status are write tools. Zendesk triggers, automations, and notification settings may email customers or alter support queues. add_ticket_comment defaults to public_comment=false; set it to true only when a customer-visible reply is intended.
Do not put Zendesk OAuth access tokens, API tokens, OAuth client secrets, requester personal data, ticket bodies, or customer emails in commits, logs, issue trackers, screenshots, or public demos.
Authentication Model
This server is built for Dedalus DAuth with OAuth-style bearer tokens. The connection name is zendesk-mcp, the secret key is ZENDESK_ACCESS_TOKEN, and requests use:
Authorization: Bearer {api_key}For a multi-user marketplace deployment, the user-specific values are:
ZENDESK_BASE_URL: the user's Zendesk account URL, for examplehttps://none-83105.zendesk.com.ZENDESK_ACCESS_TOKEN: an OAuth access token for that Zendesk account and user.
Zendesk OAuth endpoints are Zendesk-account scoped. A static Dedalus OAuth deployment with fixed OAUTH_AUTHORIZE_URL and OAUTH_TOKEN_URL only covers that one Zendesk subdomain. To support unrelated customers' own Zendesk accounts, Dedalus must receive each user's Zendesk base URL as connection/provider metadata, and the OAuth authorization must be performed against that same account.
The server code intentionally does not hardcode a Zendesk subdomain. ZENDESK_BASE_URL is only a local-smoke-test or intentional single-tenant fallback.
Dedalus Deployment
Connection settings:
Connection name: zendesk-mcp
Auth type: OAuth
Header Name: Authorization
Header Format: Bearer {api_key}Required credentials for each end user:
ZENDESK_BASE_URL Example: https://none-83105.zendesk.com
ZENDESK_ACCESS_TOKEN Example: OAuth access token for that Zendesk accountIf the Dedalus dashboard cannot supply per-user base_url/provider metadata to the connection, set ZENDESK_BASE_URL as an environment variable and treat the deployment as single-tenant for one Zendesk account.
Environment variables for a normal Dedalus deployment:
DEDALUS_AS_URL=https://as.dedaluslabs.ai
PORT=8080Optional single-tenant Dedalus-managed OAuth variables:
OAUTH_ENABLED=true
OAUTH_AUTHORIZE_URL=https://<subdomain>.zendesk.com/oauth/authorizations/new
OAUTH_TOKEN_URL=https://<subdomain>.zendesk.com/oauth/tokens
OAUTH_CLIENT_ID=<zendesk-oauth-client-id>
OAUTH_CLIENT_SECRET=<zendesk-oauth-client-secret>
OAUTH_SCOPES_AVAILABLE=read,write
ZENDESK_BASE_URL=https://<subdomain>.zendesk.comDo not set ZENDESK_ACCESS_TOKEN as a global deployment environment variable for a shared marketplace server. It must be supplied per user through DAuth credentials or OAuth.
Local OAuth Smoke Testing
Create a Zendesk OAuth client in the target Zendesk Admin Center and add this redirect URL:
http://127.0.0.1:8765/callbackLocal .env minimum:
ZENDESK_BASE_URL=https://<subdomain>.zendesk.com
OAUTH_CLIENT_ID=<zendesk-oauth-client-id>
OAUTH_CLIENT_SECRET=<zendesk-oauth-client-secret>
OAUTH_SCOPES_AVAILABLE=read,write
ZENDESK_OAUTH_REDIRECT_URI=http://127.0.0.1:8765/callbackThen run:
uv run python src/oauth_local.py --write-envThe helper derives OAUTH_AUTHORIZE_URL and OAUTH_TOKEN_URL from ZENDESK_BASE_URL when they are not explicitly set, opens the browser authorization page, captures the localhost callback, exchanges the code, and writes ZENDESK_ACCESS_TOKEN to .env.
Run Locally
uv run python src/main.pyIn another terminal:
MCP_SERVER_URL=http://127.0.0.1:8080/mcp uv run python src/_client.pyBy default, _client.py uses ZENDESK_LOCAL_TOOL_CALLS=1, which bypasses the Dedalus MCP HTTP auth layer and calls the same tool functions through a local dispatch context. This validates the tool logic against the real Zendesk API without requiring a Dedalus-issued MCP Authorization header.
The first _client.py check is auth_check, which calls /api/v2/users/me.json and prints only masked identity data. A successful login as an end-user is not enough for the full tool suite; search, user listing, ticket creation, comments, and status updates normally require an agent or admin account.
By default, keep ZENDESK_RUN_WRITES=0 to avoid creating or updating tickets. Set ZENDESK_RUN_WRITES=1 only when you intentionally want _client.py to call create_ticket, add_ticket_comment, and update_ticket_status.
Deployed Smoke Test
For an SDK-based deployed-server smoke test, .env needs:
DEDALUS_API_KEY=dsk-live-...
DEDALUS_API_URL=https://api.dedaluslabs.ai
DEDALUS_AS_URL=https://as.dedaluslabs.ai
DEDALUS_MCP_SERVER=dedalus-labs/zendesk-mcp
ZENDESK_BASE_URL=https://<subdomain>.zendesk.com
ZENDESK_ACCESS_TOKEN=<oauth-access-token>
DEDALUS_MCP_SERVER_ONLY=1Then run:
uv run python src/_client.py_client.py builds a SecretValues credential with base_url=ZENDESK_BASE_URL, so the encrypted DAuth credential envelope points dispatch at the correct Zendesk account for that user.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/chenzhaoxuan0/zendesk-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server