mcpField
T
Tickiti

Tickiti

ローカル
tickiti.comビジネス・マーケティング04 日前に更新

Tickiti について

Tickiti は、AI アシスタントと Tickiti のヘルプデスク API をつなぐ MCP サーバーです。チケット専用ツールに加えて API 全体にもアクセスでき、トークンの権限で操作が制限されます。

主な機能

  1. 01チケットの作成、更新、統合、検索
  2. 02返信の閲覧と添付ファイルの取得
  3. 03テンプレート、メール、設定の管理
  4. 04レポートと管理 API 操作の実行
  5. 05エンドポイントの確認と v1 API の呼び出し

活用シーン

  1. 01サポートチケットの振り分けと返信
  2. 02チケットのやり取りの検索と返信のエクスポート
  3. 03テンプレートと定型返信の管理
  4. 04権限を限定してヘルプデスクレポートを実行

MCP 対応

stdio 経由で MCP クライアントに Tickiti API のツールを提供します。Bearer トークンを使い、その権限によって実行可能な操作が決まります。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

tickiti-mcp

Claude などの AI アシスタントに Tickiti ヘルプデスク API を公開する MCP(Model Context Protocol)サーバーです。Tickiti Public API v1(/api/v1/...)を薄くラップしており、各 MCP ツールは v1 エンドポイントに転送し、ベアラートークンを追加します。また、書き込みの場合は冪等性キーも追加します。セキュリティ境界となるのはトークンの権限です。このサーバーは呼び出しを中継するだけで、権限を拡大することはないため、読み取り専用トークンを使えばアシスタントも読み取り専用になります。

📖 詳細なドキュメント:https://www.tickiti.com/docs/topic/mcp_server/

ツール

チケットツールには、検証済みの入力がすべて揃っています。その他の API には、汎用ツールが 2 つ用意されているため、エンドポイントごとに個別のツールを用意しなくても、API 全体を利用できます。

チケット

ツール権限用途
create_tickettickets:write担当者、優先度、ステータス、参加者を指定してチケットを作成します(件名と内容、テンプレート、または対応内容を使用)。is_public は必須です
respond_to_tickettickets:write返信を投稿します。ステータス、保留、担当者、優先度、キュー、件名、参加者を変更できます。返信全体をメールで送信するには send_full_email を指定します
close_tickettickets:writeチケットをクローズします。最終返信と解決内容を任意で指定できます
edit_responsetickets:write通知せずに返信を直接変更します(本文全体、検索と置換、公開範囲)。または、社内メモを公開して通知します
delete_responsetickets:write返信を論理削除します
add_participants / remove_participantstickets:write参加者を変更します
delete_tickets / restore_tickettickets:writeチケットを削除します(番号を指定するか、1 人の送信者からのチケットをすべて削除できます)。また、削除を取り消します
merge_ticketstickets:write2 件のチケットを統合します(古い方が残ります)
link_tickets / unlink_tickets / list_linked_ticketstickets:write / read「リンク済み」パネル
move_responses / copy_responses / split_tickettickets:writeスレッドを修正します。返信を移動またはコピーするか、返信を切り分けて新しいリンク済みチケットを作成します
change_originatortickets:writeチケットを起票した人を変更します
delete_attachmenttickets:write添付ファイルを 1 件削除します(悪意のあるファイルなど)。削除した記録は保持されます
get_ticket / list_responsestickets:readチケットのスレッド、参加者、リンクを取得します。長いメールスレッドを小さく保つには fields / max_body_chars を指定します
get_responsetickets:readID で指定した返信を 1 件取得します
query_ticketstickets:readチケットを検索します
query_responses / export_responsestickets:readチケットを横断して返信を取得します。件数とグループ別集計、NDJSON のディスクへのエクスポートもできます
get_attachment / download_attachmenttickets:read添付ファイルのバイトデータを取得します(ダウンロードではサイズを問わずファイルにストリーミングします)
list_queues / list_teams / list_staff / list_resolutions / get_search_modestickets:readキュー名と設定、チームキー、スタッフのアドレス、解決カテゴリ、検索用語を取得します

設定、テンプレート、メール、管理

ツール権限用途
list_perspectives / get_perspectivesettings:read条件と並べ替え順を含む保存済みビュー
list_watchlistssettings:readウォッチリスト
list_stock_responses / get_stock_responsesettings:read定型回答(検索、本文)
create_stock_response / update_stock_response / delete_stock_responsesettings:write定型回答の編集
get_template / search_templates / render_templatetemplates:readテンプレートとよくある質問。送信せずにデータに適用してレンダリング
create_template / update_templatetemplates:writeテンプレートの編集(更新されるのは指定したフィールドのみです)
upload_template_imagetemplates:write / settings:writeテンプレートまたは定型回答用の画像をアップロード
send_email / search_sent_mailmail:write / mail:readメールの送信、送信済みメールの検索
list_api_tokens / create_api_token / update_api_token / revoke_api_tokenadministration:*API キー(トークンで許可されるのは、そのトークンが持つ権限のみです)
list_workflowworkflow:read解決カテゴリ、介入、エスカレーション
run_reportreports:read分析レポート
get_token_infoanyこのトークンでできること:権限、所有者のロール、プラン
list_instances—設定済みの Tickiti インスタンス(下記参照)
list_endpoints—権限、パス、本文パラメーターを含むすべての API エンドポイント
tickiti_callエンドポイントごとファミリーとアクションを指定して、任意の /api/v1 エンドポイントを呼び出す

