Zendesk MCP serverand Python AI tasks
qbash hosts a Zendesk MCP server you can use in Claude, ChatGPT, Codex, Cursor, Grok Bot and Muse. Developers use qbash Tasks to write cloud-hosted Python functions that pair Zendesk with models such as Claude and GPT.
Add the qbash MCP
Use Zendesk from Claude Code, Codex, Cursor and other MCP clients. Connect Zendesk in qbash, and your agent can work with its data and build Tasks that call it.
claude mcp add --transport http qbash https://mcp.qbash.com/mcp
Then run /mcp in Claude Code and sign in with qbash.
- Get the Zendesk user this connection acts as, with their role
- Get one ticket with its status, routing fields, tags and custom field values
- Search tickets with Zendesk search syntax, such as status:open group:Billing or custom_field_360001:QB-42
- List a ticket's conversation, public replies and internal notes, each labeled with its visibility
- List a ticket's side conversations, the internal threads with other teams or outside contacts
- List a ticket's change history: who changed which fields, through which channel, and whether qbash made the change
Write a Zendesk task in Python
A qbash Task is a Python function hosted in the cloud. Python is the runtime and defines the process, and built-in inline prompts run on leading models such as Claude, GPT, Gemini and Grok.
Run a Task on a schedule, from an HTTP request or when a connected app sends an event. Your agents and chat tools call it over MCP.
Each run is logged with its inputs and results, and you can turn data logging off for any Task. Every Task has version control, and each run is locked to the version it ran.
Brief engineering on a support ticket
Read a ticket's conversation, then ask an inline prompt for an engineering brief that quotes the requester and labels each finding taken from an internal note.
report = qbash.integrations.zendesk.list_ticket_comments(
ticket_id=12345,
visibility="all",
)
comments = report.get("comments", [])
if comments:
brief = qbash.ai.run_prompt(
slug="zendesk-engineering-brief",
variables={"comments": json.dumps(comments)},
)
more = bool(report.get("next_cursor"))
qbash.output({"brief": brief, "more_comments": more})
else:
qbash.output("The ticket has no comments.")
Sample list_ticket_comments response
{
"status": "success",
"ticket_id": 12345,
"comments": [
{
"id": 9001,
"type": "Comment",
"public": true,
"visibility": "public",
"author_id": 501,
"author_name": "Dana Reyes",
"author_role": "end-user",
"body": "Exports have failed since Monday. The CSV download stops at 99% and shows a timeout.",
"html_body": "<p>Exports have failed since Monday. The CSV download stops at 99% and shows a timeout.</p>",
"channel": "email",
"created_at": "2026-10-19T14:02:11Z",
"attachments": [
{
"id": 7701,
"file_name": "export-error.png",
"content_type": "image/png",
"size": 48211,
"inline": false,
"public": true,
"visibility": "public",
"malware_scan_result": "malware_not_found"
}
]
},
{
"id": 9002,
"type": "Comment",
"public": false,
"visibility": "internal",
"author_id": 88,
"author_name": "Sam Ortiz",
"author_role": "agent",
"body": "Reproduced on an account with 40k rows. Exports under 10k rows finish.",
"html_body": "<p>Reproduced on an account with 40k rows. Exports under 10k rows finish.</p>",
"channel": "web",
"created_at": "2026-10-19T15:20:45Z",
"attachments": []
},
{
"id": 9003,
"type": "Comment",
"public": true,
"visibility": "public",
"author_id": 88,
"author_name": "Sam Ortiz",
"author_role": "agent",
"body": "Thanks, Dana. We can reproduce this and have passed it to our engineers.",
"html_body": "<p>Thanks, Dana. We can reproduce this and have passed it to our engineers.</p>",
"channel": "web",
"created_at": "2026-10-19T15:24:02Z",
"attachments": []
}
],
"count": 3,
"next_cursor": null
}
Custom MCP server
Build a custom MCP server with Zendesk
Create a hosted MCP server that combines Zendesk tools with your other connectors, Tasks and memory folders. You choose each tool it exposes, so a server can share Zendesk reads with write tools left off.
Share the server with your team, and each person adds it to the client they already use.
How to set it up
- Connect Zendesk on the qbash Connectors page.
- Create an MCP server and add the Zendesk tools you want to share.
- Paste the server URL into your client. It connects with OAuth or an access token.
Zendesk MCP questions
Can the assistant reply to customers?
No. The Zendesk tools add internal notes and update ticket fields, and none of them sends a public reply. The requester and CCs get no notification when a note is added.
Whose name appears on notes and changes?
The agent or admin who connected Zendesk. Changes stay within that user’s groups and permissions, and the ticket’s audit history marks the ones qbash made.
Related communication connectors
Build a Zendesk task
Write it in Python with AI steps, or describe it to your coding agent through the qbash MCP.