Claude Zendesk連携 — 非公式MCPサーバーの導入手順
ZendeskのチケットをClaude Codeから読み書きするコミュニティ製MCPサーバーの選び方と導入手順、公式Connectorsとの違いをまとめます。
Zendeskのサポートチケットを、要約や返信案の作成を挟みながらClaude Codeから扱えるようにするMCPサーバーがコミュニティから複数公開されています。Zendesk社自身が提供する公式サーバーではなく、いずれも個人・少人数の開発者による実装です。この記事ではスター数と更新頻度で最も活発な実装を軸に、選び方と導入手順、Zendesk公式のAI連携との違いを確認します。
Zendesk向けMCPサーバーはどれを選ぶか
GitHub上でZendesk向けのMCPサーバーを検索すると10件前後がヒットしますが、更新状況とスター数には大きな差があります。継続的にメンテナンスされ実用に足るのはreminia/zendesk-mcp-serverです。スター数114、直近の更新は2026年7月で、Apache 2.0ライセンスで公開されています。開発者はZendesk社に所属するアカウントではなく、個人のreminia氏です。Zendesk社のGitHub組織(github.com/zendesk)にMCPサーバーの公開は確認できません。
このサーバーが対応する範囲は次のとおりです。
| 種類 | 内容 |
|---|---|
| チケット取得・一覧 | 内容get_ticket / get_tickets(ページネーション対応) |
| コメント取得・追加 | 内容get_ticket_comments / create_ticket_comment |
| チケット作成・更新 | 内容create_ticket / update_ticket(ステータス・優先度・担当者など) |
| ヘルプセンター記事 | 内容zendesk://knowledge-base リソース経由で全文参照 |
| 定型プロンプト | 内容analyze-ticket(分析)/ draft-ticket-response(返信案作成) |
チケットの分析と返信案作成が最初からプロンプトとして用意されている点は、他の汎用MCPサーバーにはない特徴です。「このチケットを分析して」「このチケットへの返信を書いて」とそのまま頼めます。
スター数の少ない実装も複数公開されており、GitHub上の説明文だけを比較しても方向性の違いが見えます。
| リポジトリ | スター数 | 開発者の説明(原文要約) |
|---|---|---|
| reminia/zendesk-mcp-server | スター数114 | 開発者の説明(原文要約)Zendesk向けのMCPサーバー全般。チケット・コメント・ヘルプセンターを網羅 |
| michaelrice/zendesk-mcp | スター数4 | 開発者の説明(原文要約)Claude Codeほか各種MCPクライアント向けを明記 |
| fruggr/zendesk-mcp-server | スター数3 | 開発者の説明(原文要約)ヘルプセンター記事の検索・下書き・翻訳とチケット対応をエンドツーエンドで統合 |
| jonhnatta/zendesk-mcp-server | スター数2 | 開発者の説明(原文要約)チケット・ユーザー・組織・CSATを扱う読み取り専用限定 |
読み取り専用に絞って安全側に倒したいならjonhnattaのような実装、ヘルプセンター記事の翻訳まで含めて広く使いたいならfruggrのような実装が候補になります。ただしいずれもスター数が一桁台で、reminia版ほど実績が積まれているわけではありません。本記事ではメンテナンス頻度と実績の両方で優位なreminia版を軸に手順を示します。
Zendesk公式のAI連携との違い
Zendesk自身も生成AIとの連携機能(Zendesk AI)を提供していますが、これはZendesk管理画面の中で完結する機能で、Claude CodeからMCP経由で呼び出せる公式サーバーではありません。同様に、Claude側の公式Connectors(claude.ai/customize/connectorsで有効化する一覧)にもZendeskは含まれていません。今回扱うのはそのどちらでもなく、claude mcp addでローカルに追加するstdio方式のMCPサーバーです。ブラウザーのclaude.ai本体からは接続できず、Claude CodeかClaude Desktopのローカルセッションで使う機能である点は覚えておいてください。
導入前に確認しておきたいこと
Zendeskのチケットには顧客の氏名・連絡先・問い合わせ内容といった個人情報が含まれます。書き込み系のツールまで渡す非公式サーバーを本番のサブドメインにいきなり繋ぐ前に、次を確認しておくと安全です。
- 専用のエージェントアカウントでトークンを発行する — Zendesk APIトークンは発行元アカウントの役割(ロール)に紐づきます。管理者アカウントで発行するとその権限がそのまま引き継がれるため、必要な操作だけに絞ったエージェントアカウントを別に用意するのが望ましい構成です
- サンドボックス環境があれば先に試す — プランによってはZendeskにテスト用のサンドボックスが用意されています。本番データに触れる前に一度動作を確認します
- 社内の個人情報の取り扱い方針を確認する — 顧客データを外部のAIツールに渡す運用が、自社のプライバシーポリシーや契約上の制約に反しないかを事前に確認します
Claude Codeに接続する
ステップ1 — Zendesk APIトークンを発行する
Zendesk管理画面の「Apps and integrations」→「APIs」→「Zendesk API」からトークンを発行します。認証は{メールアドレス}/token:{APIトークン}という形式のBasic認証で行われ、サーバー側はメールアドレスとトークンを別々の環境変数として受け取ります。
ステップ2 — リポジトリを取得しビルドする
Python環境とuvが必要です。
git clone https://github.com/reminia/zendesk-mcp-server.git
cd zendesk-mcp-server
uv venv && uv pip install -e ..envに3つの認証情報を設定します。
ZENDESK_SUBDOMAIN=あなたのサブドメイン
ZENDESK_EMAIL=あなたのメールアドレス
ZENDESK_API_KEY=発行したAPIトークンステップ3 — claude mcp add で登録する
READMEが示すClaude Desktop向けの設定(command: "uv", args: ["--directory", "...", "run", "zendesk"])は、Claude Codeでは次のコマンドに読み替えられます。
claude mcp add zendesk \
--env ZENDESK_SUBDOMAIN=あなたのサブドメイン \
--env ZENDESK_EMAIL=あなたのメールアドレス \
--env ZENDESK_API_KEY=発行したAPIトークン \
-- uv --directory /path/to/zendesk-mcp-server run zendesk.envをサーバーの起動時に読み込ませる代わりに、--envでClaude Code側から環境変数として直接渡す形です。どちらの方法でもトークンをリポジトリにコミットしないことが前提になります。
Dockerで隔離して動かしたい場合
リポジトリはDockerfileも同梱しています。docker build -t zendesk-mcp-server .でイメージを作り、claude mcp add zendesk -- docker run --rm -i --env-file /path/to/.env zendesk-mcp-serverのように起動コマンド全体をdocker run経由に置き換えれば、ホスト環境を汚さずに試せます。認証情報はClaude Code側の--envではなく、docker runの--env-fileでコンテナに渡す形です。イメージは非rootユーザーで実行される設計です。
プロンプトを使ってみる
接続できたら、まずは定型プロンプトを試すのが手早い動作確認になります。Claude Codeで/と入力するとMCPサーバーが提供するプロンプトが候補に出てくるので、analyze-ticketを選びチケットIDを渡すと、対象チケットの経緯・優先度・対応状況をまとめた分析結果が返ります。続けてdraft-ticket-responseを使えば、その分析を踏まえた返信案を下書きしてくれます。どちらも最終的な送信はcreate_ticket_commentで別途実行する必要があり、下書きが自動で顧客に送られることはありません。
動作確認とよくあるつまずき
/mcpでzendeskがconnectedと表示されるか確認します。つまずきやすいのは次の点です。
- サブドメインの取り違え —
ZENDESK_SUBDOMAINはURLのhttps://{サブドメイン}.zendesk.com部分のみを指定します。フルURLを入れると認証に失敗します - APIトークンとパスワードの混同 — Basic認証のパスワード欄にZendeskのログインパスワードをそのまま使う設定ではありません。必ず管理画面で発行したAPIトークンを使います
- Python 3.12未満 —
pyproject.tomlはrequires-python = ">=3.12"を指定しており、それより古い環境では依存解決に失敗します uv未インストール —uv venvコマンド自体がuvを前提にしています--の付け忘れ —claude mcp addでは、Claude自身のオプション(--envなど)とサーバー起動コマンドの間を--で区切ります。付け忘れるとuv以降の引数がClaude Code側のオプションとして解釈されエラーになります
接続はできてもツールが反応しない場合の切り分けはMCPサーバーに接続できないときの切り分け手順を参照してください。導入前のMCP自体の仕組みはMCPとは、claude mcp addの構文全体はClaude Code MCP設定ガイドにまとめています。
他のMCPサーバーと組み合わせる
Claude Codeは1つのセッションで複数のMCPサーバーを同時に扱えます。Zendeskサーバー単体でもチケットの分析・返信下書きは完結しますが、GitHubのMCPサーバーを併用すれば「このチケットの不具合報告に対応するissueをGitHubに作って、チケットにもリンクを残して」のように、サポート対応と開発チームへの連携を1つの依頼にまとめられます。用途別のMCPサーバーの組み合わせはおすすめMCPサーバー10選にまとめています。
よくある質問
顧客への返信をClaudeが自動送信することはありますか
create_ticket_commentはpublicオプションで公開コメントか内部メモかを選べますが、ツール自体は呼ばれれば実行されます。返信文はClaudeに下書きさせ、送信の実行は必ず自分の指示で行う運用にするのが安全です。
Docker版とローカル実行版でツールの内容は変わりますか
変わりません。Dockerはあくまで実行環境を隔離する手段で、提供されるツール・リソース・プロンプトはuvで直接動かす場合と同じです。ホストのPython環境を汚したくない場合や、複数プロジェクトで設定を使い回したい場合に向いています。
ヘルプセンターの記事も検索できますか
zendesk://knowledge-baseリソース経由でヘルプセンターの全記事を参照できます。「〇〇についてのヘルプ記事を探して、その内容をもとに返信案を作って」のような依頼にも対応します。
チケットの優先度や担当者もClaudeが変更できますか
update_ticketでpriority(優先度)やassignee_id(担当者)を含む主要項目を変更できます。「このチケットの優先度をurgentに上げて、担当を自分にして」のような依頼も1回で処理されます。
まとめ
Zendesk向けのMCPサーバーはコミュニティ製で、スター数と更新頻度で最も実用的なのはreminia/zendesk-mcp-serverです。チケットの分析・返信案作成のプロンプトが最初から用意されているため、サポート業務の下書き作業を任せる用途と特に相性が良い構成です。導入自体はclaude mcp add一発で終わりますが、顧客とのやり取りを含むデータを渡す以上、APIトークンの権限範囲と、非公式実装である点は認識したうえで運用してください。専用のエージェントアカウントでトークンを発行し、サンドボックスがあれば先にそちらで一通り試してから、本番のサブドメインに切り替えるのが手堅い進め方です。