名前付きツールの範囲を超える機能(メール、テンプレート、ワークフローの書き込み、管理、 スーパーバイザー)については、アシスタントは list_endpoints でアクションを特定し、 続いて tickiti_call で実行します。これにより、v1 API 全体を利用できます。

要件

  • Node.js 20 以降
  • Tickiti API トークン。Administration → API keys から発行し、アシスタントに付与する権限を設定します
  • MCP 対応クライアント。例:Claude Code または Claude デスクトップアプリ

インストール

git clone https://github.com/tickiti/tickiti-mcp.git
cd tickiti-mcp
npm install
npm run build

ビルド済みサーバーは dist/server.js です。

設定

サーバーは2つの環境変数を読み取ります(いずれかが設定されていない場合、起動時に直ちに失敗します)。

変数用途
TICKITI_API_BASETickiti インストール環境の公開アドレス。末尾にスラッシュは付けません。例:https://support.example.com。サーバーが /api/v1/… を付加します。
TICKITI_API_TOKENベアラートークン。その権限によって、アシスタントが実行できる操作が決まります。
複数のインスタンス

1つのサーバーから複数の Tickiti インストール環境(本番環境とステージング環境など)に接続するには、 TICKITI_INSTANCES を追加します。値には JSON、または JSON ファイルのパスを指定し、名前を { "base", "token" } に対応付けます。 TICKITI_API_BASE / TICKITI_API_TOKEN の組み合わせはデフォルトのインスタンスとしてそのまま使用され、 TICKITI_INSTANCE_NAME の名前が割り当てられます(デフォルトは default)。

TICKITI_INSTANCE_NAME=production
TICKITI_INSTANCES='{"staging": {"base": "https://staging.example.com", "token": "…"}}'

各ツールでは、任意の instance 引数を指定できます。list_instances で名前を確認できます。

Claude Code での使用

claude mcp add tickiti \
  --env TICKITI_API_BASE=https://support.example.com \
  --env TICKITI_API_TOKEN=YOUR_TICKITI_API_TOKEN \
  -- node /absolute/path/to/tickiti-mcp/dist/server.js

claude mcp list(またはセッション内で /mcp)を実行して確認します。削除するには claude mcp remove tickiti を実行します。

ほかの MCP クライアントでは、それぞれの設定ファイルでサーバーを設定しますが、形式は同じです。 環境変数 TICKITI_API_BASE と TICKITI_API_TOKEN を設定し、 node /absolute/path/to/tickiti-mcp/dist/server.js を stdio サーバーとして実行します。

権限とセキュリティ

サーバーが独自の権限を追加することはありません。すべての呼び出しは、トークンに紐づくスタッフユーザーとして実行され、トークンの権限によって制限されます。直接 API を呼び出す場合と同じです。アシスタントにできることを制限するには、範囲を絞ったトークンを発行します。

  • 読み取り専用トークン(例:tickets:read、reports:read)を使うと、アシスタントは内容を確認できても変更はできません。
  • 書き込み権限を付与するのは、アシスタントが操作する必要のある分類だけにしてください。
  • 呼び出しが拒否された場合、サーバーは理由(権限、ロール、プランの不足)を報告します。

チケットを書き込むツールは、すべての呼び出しで冪等性キーを送信するため、リクエストを再試行してもチケットや返信が重複して作成されることはありません。

長い本文は、content の代わりに content_path(ローカルファイル)で指定できます。ファイルと画像は常にパスで渡します。サーバーが読み込むため、バイト列がモデルを通過することはありません。

仕組み

ファイル役割
src/client.tsリクエストの中核:ベース URL、ベアラー認証、冪等性、エラーの正規化
src/result.tsAPI の結果を MCP ツール結果のエンベロープにマッピング
src/manifest.ts生成されたルートマニフェストのヘルパー(検索、パス構築)
src/generated/manifest.ts自動生成されたルートテーブル(編集しないでください)
src/tools/tickets.tsチケットの書き込み — 検証済みの入力スキーマ
src/tools/ticket-reads.tsチケット、返信、添付ファイルの読み取り
src/tools/ticket-operations.ts削除、統合、リンク、移動、起票者、添付ファイルの削除、検索
src/tools/settings-writes.ts定型返信とテンプレート
src/tools/admin.tsメール、テンプレートのレンダリングと画像、パースペクティブ、API キー、インスタンス
src/tools/reads.ts名前付き読み取りツール(設定/ワークフロー/レポート)
src/tools/generic.tslist_endpoints + tickiti_call
src/param-hints.ts専用ツールのないエンドポイントについて、list_endpoints が表示する本文パラメーター
src/server.tsエントリーポイント:ツールを登録し、stdio トランスポートに接続
scripts/build-manifest.mjsTickiti のルートテーブルからマニフェストを再生成

メンテナー

src/generated/manifest.ts は Tickiti 自身のルートテーブル(php artisan route:list --json)から生成されるため、権限、ロール、プランの制限、パスパラメーターを手作業で管理する必要はありません。API の変更後、Tickiti のチェックアウトを使って再生成してください。

TICKITI_DIR=/path/to/tickiti npm run manifest

すべてのエンドポイントを対象とするエンドツーエンドテストが tests/all-paths.mjs にあります(npm run test:paths。スクラッチインスタンスに対するベース URL と全権限トークンが必要です)。また、ツール登録をオフラインで確認するテストが tests/smoke-tools.mjs にあります(npm run build && node tests/smoke-tools.mjs)。

一部のツールは、2026 年 10 月に Tickiti に追加されたエンドポイントを呼び出します。古いインストール環境では 404 が返されます。list_endpoints には最新の API が記載されています。

ライセンス

MIT © Oxenic

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。