Gorelo について
Gorelo は、Gorelo の PSA REST API を利用するチーム向けの MCP サーバーです。チケット、資産、請求、プロジェクト、ドキュメント、アラート、時間記録を幅広く扱い、ツールの権限区分を設定できます。
主な機能
- 01チケット・クライアント・連絡先へのアクセス
- 02資産と稼働時間チェックの管理
- 03請求情報の確認と時間記録
- 04プロジェクト・ドキュメント・アラートの操作
- 05読み取り・書き込み・破壊的ツールの設定
活用シーン
- 01クライアントのチケットと連絡先情報の確認
- 02管理対象資産とカスタム資産の追跡
- 03請求書、契約、時間記録の確認
- 04クライアントの監視イベントに関するアラート作成
MCP 対応
Gorelo Public API の操作を MCP ツールとして公開します。112 個のツールがあり、読み取り、書き込み、破壊的操作の区分を設定できます。stdio と HTTP のトランスポートに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm -e GORELO_API_KEY -e GORELO_REGION -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-ai/gorelo-mcp:v1.1.1GORELO_API_KEYシークレットGorelo Public API key for the tenant, sent as the X-API-Key header.GORELO_REGIONGorelo regional API host: us (default) or au.MCP_TRANSPORTTransport mode for the server. Set to 'stdio' for local CLI use; the image defaults to 'http' for gateway hosting.AUTH_MODEシークレットCredential source: 'env' reads vars locally, 'gateway' expects header injection from the WYRE MCP Gateway.LOG_LEVELLog verbosity: debug, info, warn, errorローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/wyre-ai/gorelo-mcp:v1.1.1stdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Gorelo MCP サーバー
Gorelo の PSA(プロフェッショナルサービスオートメーション)REST API を扱う MCP サーバーです。公開 API を全面的にカバーしており(チケット、クライアント、連絡先、アセット、請求、プロジェクト、ドキュメント、アラートなど)、AI アシスタントと WYRE Conduit ゲートウェイ向けに提供されます。
認証
Gorelo 組織の API キーを生成し、X-API-Key ヘッダーとして送信してください。このサーバーはすべてのリクエストでその処理を行います。トークン交換はありません。
設定
.env.example をコピーし、以下の変数を設定してください。
| 環境変数 | 説明 |
|---|---|
GORELO_API_KEY | stdio および AUTH_MODE=env 用の Gorelo 公開 API キーです。ゲートウェイの Compose サービスでは読み込まれません。 |
GORELO_REGION | us(デフォルト)または au。アカウントのリージョン別 API ホストです。認証情報ではありません。 |
MCP_TRANSPORT | stdio(デフォルト)または http。 |
AUTH_MODE | env(デフォルト。上記の変数を読み込みます)または gateway(Conduit ゲートウェイが挿入する X-Gorelo-* ヘッダーを介して、認証情報をリクエストごとに受け取ります)。ゲートウェイモードでは GORELO_API_KEY へのフォールバックは行われません。コンテナイメージと Compose のデフォルトは gateway です。 |
CONDUIT_S2S_SECRET | HTTP トランスポートの起動に必須です。空の場合、または既知のプレースホルダー(changeme、change-me、secret、example、placeholder、replace-me、your-secret、your-s2s-secret、s2s-secret、replace-with-a-real-secret)の場合、プロセスはエラーをログに記録してゼロ以外のステータスで終了します。設定しないと Compose は起動しません。実際の値をコミットしないでください。この値がログに記録されることはありません。 |
MCP_ALLOW_INSECURE_DEV | CONDUIT_S2S_SECRET を設定せずに HTTP を起動する場合は、ローカル開発時に限り、値を正確に 1 に設定してください。プロセスは警告をログに記録し、X-Gateway-S2S の検証を行わず、127.0.0.1 のみでバインドします。ループバック以外の MCP_HTTP_HOST は上書きされ、その旨がログに記録されます。プレースホルダーのシークレットでは起動できません。 |
MCP_HTTP_HOST | シークレットが設定されている場合のバインドアドレスです。未設定の場合は 0.0.0.0 です。コンテナイメージでは 0.0.0.0 が設定されます。シークレットがない場合は無視され、127.0.0.1 が使用されます。 |
MCP_HTTP_PORT | HTTP ポートです。デフォルトは 8080 です。 |
GORELO_PRESET、GORELO_ENABLE_DESTRUCTIVE、GORELO_ENABLE_BILLING_WRITES、GORELO_TOOLS_INCLUDE、GORELO_TOOLS_EXCLUDE | ツールの選択については、ツールの選択を参照してください。 |
LOG_LEVEL | debug | info(デフォルト)| warn | error。 |
/health は認証不要のままで、getCredentials() を呼び出さず、API キーも返しません。stdio トランスポートでは CONDUIT_S2S_SECRET を使用しません。
HTTP 認証
MCP_TRANSPORT=http かつ CONDUIT_S2S_SECRET が設定されている場合、すべての /mcp リクエストに X-Gateway-S2S を含める必要があります。値は t=<unix seconds>,v1=<hex hmac-sha256> です。HMAC は、CONDUIT_S2S_SECRET をキーとして、文字列 t=<unix seconds> をそのまま SHA-256 でハッシュしたものです。ヘッダーがない、または無効な場合は 401 が返されます。証明は、時計のずれが 5 分以内であれば有効です。
AUTH_MODE=gateway の場合、/mcp には X-Gorelo-Api-Key も必要です。X-Gorelo-Region は任意です。指定する場合は値が正確に us または au でなければならず、それ以外の値には 400 が返されます。リクエストの認証情報は API キーヘッダーのみを参照します。キーがない場合は 401 が返され、GORELO_API_KEY へのフォールバックは行われません。
POST /mcp HTTP/1.1
X-Gateway-S2S: t=1710000000,v1=<hmac-sha256 hex of "t=1710000000">
X-Gorelo-Api-Key: <tenant api key>
X-Gorelo-Region: us
リクエスト制限
- HTTP リクエストボディの上限は 256 KiB(262144 バイト)です。
X-Gateway-S2Sのチェックに合格した後、Content-Lengthが上限を超えている場合は、JSON-RPC エラーとともに 413 が返されます。Content-Lengthのないボディは MCP SDK トランスポートによって上限が適用されます。認証されていないリクエストには、先に 401 が返されます。 tools/callの引数は 10,000 要素(あらゆる深さの配列内の各項目およびオブジェクトキー)までに制限されています。これを超える入力にはisErrorのツール結果が返され、ディスパッチされることはありません。
これらの制限は、CVE-2026-111768 / GHSA-46jr-4wx8-v453(検証中のメモリ枯渇)および GHSA-f897-62hf-6gxq(リクエストボディ/バッチの上限なし)に対処するものです。
ツール
112 個のツールは、ビルド時に Gorelo の OpenAPI 仕様(spec/gorelo-openapi.json、2026-10-20 に取得:117 件の操作、5 件を除外)から生成されます。名前は gorelo_<verb>_<noun> の形式です。以前のリリースにあった 24 個の読み取りツールは名前を維持しており、引数も変更されていません(pageSize/statusIds などの camelCase フィルターは配列として指定し、get_client/get_contact/get_asset/get_time_entry ツールでは id を指定します)。
ティアは HTTP メソッドに従います。
| ティア | メソッド | 数 | アノテーション | デフォルト |
|---|---|---|---|---|
| 読み取り | GET | 58 | readOnlyHint: true | オン |
| 書き込み | POST / PUT / PATCH | 36 | readOnlyHint: false、destructiveHint: false | オン(ゲートウェイが書き込みを制御)。ただし、請求関連の書き込みを除く(以下を参照) |
| 破壊的 | DELETE | 18 | readOnlyHint: false、destructiveHint: true | オフ。GORELO_ENABLE_DESTRUCTIVE=true を設定 |
admin とマークされた書き込みツールは、クライアント、連絡先、アイテムカタログ、請求書、または支払いを作成または変更します。
金銭に関する操作は、デフォルトでは読み取り専用です。4 つの請求関連書き込み(gorelo_create_invoice、gorelo_create_payment、gorelo_create_item、gorelo_update_item。タイムエントリーを除く Billing タグの DELETE 以外のすべての書き込み)は、GORELO_ENABLE_BILLING_WRITES=true が設定されていない限り、tools/list から非表示になり、呼び出し時に拒否されます。readonly プリセットでは、これらは常に非表示になります。請求関連の DELETE は通常の破壊的ツールです。タイムエントリーの作成/更新には影響しません。
機械可読な分類(read/write/destructive/admin/billing_write/excluded_binary/excluded_sensitive)は、node scripts/generate-tools.mjs --tiers <file> から取得できます。
リクエスト本文は、単一の body 引数として渡します(そのエンドポイントについて Gorelo がドキュメントで説明している JSON オブジェクト)。複数値フィルター(statusIds、clientIds など)は配列で指定し、カンマ区切りで送信されます。
アラート
| ツール | ティア | 説明 |
|---|---|---|
gorelo_list_alerts | 読み取り | Gorelo で、すべてのクライアントに関するアラートを一覧表示します。 |
gorelo_create_alert | 書き込み | 外部監視ツールからのアラートなど、Gorelo でクライアントに対する新しいアラートを発生させます。 |
アセット
| ツール | ティア | 説明 |
|---|---|---|
gorelo_get_asset | read | ID を指定して、単一のエージェント(管理対象デバイス)アセットを取得します。 |
gorelo_get_custom_asset | read | ID を指定して、単一のカスタムアセットを取得します。 |
gorelo_get_uptime_check | read | ID を指定して、単一の稼働時間チェックを取得します。 |
gorelo_list_assets | read | カーソルページネーションを使用して、サービスプロバイダーのエージェント(管理対象デバイス)アセットを一覧表示します。結果は createdOn の降順(新しいものが先)に並べ替えられます。 |
gorelo_list_custom_asset_hardware_types | read | カスタムアセットに指定できるハードウェアの種類を一覧表示します。 |
gorelo_list_custom_assets | read | カーソルページネーションを使用して、サービスプロバイダーのカスタム(エージェント以外の)アセットを一覧表示します。結果は createdOn の降順(新しいものが先)に並べ替えられます。 |
gorelo_list_uptime_checks | read | カーソルページネーションを使用して、サービスプロバイダーの稼働時間チェックを一覧表示します。結果は createdOn の降順(新しいものが先)に並べ替えられます。 |
gorelo_create_custom_asset | write | カスタムアセットを作成します。カスタムアセットとは、プリンターやファイアウォールなど、Gorelo エージェントを搭載していないデバイスを指します。有効なハードウェアの種類については、gorelo_list_custom_asset_hardware_types を使用してください。 |
gorelo_create_uptime_check | write | スケジュールに従ってホストに ping を送信する、ウェブアドレスにリクエストを送る、または TCP ポートに接続する稼働時間チェックを作成します。 |
gorelo_update_custom_asset | write | カスタムアセットを更新します。変更するフィールドのみを送信してください。 |
gorelo_update_uptime_check | write | 稼働時間チェックを更新します。変更するフィールドのみを送信してください。 |
gorelo_delete_asset | destructive | Gorelo から管理対象デバイス(エージェントアセット)を削除します。この操作は破壊的であり、Conduit から元に戻すことはできません。 |
gorelo_delete_custom_asset | destructive | Gorelo からカスタムアセットを削除します。この操作は破壊的であり、Conduit から元に戻すことはできません。 |
gorelo_delete_uptime_check | destructive | 稼働時間チェックを削除し、監視を停止します。この操作は破壊的であり、Conduit から元に戻すことはできません。 |
請求
| ツール | ティア | 説明 |
|---|---|---|
gorelo_get_contract | 読み取り | 1件の契約を取得します。各サービス項目に含まれる製品と作業内容も取得します。 |
gorelo_get_invoice | 読み取り | 添付ファイルと明細項目を含む1件の請求書を取得します。 |
gorelo_get_item | 読み取り | IDを指定して、カタログ内の1件のアイテム(製品またはバンドル)を取得します。 |
gorelo_get_time_entry | 読み取り | 1件の時間記録をIDで取得します。 |
gorelo_list_billing_roles | 読み取り | サービスプロバイダーに設定されている請求ロールを一覧表示します。チケットに時間を記録する際は、ロールの Id を BillingRoleId として使用します。 |
gorelo_list_contracts | 読み取り | 請求契約を一覧表示します。各契約には、構成するサービス項目が含まれます。 |
gorelo_list_invoices | 読み取り | サービスプロバイダーの請求書を、フィルターと並べ替えを適用して一覧表示します。 |
gorelo_list_item_categories | 読み取り | 製品が分類されているカテゴリと、それぞれのサブカテゴリを一覧表示します。 |
gorelo_list_items | 読み取り | サービスプロバイダーのアイテムカタログ(製品とバンドル)を一覧表示します。 |
gorelo_list_taxes | 読み取り | サービスプロバイダーに設定されている税率を一覧表示します。 |
gorelo_list_time_entries | 読み取り | すべてのチケットとタスクに記録された時間を、指定したフィルターで絞り込んで一覧表示します。 |
gorelo_list_work_types | 読み取り | サービスプロバイダーに設定されている作業種別を一覧表示します。チケットに時間を記録する際は、作業種別の Id を WorkTypeId として使用します。 |
gorelo_create_invoice | 書き込み(管理者、請求) | 明細項目を含む手動の請求書をクライアント宛てに発行します。 |
gorelo_create_item | 書き込み(管理者、請求) | アイテムカタログに製品またはバンドルを作成します。 |
gorelo_create_payment | 書き込み(管理者、請求) | 承認済みの請求書に対して、Gorelo 外で受領した支払いを記録します。 |
gorelo_create_time_entry | 書き込み | チケットに時間を記録します。 |
gorelo_update_item | 書き込み(管理者、請求) | アイテムを部分的に更新します。変更するフィールドのみを送信してください。 |
gorelo_update_time_entry | 書き込み | 時間記録を部分的に更新します。変更するフィールドのみを送信してください。 |
gorelo_delete_contract | 破壊的 | Gorelo から請求契約を削除します。この操作は破壊的で、Conduit から元に戻すことはできません。 |
gorelo_delete_invoice | 破壊的 | 請求書を削除するか、ステータスに応じて無効にします。この操作は破壊的で、Conduit から元に戻すことはできません。 |
gorelo_delete_item | 破壊的 | アイテムカタログから製品またはバンドルを削除します。この操作は破壊的で、Conduit から元に戻すことはできません。 |
gorelo_delete_payment | 破壊的 | たとえば gorelo_create_payment を使用して、Gorelo API 経由で記録された支払いを削除します。この操作は破壊的で、Conduit から元に戻すことはできません。 |
gorelo_delete_time_entry | 破壊的 | 記録済みの時間記録を削除します。この操作は破壊的で、Conduit から元に戻すことはできません。 |
クライアント
| ツール | ティア | 説明 |
|---|---|---|
gorelo_get_client | 読み取り | IDを指定して、1件のクライアントを取得します。 |
gorelo_list_client_locations | 読み取り | 指定したクライアントの所在地を一覧表示します。 |
gorelo_list_clients | 読み取り | カーソルページネーションを使用して、サービスプロバイダーのクライアントを一覧表示します。結果はクライアント ID の昇順(古い順)に並べ替えられます。 |
gorelo_create_client | 書き込み(管理者) | サービスプロバイダーにクライアント(および既定の所在地)を作成します。 |
gorelo_update_client | 書き込み(管理者) | 既存のクライアントを更新します。指定された(null ではない)フィールドのみが変更されます。 |
gorelo_delete_client | 破壊的 | Gorelo からクライアントを削除します。この操作は破壊的で、Conduit から元に戻すことはできません。 |
連絡先
| ツール | 権限レベル | 説明 |
|---|---|---|
gorelo_get_contact | 読み取り | IDで連絡先を1件取得します。 |
gorelo_list_contacts | 読み取り | カーソルページネーションを使用してサービスプロバイダーの連絡先を一覧表示します。必要に応じてクライアントで絞り込めます。結果は連絡先IDの昇順(古い順)に並びます。 |
gorelo_create_contact | 書き込み(管理者) | クライアントに連絡先を作成します。クライアントが指定されていない場合は、一時的な連絡先を作成します。 |
gorelo_update_contact | 書き込み(管理者) | 連絡先を更新します。変更するフィールドのみを送信してください。 |
gorelo_delete_contact | 破壊的操作 | Goreloから連絡先を削除します。この操作は破壊的であり、Conduitから元に戻すことはできません。 |
削除
| ツール | 権限レベル | 説明 |
|---|---|---|
gorelo_list_deletions | 読み取り | 削除されたレコードを一覧表示します。このAPIを通じて同期状態を保っているコピーから、該当レコードを削除できます。結果はDeletedOnの昇順、次にtype id、最後にidの順に並び、カーソルページネーションを使用します。 |
ドキュメント
| ツール | 権限レベル | 説明 |
|---|---|---|
gorelo_get_document | 読み取り | ドキュメントを1件取得します。 |
gorelo_get_document_version | 読み取り | 本文と添付ファイルを含む、ドキュメントのバージョンを1つ取得します。 |
gorelo_list_document_related_items | 読み取り | ドキュメントに関連付けられたレコードを一覧表示します。 |
gorelo_list_document_versions | 読み取り | ドキュメントのバージョンを新しい順に一覧表示します。 |
gorelo_list_documents | 読み取り | サービスプロバイダーのドキュメントを一覧表示します。 |
gorelo_create_document | 書き込み | HTML本文を含むドキュメントを作成します。クライアント向けまたは内部利用向けに作成でき、必要に応じて別のドキュメントの下に配置できます。 |
gorelo_create_document_related_item | 書き込み | ドキュメントを他のレコードに関連付けます。 |
gorelo_duplicate_document | 書き込み | ドキュメントのコピーを新しいドキュメントとして作成します。 |
gorelo_restore_document_version | 書き込み | 以前のバージョンを現行バージョンにします。 |
gorelo_update_document | 書き込み | ドキュメントのタイトル、本文、または配置を更新します。変更するフィールドのみを送信してください。 |
gorelo_delete_document_related_item | 破壊的操作 | ドキュメントから関連項目を1つ削除します。 |
フォーム
| ツール | 権限レベル | 説明 |
|---|---|---|
gorelo_list_form_responses | 読み取り | フォームの送信済み回答を新しい順に一覧表示します。 |
gorelo_list_forms | 読み取り | サービスプロバイダーのフォームを、最終更新日時の新しい順に一覧表示します。 |
gorelo_create_form_submission_link | 書き込み | このフォームに入力して送信するためのリンクを作成します。 |
組織
| ツール | 権限レベル | 説明 |
|---|---|---|
gorelo_list_api_keys | 読み取り | GoreloのAPIキーを新しい順に一覧表示します。名前と詳細のみを表示し、キーの値は表示しません。 |
gorelo_list_groups | 読み取り | サービスプロバイダーに設定されている技術者グループを一覧表示します。 |
gorelo_list_users | 読み取り | カーソルページネーションを使用してサービスプロバイダーのユーザー(技術者)を一覧表示します。結果はユーザーIDの昇順(古い順)に並びます。 |
プロジェクト
| ツール | Tier | 説明 |
|---|---|---|
gorelo_get_project | read | 単一のプロジェクトを取得します。 |
gorelo_get_project_comment | read | プロジェクト上のコメントを1件返します。 |
gorelo_get_project_task | read | タスクの詳細を1件返します。 |
gorelo_get_project_task_approval | read | 承認者とともに、タスクの承認を1件取得します。 |
gorelo_get_project_task_comment | read | タスク上のコメントを1件返します。 |
gorelo_list_project_comments | read | プロジェクトのコメントを新しい順に返します。 |
gorelo_list_project_sections | read | プロジェクトのセクションを一覧表示します。 |
gorelo_list_project_tags | read | サービスプロバイダーに設定されているプロジェクトタグを一覧表示します。 |
gorelo_list_project_task_comments | read | タスクのコメントを新しい順に返します。 |
gorelo_list_project_task_conversations | read | タスク上の会話を一覧表示します。 |
gorelo_list_project_tasks | read | プロジェクトのタスクを一覧表示します。 |
gorelo_list_project_types | read | サービスプロバイダーに設定されているプロジェクトの種類を一覧表示します。 |
gorelo_list_projects | read | プロジェクトを最新のアクティビティ順に一覧表示します。 |
gorelo_create_project | write | Gorelo にプロジェクトを作成します。 |
gorelo_create_project_comment | write | プロジェクトにコメントを投稿します。 |
gorelo_create_project_section | write | プロジェクトにセクションを追加します。 |
gorelo_create_project_task | write | プロジェクトのボードにタスクを作成します。 |
gorelo_create_project_task_approval | write | タスク上の項目について、連絡先に承認を依頼します。 |
gorelo_create_project_task_comment | write | タスクにコメントを投稿します。 |
gorelo_create_project_task_side_conversation | write | タスクで個別の会話を開始します。 |
gorelo_update_project | write | プロジェクトを更新します。変更するフィールドのみを送信してください。 |
gorelo_update_project_section | write | セクションのタイトルまたは色を更新します。変更するフィールドのみを送信してください。 |
gorelo_update_project_task | write | タスクを更新します。変更するフィールドのみを送信してください。 |
gorelo_delete_project | destructive | プロジェクトと、その中のすべてのタスクを削除します。この操作は破壊的で、Conduit から元に戻すことはできません。 |
gorelo_delete_project_comment | destructive | プロジェクト上のコメントを1件削除します。この操作は破壊的で、Conduit から元に戻すことはできません。 |
gorelo_delete_project_section | destructive | プロジェクトのセクションと、その中のすべてのタスクを削除します。この操作は破壊的で、Conduit から元に戻すことはできません。 |
gorelo_delete_project_task | destructive | プロジェクトのタスクを削除します。この操作は破壊的で、Conduit から元に戻すことはできません。 |
gorelo_delete_project_task_comment | destructive | タスク上のコメントを1件削除します。この操作は破壊的で、Conduit から元に戻すことはできません。 |
チケット
| ツール | ティア | 説明 |
|---|---|---|
gorelo_get_ticket | 読み取り | 1 件のチケットを取得します。 |
gorelo_get_ticket_approval | 読み取り | 承認者を含め、チケットに対する 1 件の承認を取得します。承認ステータスはここに記録されます。会話リストは簡潔に保たれており、承認ステータスは含まれません。 |
gorelo_get_ticket_comment | 読み取り | チケットに対する 1 件のコメントを取得します。コメント一覧の項目と同じ形式ですが、BodyHtml 全体が常に含まれるため、BodyTruncated フィールドはありません。 |
gorelo_list_ticket_comments | 読み取り | カーソルページネーションを使用して、チケットのコメントを一覧表示します。会話を上から下へ読む場合と同様に、デフォルトでは古い順に表示されます。 |
gorelo_list_ticket_conversations | 読み取り | チケットの会話を一覧表示します。 |
gorelo_list_ticket_statuses | 読み取り | サービスプロバイダーに設定されているチケットステータスを一覧表示します。 |
gorelo_list_ticket_tags | 読み取り | サービスプロバイダーに設定されているチケットタグを一覧表示します。 |
gorelo_list_ticket_types | 読み取り | サービスプロバイダーに設定されているチケット種別を一覧表示します。 |
gorelo_list_tickets | 読み取り | カーソルページネーションを使用して、サービスプロバイダーのチケットを一覧表示します。デフォルトの並べ替え順は updatedOn の降順です。 |
gorelo_create_ticket | 書き込み | Gorelo にチケットを作成します。 |
gorelo_create_ticket_approval | 書き込み | チケットに承認を作成します。一覧に記載された連絡先はすべて Pending で開始します。 |
gorelo_create_ticket_comment | 書き込み | チケットにコメントを追加します。Gorelo では、あなたではなく API が投稿者として表示されます。To と Cc はチケットの会話から取得されます。 |
gorelo_create_ticket_side_conversation | 書き込み | チケットにサイド会話を作成します。その後、この会話で返された Id を conversationId として、conversationType=3 を指定してコメントを投稿します。 |
gorelo_update_ticket | 書き込み | チケットの一部を更新します。変更するフィールドのみを送信してください。 |
gorelo_delete_ticket | 破壊的操作 | チケットとその時間記録を削除します。この操作は破壊的であり、Conduit から元に戻すことはできません。 |
gorelo_delete_ticket_comment | 破壊的操作 | チケットから非公開コメントを削除します。この操作は破壊的であり、Conduit から元に戻すことはできません。 |
tools/list のサイズ
tools/list の結果(名前、説明、入力スキーマ、注釈)の JSON サイズを測定しています。
| 構成 | ツール数 | バイト数 |
|---|---|---|
GORELO_PRESET=readonly | 58 | 39,718 |
| デフォルト(読み取り+書き込み、請求関連の書き込みなし) | 90 | 87,530 |
GORELO_ENABLE_DESTRUCTIVE=true + GORELO_ENABLE_BILLING_WRITES=true(すべて) | 112 | 102,064 |
コンテキストの上限が厳しいクライアントでは、プリセットまたは GORELO_TOOLS_INCLUDE を使用して一覧を絞り込んでください。
ツールの選択
| 環境変数 | 説明 |
|---|---|
GORELO_PRESET | all(デフォルト:読み取り+書き込み)、readonly(読み取り専用)、crm(Clients、Contacts、Organization)、tickets(Tickets、Contacts、Clients)、monitoring(Alerts、Assets)。タグプリセットは、操作の OpenAPI タグのいずれかに一致します。不明な値を指定すると起動が拒否されます。 |
GORELO_ENABLE_DESTRUCTIVE | true にすると DELETE ツールが有効になります。それ以外の値では無効のままです。プリセットやフィルターによって有効になることはありません。 |
GORELO_ENABLE_BILLING_WRITES | true にすると、請求書、支払い、項目の作成/更新が有効になります。デフォルトでは無効です。プリセットやフィルターによって有効になることはありません。 |
GORELO_TOOLS_INCLUDE | カンマ区切りの名前グロブ(*、?)。一致するツールのみを残します。例:gorelo_*_ticket*,gorelo_list_clients。 |
GORELO_TOOLS_EXCLUDE | カンマ区切りの名前グロブ。一致するツールを除外します。 |
プリセットとフィルターは、対象を絞り込むだけです。tools/list で非表示になっているツールは、名前を指定して呼び出しても拒否されます。選択の結果、ツールが 0 件になると起動が拒否されます。
除外項目
5つの操作は意図的に公開していません。3つは、Conduit ゲートウェイにバイナリのツール結果やアップロードの経路が確認されていないためです。
| 操作 | 理由 |
|---|---|
POST /v1/attachments | マルチパート形式のファイルアップロード |
GET /v1/invoices/{invoiceId}/pdf | バイナリ PDF を返す |
GET /v1/documents/{documentId}/pdf | バイナリ PDF を返す |
一覧は scripts/generate-tools.mjs の EXCLUDED_BINARY にあります。
もう2つの操作は、どのような設定でも公開されません。POST /v1/api-keys と DELETE /v1/api-keys/{apiKeyId}(EXCLUDED_SENSITIVE)です(認証情報の発行/失効は、AI ツールの対象範囲外です)。gorelo_list_api_keys は引き続き公開されます。返すのはキーのメタデータ(ID、名前、スコープ、日付)のみで、キーの値は返しません。
動作
- すべてのツールで、1つの汎用エグゼキューターを使用します。パスパラメーターは URL エンコードされ、ホストには常にリージョンごとに固定されたベース URL(
us/au)が使われ、リダイレクトは拒否されます。 - HTTP 429 は最大3回再試行します(
Retry-Afterを尊重し、上限は15秒です。指定がない場合は指数バックオフを使用します)。 - 100KB を超えるレスポンスは、明示的な
[TRUNCATED: ...]マーカーを付けて切り詰められます。フィルターまたはpageSizeで絞り込み、カーソルを使用して続きを取得してください。 - 403 の場合は
The Gorelo API key for this connection doesn't have permission to run <tool> (HTTP 403). An admin can check the key's permissions in Gorelo under Settings → Integrations.を返します。401、404、422 にはそれぞれ専用のメッセージがあります。API キーがエラーやログに含まれることはありません。
再生成
npm run generate # rewrite src/generated/tools.ts from spec/gorelo-openapi.json
npm run generate:check # exit 1 if the committed file is stale (also enforced by a test and CI)
新しい Gorelo API バージョンを取り込むには、spec/gorelo-openapi.json を置き換えて npm run generate を実行し、差分を確認して(JSON 以外のボディ形式を使う新しい操作を除き、追加操作にコード変更は不要です。そのような形式はジェネレーターが明示的なエラーを出します)、両方のファイルをコミットしてください。
クレジット
操作からツールへの変換方式、再試行/バックオフ、サイズ制限のロジックは、peetinc/gorelo-mcp-all(MIT、Copyright (c) 2026 peetinc)を参考にしています。THIRD_PARTY_NOTICES.md を参照してください。
開発
npm install
npm run generate # only after changing spec/gorelo-openapi.json
npm run build
npm test
npm run lint # tsc --noEmit
Docker
イメージはコンテナー内で 0.0.0.0(MCP_HTTP_HOST)をリッスンし、デフォルトでは AUTH_MODE=gateway に設定されます。ポートはループバックで公開し、実際の S2S シークレットを渡してください。ゲートウェイモードでは、Gorelo API キーはリクエストごとに X-Gorelo-Api-Key として渡され、環境変数からは読み込まれません。your-s2s-secret や changeme など、既知のプレースホルダーは渡さないでください。起動時に未設定として扱われ、終了します。
docker build -t gorelo-mcp .
docker run \
-e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \
-p 127.0.0.1:8080:8080 \
gorelo-mcp
CONDUIT_S2S_SECRET が未設定の場合、Compose は起動を拒否します。また、AUTH_MODE=gateway を設定し、GORELO_API_KEY は渡さず、127.0.0.1:8080:8080 でポートを公開します。プロジェクトの .env は補間にのみ使用されます。ゲートウェイサービスに env_file を追加しないでください。
CONDUIT_S2S_SECRET="$(openssl rand -hex 32)" docker compose up
シングルテナント HTTP(AUTH_MODE=env)でも S2S シークレットが必要です。そのうえで GORELO_API_KEY を使用します。
docker run \
-e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \
-e AUTH_MODE=env \
-e GORELO_API_KEY=your-value \
-e GORELO_REGION=us \
-p 127.0.0.1:8080:8080 \
gorelo-mcp
シークレットを使わないローカル HTTP は、開発専用です。MCP_HTTP_HOST が 0.0.0.0 の場合でも 127.0.0.1 にバインドされ、警告がログに記録されます。
MCP_TRANSPORT=http MCP_ALLOW_INSECURE_DEV=1 npm run start:http
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。