お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の
英語版を参照してください。
概要
Zoho Apptics
Model Context Protocol(MCP)サーバーを使用すると、チームは会話型AIを通じて、利用状況、エンゲージメント、パフォーマンス統計などの製品データを分析できます。SQLクエリーや詳細なダッシュボード分析を行わなくても、自然言語を使用してAIインターフェイス(Claude、Cursorなど)からデータを直接問い合わせることができます。Zoho Apptics MCPはZoho MCPを基盤としているため、Zoho Apptics MCPを使用するには、Zoho MCPにアクセスしてサーバーを作成する必要があります。
Zoho Apptics MCPサーバーは、次のMCP機能に対応しています。
- リモートMCPサーバー、またはローカルでホストされるMCPサーバー。
- 認証のためのOAuth対応。
- LLM内のAppticsデータにより多くのコンテキストを付与するための42件のツール呼び出しとプロンプト。
メモ:Zoho Apptics MCPサーバーはベータ版です。この期間中は一部の機能を利用できない場合があり、不具合が発生する可能性があります。
リモートMCPサーバー
はじめに
権限とアクセス制御
- 組織のすべてのメンバーがMCP連携を使用できます。
- 組織メンバーは、Zoho Appticsでアクセス権のあるプロジェクトのデータのみにアクセスできます。
- 既存の役割と権限によるアクセス制御は、MCP連携にも適用されます。
Zoho MCPサーバーへのアクセス
- https://www.zoho.com/mcp/にアクセスしてサインアップします。
- サインインしたら、https://mcp.zoho.com/に移動します。
- [MCPサーバーを作成]をクリックします。ユースケースに合わせて事前設定されたサーバーの一覧が表示されます。ドロップダウンからZoho Appticsを選択して、Apptics専用の事前設定済みサーバーを絞り込みます。
- 独自のカスタムMCPサーバーを作成し、ユースケースに応じて必要なツールを設定することもできます。[MCPサーバーを作成]をクリックし、サーバー名を入力して[作成]をクリックします。
- サーバーが作成されます。Appticsをサーバーに追加するには、[ツールを追加]をクリックします。
- 要件に応じてツールを選択し、[今すぐ追加]をクリックします。
- Apptics MCPをLLMに追加するには、左側のメニューで[接続]をクリックします。
実装
使用しているLLMツールに応じて、以下の手順を完了します。
Claude
Zoho Apptics MCPとClaudeの接続
ClaudeをZoho Apptics MCPに連携すると、安全でシンプルな設定により、会話画面内で実際のワークフローを処理できます。
ClaudeでのZoho Apptics MCPの設定
メモ:この手順を実行できるのは、Claude組織の管理者のみです。接続後、この連携はClaude組織内のすべてのユーザーが利用できますが、このZoho Apptics MCPインスタンスに連携されたツールを管理できるのはあなただけです。
- ブラウザーでclaude.ai/settings/integrationsを開きます。
- [Organization integrations]をクリックします。
- [Add integration]を選択します。
- 名前を入力し、上記で提供された[Integration URL]を貼り付けます。
- [Add]をクリックします。
- 新しいチャットを開きます。
- [Search and tools]を選択します。
- Zoho Apptics MCP接続を選択します。
- チャットで使用するツールを選択します。
- 選択したツールを使用して操作を実行するようClaudeに依頼します。
Cursor
Zoho Apptics MCPとCursorの接続
Cursor IDE内でZoho Apptics MCPのツールを直接使用できます。コーディング作業画面を離れずに、AIアシスタントが安全に実際の操作を実行できるようにします。
- {
- 'mcpServers': {
- 'ZohoMCP': {
- 'url': 'YOUR_INTEGRATION_URL'
- }
- }
- }
CursorでのZoho Apptics MCPの設定
まず、[Cursorに追加]ボタンをクリックして自動設定を試すことができます。手動でのインストールが必要な場合は、次の手順に従います。
- Zoho Apptics MCPサーバーを追加します。
- Cursorの設定を開きます(⇧ + ⌘ + J)。
- [MCP Tools]タブに移動し、[New MCP Server]をクリックします。
- 以下のJSON設定をコピーして貼り付け、CMD + SまたはCTRL + Sで保存します。
- Agentモードを有効にします。
- Cursor内でZoho Apptics MCPツールにアクセスするには、チャットがAgentモードに設定されていることを確認します。
重要:MCPサーバーキーはパスワードと同様に扱ってください。このキーにより、アカウントに接続されたツールを実行したり、機密情報にアクセスしたりできます。
Windsurf
Zoho Apptics MCPとWindsurfの接続
Windsurf IDE内でZoho Apptics MCPを直接使用できます。コーディング環境から、安全でシンプルな接続を通じてAIアシスタントに実際の操作を実行させることができます。
- {
- 'mcpServers': {
- 'Zoho': {
- 'command': 'npx',
- 'args': [
- 'mcp-remote',
- 'YOUR_INTEGRATION_URL',
- '--transport',
- 'http-only'
- ]
- }
- }
- }
WindsurfでのZoho Apptics MCPの設定
- Windsurfの設定を開きます(⌘ + ,)。
- [Cascade]タブに移動し、[Add Server]をクリックします。
- [Add custom server +]を選択します。
- 以下のJSON設定を追加し、差し込み項目のキーを下記のMCPキーに置き換えます。
メモ:MCPサーバーキーはパスワードと同様に扱ってください。このキーにより、このサーバーにリンクされたツールを実行したり、データにアクセスしたりできます。
VS Code
Visual Studio Codeとの接続
Zoho Apptics MCPを使用して、Visual Studio Code内でツールを直接使用できます。コーディング作業画面を離れずに、安全でシンプルな接続を通じてAIアシスタントに実際の操作を実行させることができます。
重要:Zoho Apptics MCPを正しく機能させるには、Visual Studio CodeでGitHub Copilotを有効にし、Agentモードに設定しておく必要があります。
Visual Studio CodeでのZoho Apptics MCPの設定
- Visual Studio Codeのコマンドパレットを開きます(Macでは⇧ + ⌘ + P、WindowsではCtrl + Shift + P)。
- [MCP: Add Server...]と入力し、Enterキーを押します。
- [HTTP (HTTP or Server-Sent Events)]を選択し、Enterキーを押します。
- 下記のMCPキーを[サーバーキー]項目に貼り付け、Enterキーを押します。
- サーバー名を入力し、Enterキーを押します。
- GitHub CopilotがAgentモードに設定されていることを確認します。
- Zoho Apptics MCPサーバーのツールを使用するようGitHub Copilotに依頼します。
注意:MCPサーバーキーはパスワードと同様に扱ってください。このキーにより、サーバーにリンクされたツールを実行したり、機密データにアクセスしたりできます。
その他のMCPクライアント
任意のMCP対応クライアントで利用可能
AIエージェント、IDE、自動化ツールがModel Context Protocolに対応している場合は、上記のURLを貼り付けるだけで完了です。クライアントで必要な設定以外に、特別な設定は不要です。
警告:このURLはパスワードと同様に扱ってください。このURLにより、アカウントにリンクされたツールを実行したり、データにアクセスしたりできます。公開リポジトリ、共有ドキュメント、その他の第三者が閲覧できる場所には貼り付けないでください。
転送方式
Zoho MCPではHTTP(Streamable HTTP)転送を使用します。クライアントで選択を求められた場合は、HTTP/Streamable HTTPを選択してください。
JSON設定スニペット
クライアントがJSON設定ファイルに対応している場合(IDEベースのエージェントで一般的)、このブロックを貼り付けます。
一般的な接続手順
- クライアントのMCPまたは連携設定を開きます
- 新しいMCPサーバーを追加します。[Add server]、[New connection]、またはmcp.json設定ファイルを探します
- 転送方式をHTTPまたはStreamable HTTPに設定します
- 上記のMCP URLを[サーバーURL]の項目に貼り付けます
- 保存し、クライアントでAgentモードまたは同等の機能を有効にします
メモ:Zoho MCPで動作が確認されているクライアントには、Zed、Continue、Cline、n8n、およびStreamable HTTP転送に対応するその他のクライアントがあります。使用しているクライアントが一覧にない場合や上記の手順で動作しない場合は、クライアントのMCPドキュメントを確認するか、
support@zohomcp.comまでお問い合わせください。
ローカルでホストされるMCPサーバー
要件
- Node.js 18以上。
- Zoho Apptics OAuth認証情報(クライアントID、クライアントシークレット、Apptics APIにアクセスできるリフレッシュトークン)。
認証情報
Zoho AppticsのローカルMCPサーバーを設定するには、OAuth認証情報(クライアントID、クライアントシークレット、リフレッシュトークン)を環境変数として指定する必要があります。
- Zoho API consoleで新しいセルフクライアントアプリケーションを作成します。
- JProxy.jmobileapi.ALLスコープでコードを生成します。
- OAuthトークンエンドポイントを使用して、コードをリフレッシュトークンに交換します。
-
curl -X POST 'https://accounts.zoho.com/oauth/v2/token' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'code=YOUR_SELF_CLIENT_CODE' \
-d 'client_id=YOUR_CLIENT_ID' \
-d 'client_secret=YOUR_CLIENT_SECRET' \
-d 'grant_type=authorization_code'
JSONレスポンスにはrefresh_tokenが含まれます。リフレッシュトークンはAPPTICS_REFRESH_TOKENを通じて指定します。他のZohoデータセンターの場合は、accounts.zoho.comをaccounts.zoho.eu、accounts.zoho.inなどに変更してください。
環境変数
|
変数
|
必須
|
説明
|
| APPTICS_CLIENT_ID |
はい
|
Zoho APIコンソールで作成したOAuthクライアントID
|
|
APPTICS_CLIENT_SECRET
|
はい
|
Zohoセルフクライアント用のOAuthクライアントシークレット
|
|
APPTICS_REFRESH_TOKEN
|
はい
|
アクセストークンの取得に使用する、JProxy.jmobile.ALLスコープを持つリフレッシュトークン
|
|
APPTICS_SERVER_URI
|
いいえ
|
|
|
APPTICS_ACCOUNTS_URI
|
いいえ
|
|
Claude desktopの設定
- Claude desktopを開きます。
- [設定]→[開発者]→[設定を編集]に移動します。
- 以下の設定を追加します。
-
{
'mcpServers': {
'zoho-apptics': {
'command': 'npx',
'args': ['@zoho_apptics/apptics-mcp'],
'env': {
'APPTICS_CLIENT_ID': 'your_client_id',
'APPTICS_CLIENT_SECRET': 'your_client_secret',
'APPTICS_REFRESH_TOKEN': 'your_refresh_token'
}
}
}
}
-
Claude desktopアプリを再起動します。
MCP連携により、Appticsの主要機能にアクセスできます。
|
ツール名
|
説明
|
| getUserProjects |
認証済みユーザーに関連付けられているプロジェクトの一覧を取得します |
|
getProjectDetails
|
特定のプロジェクトに関する詳細情報(名前、作成日、設定済みプラットフォーム、設定内容など)を取得します。 |
|
getDashboardApplications
|
ダッシュボード表示用のアプリケーション詳細(アプリ名、バンドルID、プラットフォーム、ステータスなど)を取得します。
|
| getCrashList |
指定した期間のクラッシュ概要の一覧を返します。必要に応じてアプリのバージョンやプラットフォームで絞り込めます。各項目には、アプリのバージョン、OS種別、影響を受けたユーザー数とデバイス数、クラッシュ数、最上位の例外シグネチャなどのメタデータが含まれます。 |
| getCrashSummary |
次の項目を含むクラッシュ統計の概要を取得します。
- 影響を受けたユーザーの合計(usercount)
- 一意のクラッシュ問題数(issuecount)
- クラッシュイベントの合計(crashecount)
- 影響を受けたデバイス(devicecount)
- クラッシュフリーユーザーの割合(crashfreeusers)
|
| getCrashesByDate |
クラッシュ統計を日付とプラットフォームごとにグループ化して取得します。レスポンスには、プラットフォーム別のオブジェクト(iOS、Androidなど)が含まれます。各オブジェクトには、次の日次指標が含まれます。
- 1日あたりのクラッシュ数(crashcount)
- 1日あたりに影響を受けた一意のデバイス数(devicecount/deviceschart)
- 1日あたりに影響を受けた一意のユーザー数(usercount/userschart)
- 1日あたりの一意のクラッシュ数(issuecount/issueschart)
タイムスタンプはミリ秒単位のUNIXエポック時刻で返されます。
|
getCrashSummaryWithUniqueMessageId
特定のクラッシュイベントについて、詳細なクラッシュメタデータと診断トレースを取得します。含まれる情報は次のとおりです。
- デバイスモデルとOSバージョンの詳細
- アプリのコンテキスト(AppVersion、AppReleaseVersion)
- セッションメタデータ(SessionStartTime、UserID、DeviceID、NetworkStatus)
- クラッシュ診断情報(Exception、IssueName、Message、CustomProperties)
getCrashCountByDateWithTimezone
getCrashesByDateと同様ですが、タイムゾーンに基づく時間間隔でのグループ化が可能です。レスポンスでは、指定したタイムゾーンに合わせて調整された、プラットフォーム別の日次クラッシュ指標が提供されます。
getCrashCountByDateForUnique
一意のIDで識別される特定のクラッシュ課題について、日付別のクラッシュ数統計を取得します。特定のクラッシュの発生頻度の推移を長期的に追跡する場合に役立ちます。
getCrashCountByDateWithTimezoneForUnique
特定のクラッシュ課題について、タイムゾーンに対応した日付別のクラッシュ数統計を取得します。課題別の絞り込みと、タイムゾーンに合わせた日付グループ化を組み合わせます。
getCrashDeviceModelData
特定のクラッシュ課題について、デバイスモデル別の分布データを取得します。影響を受けているデバイスモデルが分かります。ハードウェア固有の問題を特定する場合に役立ちます。
getCrashOsVersionData
特定のクラッシュ課題について、OSバージョン別の分布データを取得します。影響を受けているOSバージョンが分かります。OS固有のリグレッションを特定する場合に役立ちます。
getCrashAffectedDevices
特定のクラッシュ課題について、影響を受けたデバイスの一覧を取得します。このクラッシュが発生した個別デバイスの詳細が分かります。サポートやデバッグのワークフローに役立ちます。
getExceptionChart
クラッシュと例外の時系列グラフデータを取得します。
- クラッシュの傾向(期間内の日次クラッシュ数)を表示するには、group=fatalを使用します。
- 処理済み例外やエラーの傾向を表示するには、group=nonfatalまたはgroup=errorを使用します。
getExceptionCountByGroup
特定のグループについて、クラッシュまたは例外の合計数を取得します。グループは次のとおりです。
- 合計クラッシュ数(致命的エラーまたはアプリを終了させる障害)
- 処理済み/非致命的例外の合計数(非致命的エラー)
- 記録されたエラー数(JSエラー)
getExceptionReportsV2
V2のクラッシュおよび例外レポート一覧を取得します。group=fatalの場合はクラッシュレポート一覧を返します。各行は一意のクラッシュ課題を表し、課題名、例外シグネチャ、影響を受けたアプリバージョン、合計クラッシュ数、影響を受けたユーザー数/デバイス数が含まれます。
getUniqueExceptionCount
特定のクラッシュまたは例外課題について、一意の発生件数を取得します。クラッシュの発生件数を数えるには、exceptionGroup=fatalを使用します。
getUniqueExceptionTrace
特定のクラッシュまたは例外の完全なスタックトレースを取得します。シンボル化されたトレースには、メソッド呼び出し、ファイル名、行番号、スレッド情報が含まれ、主要なデバッグツールとして機能します。
getUniqueExceptionChart
特定のクラッシュまたは例外課題について、時系列の傾向データを取得します。発生頻度が時間の経過とともにどのように変化するかを示します。リリース後のリグレッションを監視する場合に役立ちます。
getUniqueExceptionDeviceDetailsChart
特定のクラッシュまたは例外課題について、デバイスモデル別およびOSバージョン別の分布データを取得します。クラッシュがハードウェア固有かOS固有かを判断する場合に役立ちます。
getExceptionDevices
特定のクラッシュまたは例外の影響を受けた個別デバイスの一覧を取得します。デバイスモデル、OSバージョン、アプリバージョン、クラッシュのタイムスタンプなど、デバイスごとのデータを返します。
getAnrCountByDate
日付でグループ化されたANR統計を取得します。ANRはAndroid固有の「App Not Responding」エラーで、メインスレッドが長時間ブロックされた場合に発生します。
getAnrSummary
合計ANR数、影響を受けたユーザー数、デバイス数、課題数を含むANR統計の概要を取得します。
getEventSummary カスタムイベントのプラットフォーム別サマリーを返します。各イベントオブジェクトには次の情報が含まれます。
- 論理カテゴリ/タブ(イベントグループ名)
- 追跡対象イベントの名前(イベント名)
- 発生回数(イベント数)
getEventCountrywiseSummary イベントのアクティビティを国別にグループ化して取得します。国名と対応するイベント数のフラットなマッピングを返します。 getEventDeviceCount 特定のカスタムイベントを発生させた一意の有効デバイス数を取得します。各キーがイベントラベル、値が一意のデバイス数であるマッピングを返します。 getEventCountByDate
イベントのアクティビティを日付とプラットフォーム別にグループ化して取得します。各イベントエントリーには次の情報が含まれます。
- イベントの名前(イベント名)
- 発生回数(イベント数)
- ミリ秒単位のエポックタイムスタンプ(日付)
getAllEventStats 日付、プラットフォーム、国、アプリバージョン、デバイス種別など、1つまたは2つのグループ化ディメンションで集計されたイベント数の概要を取得します。
searchEvents
BDaaSデータストアから特定のカスタムイベントを検索します。イベント名、グループ名、プラットフォーム、日付範囲で絞り込めます。
getAllScreenStats 日付、プラットフォーム、国、アプリバージョン、デバイス種別など、1つまたは2つのグループ化ディメンションで集計された画面表示数を取得します。
getScreenRetentionStats
画面表示に基づくリテンション統計を取得します。ユーザーが特定の画面に時間の経過とともにどのように戻ってくるかを、日、週、月単位で分析します。
getAllSessionStats
日付、プラットフォーム、アプリバージョン、国、デバイス種別など、1つまたは2つのグループ化ディメンションで集計されたセッション数の統計を取得します。
getAllApiStats プラットフォーム、日付、アプリバージョン、国、デバイス種別などのグループ化ディメンションで集計された、設定済みAPIの使用状況統計を取得します。 getAllActiveDeviceStats 日付、プラットフォーム、アプリバージョン、国、バンドル、デバイス種別など、1つまたは2つのディメンションでグループ化された一意の有効デバイス数を取得します。 getActiveDeviceCountByDate
各プラットフォームの日別の一意の有効デバイス数を取得します。各日付はミリ秒単位のUNIXエポックタイムスタンプとして返されます。
getRemoteLoggerStats
リモートロギング統計を取得します。リモートログはデバイスから送信される診断ログで、関数名、ログメッセージ、重大度レベル、デバイスモデル、デバイスID、ユーザーで絞り込めます。
getRemoteLoggerSummary
リモートロギング統計の要約/集計ビューを取得します。重大度レベル、関数、デバイス、ユーザー別の大まかな件数と内訳を提供します。
getAllStoreReviewAppConfigurations
現在のプロジェクトについて、設定済みのPlay StoreアプリとApp Storeアプリ、それらのAAID、パッケージ名、バンドルIDなどのストアアプリ設定メタデータを返します。
getAllStoreReviewAppVersions
指定したPlay StoreアプリIDおよび/またはApp StoreアプリIDに対応する利用可能なアプリバージョンを返します。
Play StoreとApp Storeの両方からページ分割されたレビュー一覧を取得します。日付範囲、星評価、センチメント、国、言語、返信ステータス、スパム分類、デバイス情報、アプリバージョン、カスタムタグで絞り込めます。レビュー投稿者名、レビュー本文、評価、日付、デバイス情報、開発者の返信(ある場合)を返します。
getAllStoreReviewsTrend
Play StoreとApp Storeのレビューを組み合わせた、時間の経過に伴うレビュートレンドを取得します。日付別にグループ化されたレビュー数データを返します。
getAllStoreReviewsGroupStats
Play StoreとApp Storeのレビューを組み合わせたグループ別統計を取得します。必須のgroupbyパラメーターで集計ディメンションを指定します。
ユースケース例
- Appticsでアクセス可能なすべてのプロジェクトの一覧を表示してください。
- 過去7日間のクラッシュ概要を取得してください。
- 過去30日間にpayment_madeイベントを完了した有効デバイスを一覧表示してください。
- 過去7日間にアプリの商品一覧ページで発生したイベントの種類と件数を表示してください。
- プラットフォーム別のイベント分布を割合で表示してください。
すぐに試せるプロンプトを使って、その他のユースケースを
こちらで確認できます。