チャネルの接続
チャネルはThemisを外部サービスに接続します。すべてのチャネル認証情報は、スペースのオーナーまたはマネージャーによってスペースごとに設定されます。
利用可能なチャネル
| チャネル | 機能 | 認証 |
|---|---|---|
| GitHub | PRのレビュー、CIステータスの確認、コードの閲覧、イシューの作成 | GitHub Appインストール |
| Linear | イシューの作成と管理、プロジェクトの追跡、バグのトリアージ | スペース単位のAPIキー |
| Sentry | エラーの監視、アラートのトリアージ、イシューステータスの更新 | スペース単位のAPIトークン |
| Metabase | データベースのクエリ、チャートの生成、ビジネスデータの分析 | スペース単位のAPIキー |
| Google Drive | 共有ドライブからのドキュメント検索と読み取り | ユーザーごとのOAuth |
| Google Calendar | イベントの確認と管理、空き時間の確認、不在通知とフォーカスタイム | ユーザーごとのOAuth |
| Gmail | 読み取り、検索、ラベル付け、アーカイブ(送信機能なし) | ユーザーごとのOAuth |
| Google Analytics | GA4プロパティへのクエリ、カスタムレポート、リアルタイム指標 | スペース単位のサービスアカウント |
| Google Maps | ジオコーディング、場所、経路、距離行列、天気、大気質 | スペース単位のAPIキー |
| Flight Search | Google Flightsでのフライトと柔軟な日付検索 | 認証情報不要(オプトイン) |
| Microsoft Teams | TeamsチャネルとDMでのチャット | スペース単位のボットアプリ |
| Telegram | Telegramボット経由でのチャット、音声メッセージの送信 | スペース単位のボットトークン |
チャネルの設定
- スペース設定(サイドバーのギアアイコン)に移動
- チャネルを選択
- 接続したいサービスを選択
- 必要な認証情報(APIトークン、シークレット)を入力
- 保存 — Themisが接続を検証します
各チャネルには、必須フィールドとオプションフィールドが、それらの取得場所に関するヒントとともに表示されます。認証情報は暗号化されて保存され、保存後はマスクされた値として表示されます。
GitHub
Themisは Themis AI Agent GitHub Appを使って認証します。Personal Access Tokenは不要です。チャネル設定で Install GitHub App をクリックし、インストール完了後にスペースがinstallation_idを保存し、トークンはオンデマンドで発行されます。デプロイメント単位の登録については GitHub App Setup を参照してください。
ボットエイリアス(オプション。自己メンションフィルタリングに使用):
| フィールド | 用途 |
|---|---|
| Bot Aliases | Themisをトリガーすべき追加のGitHubログイン名。@メンションとPRレビュアー指定で照合されます。カンマ区切り。Appのボット自体は既に含まれているため、代替ハンドル(例:ステージング環境のインストール)からもトリガーしたい場合にのみ必要です。 |
コード生成コミットは、トリガーしたユーザーのgitアイデンティティ(プロフィールで設定)で作成者情報が付与され、GitHub Appがプッシャーとなります。
Linear
Linear設定 > APIからのAPIキーを使用します。Linear MCPサーバーはLinearがホスティングしています。ローカルへのインストールは不要です。
Linear設定:
| フィールド | 用途 |
|---|---|
| Organization Slug | Linear組織スラグ(例:my-org)。PRの説明と受信トレイでissueのURLを構築するために使用されます。THEMIS_LINEAR_ORG_SLUG にフォールバックします。空のままにすると、Linearリンクは通知なしで省略されます。 |
| Bot Display Names | このボットを識別するカンマ区切りのLinear表示名またはメールアドレスの断片(例:Themis,themis@)。自己返信防止と、issueがボットに割り当てられたときの検出に使用されます。エージェントの表示名にフォールバックします。 |
Bot Display Namesのいずれかに一致するユーザーにLinear issueを割り当てると、そのissueでコード生成がトリガーされます。
Sentry
プロジェクトとイシューの権限を持つ認証トークンが必要です。オプションで、スコープ付きアクセスのための組織スラグを設定できます。
Metabase
MetabaseのインスタンスURLとAPIキーが必要です(Metabase管理者 > 設定 > 認証 > APIキー)。Metabase MCPサーバーはホストにインストールされ、アプリケーションのPATH上に配置されている必要があります(必要に応じて METABASE_MCP_COMMAND で上書き)。
Teams
アプリID、パスワード、テナントIDを含むBot Frameworkアプリ登録が必要です。セットアップについてはMicrosoft Teams Bot Frameworkのドキュメントを参照してください。
Telegram
@BotFatherからのボットトークンが必要です。Themisにはwebhookの設定と検証を自動的に行うボタンが用意されています。ボットが応答するグループを制限するために、許可されたチャットIDリストを設定してください。
Google Drive、Google Calendar、Gmail
3つのGoogle Workspaceチャネルは、単一のユーザーごとのOAuthフローを共有します。各ユーザーがプロフィール > 接続から自分のGoogleアカウントを接続します。スペースレベルの認証情報は不要で、各チャネルは独自のスコープとツールセットを持ちます:
| チャネル | スコープ | ツール |
|---|---|---|
| Google Drive | 読み取り専用 | 検索、一覧、ファイル内容の読み取り、権限、共有リンク |
| Google Calendar | 読み取り+書き込み | カレンダー一覧、イベントの読み取り/作成/更新/削除、空き時間、不在通知、フォーカスタイム |
| Gmail | 整理(読み取り+ラベル+アーカイブ、送信不可) | 検索、メッセージの読み取り、ラベル管理、アーカイブ、ゴミ箱 |
スペースで各チャネルを有効化し、各ユーザーに自分のプロフィールから認可してもらいます。発言者がGoogleアカウントを接続している場合にのみ、チャットで各チャネルが利用可能になります。
Google Analytics
GCP サービスアカウントJSON が必要です。同じプロジェクトでAnalytics Admin APIとAnalytics Data APIを有効化してください。GA4の管理画面で、クエリしたいプロパティにサービスアカウントのメールアドレスを閲覧者として追加してください。
| フィールド | 用途 |
|---|---|
| Service Account JSON | サービスアカウントキーのJSONボディ全体。暗号化して保存され、MCPサーバー起動時にのみディスクに書き出されます(内容のSHAハッシュをキーとして使用)。 |
| GCP Project ID(オプション) | MCPプロセスの GOOGLE_CLOUD_PROJECT を設定します。 |
GA4のアカウント検出、プロパティの詳細、カスタムディメンション/メトリクス、コアレポート、リアルタイムレポートを提供します。
Google Maps
Maps Platform APIs(Places、Geocoding、Directions、Distance Matrix、Elevation、Time Zone、Weather、Air Quality)が有効化された Google Cloud APIキー が必要です。GCPコンソールでキーを生成してチャネルに貼り付けてください。
近隣検索+テキスト検索、場所の詳細、ジオコーディング(正方向/逆方向/バッチ)、経路、距離行列、ルート計画、標高、タイムゾーン検索、天気、大気質を提供します。トークン消費量の多い複合ツールはデフォルトで無効化されています。
Flight Search
認証情報は不要です。MCPサーバーはGoogle Flightsの公開APIにアクセスします。ただし、このチャネルは必要のないコンテキストでトークンを消費しないよう、スペースで明示的に有効化する必要があります。search_flights(特定日)とsearch_dates(柔軟な日付カレンダー)を提供します。結果はデフォルトで20件に制限されており(FLI_MCP_MAX_RESULTS)、チャットコンテキストを簡潔に保ちます。
Webhook
リアルタイムのイベントを受信するには、外部サービスにwebhook URLを登録してください:
| サービス | Webhook URL | イベント |
|---|---|---|
| GitHub | https://yourhost/webhooks/github | プルリクエスト、イシュー、コメント、プッシュ |
| Linear | https://yourhost/webhooks/linear | イシュー、コメント |
| Sentry | https://yourhost/webhooks/sentry | イシューアラート |
| Teams | https://yourhost/webhooks/teams | チャネルメッセージ |
| Telegram | https://yourhost/webhooks/telegram | メッセージ、ボイスノート |
Webhook認証は自動的に処理されます。GitHubはHMAC署名、LinearはJWT、Telegramは署名付きリクエストを使用します。Themisはwebhookシークレットを照合してターゲットスペースを解決します。