> For the complete documentation index, see [llms.txt](https://docs.maiagent.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.maiagent.ai/tech/ja/mcp/remote-mcp.md).

# Remote MCP サービスの概要

Remote MCP（リモート MCP サービス）の概念と、MaiAgent が Composio、Zapier などのホスト型サービスや自社でホストする MCP サーバーに接続する仕組みを説明します。トランスポート、認証、ツールの範囲、タイムアウト、記録、利用時の注意事項を扱います。

> このページは MCP の基本概念を理解していることを前提としています。[MCP（Model Context Protocol）](/tech/ja/mcp/mcp-model-context-protocol.md)をご覧ください。

## 1. Remote MCP サービスを選ぶ理由

一般的に、MCP サーバーの実行方法は 2 種類あります。クライアントがローカルで起動する方法（stdio）と、ネットワークサービスとしてデプロイし、クライアントが HTTP で接続する方法です。後者を Remote MCP と呼びます。Composio、Zapier などのホスト型サービスは、サーバーのデプロイと各 SaaS アプリケーションの認可管理を代行します。サーバー URL を取得するだけで利用できます。

| 検討項目          | 自社でホストする MCP サーバー       | ホスト型 Remote MCP サービス                         |
| ------------- | ----------------------- | -------------------------------------------- |
| **デプロイと運用保守** | 自社でデプロイ、監視、更新を行います      | サービスプロバイダーが担当します                             |
| **外部サービスの認可** | OAuth の実装やキーの管理を自社で行います | 通常はサービスプロバイダーが管理し、サーバー URL またはヘッダーが認可情報を表します |
| **利用可能なツール**  | 自社のシステム要件に応じて開発します      | サービスプロバイダーが対応するアプリケーションとアクションに依存します          |
| **データの経路**    | データは自社のサーバーのみを経由します     | ツールの引数と結果がサービスプロバイダーを経由します                   |

一般的な活用例：

* **オフィス業務の自動化**：Gmail の読み取りや送信、Google Calendar の予定管理、Google Drive のドキュメント検索、Google Sheets の更新を行います。
* **カスタマーサポートとチケット**：Zendesk、Salesforce などのシステムで顧客情報を検索し、チケットを作成または更新します。
* **プロジェクトと開発の共同作業**：Jira、Asana、Linear、GitHub で Issue を作成し、タスクのステータスを更新します。

***

## 2. MaiAgent が Remote MCP に接続する仕組み <a href="#how-maiagent-connects" id="how-maiagent-connects"></a>

MaiAgent は **MCP Client** です。Agent は呼び出すツールと引数を決定するだけで、実際の接続はプラットフォームが行います。ホスト型サービスも自社でホストするサーバーも、同じ接続方式を使用します。

```mermaid
sequenceDiagram
    participant A as Agent（LLM）
    participant P as MaiAgent プラットフォーム（MCP Client）
    participant S as Remote MCP サーバー
    participant X as 外部サービス（Gmail、Jira…）

    P->>S: initialize → tools/list（設定済みのヘッダーまたは OAuth トークンを付与）
    S-->>P: ツール一覧
    P->>P: 「許可するツール」でフィルタリングしてモデルに渡します
    A->>P: ツール呼び出し（名前＋JSON 引数）
    P->>S: 新規 session：initialize → tools/call
    S->>X: 外部サービスの API を呼び出します
    X-->>S: レスポンス
    S-->>P: ツールの結果
    P->>P: テキストに変換し、長すぎる内容を切り詰め、ツール実行記録に書き込みます
    P-->>A: ツールの結果
```

| 項目                | MaiAgent の動作                                                                                                                                                                                                                               |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **トランスポート**       | Streamable HTTP と SSE に対応し、URL によって判断します。パスが `/sse` で終わる場合、パスに `/sse/` が含まれる場合、またはクエリ文字列に `transport=sse` が含まれる場合は SSE を使用し、それ以外は Streamable HTTP を使用します。stdio と WebSocket には対応していません。                                                     |
| **URL**           | インターネットから接続可能な `https://` アドレスである必要があります。内部ネットワークのアドレスは保存できません。オンプレミス環境で必要な場合は MaiAgent にお問い合わせください。                                                                                                                                       |
| **認証**            | 3 つの方法があります。URL 自体に認可情報を含める方法（Composio、Zapier が提供するサーバー URL はこの方式です）、「<mark style="color:blue;">ヘッダー (JSON)</mark>」に固定の API Key を設定する方法、OAuth コネクタを選択してプラットフォームが認可とトークンの自動更新を代行する方法です。ユーザーごとに自分のトークンを使う必要がある場合は、連絡先の MCP 認証情報も設定できます。      |
| **ツール一覧の取得タイミング** | Agent のツールを構成するたびに、サーバーに対して `tools/list` を実行します。そのため、サーバー側で削除されたアクションは、次の返信ではモデルに提供されなくなります。                                                                                                                                               |
| **ツールの範囲**        | 各 MCP ツール（1 つのサーバー URL）には、独自の「<mark style="color:blue;">許可するツール (JSON 配列)</mark>」一覧があります。Agent はその MCP ツールに紐づけられると、一覧にあるツールのみを呼び出せます。サーバーで追加されたアクションは**自動で有効になりません**。ツール設定に戻り、「<mark style="color:blue;">再取得</mark>」をクリックしてから有効にする必要があります。 |
| **タイムアウトとリトライ**   | MCP session の読み取りタイムアウトは 30 秒です。接続中断などの一時的なエラーでは、読み取りツール（再送しても安全なもの）のみを自動でリトライし、最大 3 回まで試行します。                                                                                                                                             |
| **記録と課金**         | 呼び出しごとにツール実行記録を書き込みます（ツール、実際に呼び出した MCP ツール名、入力引数、出力またはエラー、所要時間）。成功した呼び出しは読み取りまたは書き込みの種類に応じて Credits を消費し、残高が不足している場合は呼び出しを送信しません。                                                                                                          |

接続、認証、リトライ、エラー処理の詳細な仕様は、[自社ホスト MCP Server の接続仕様](/tech/ja/mcp/self-hosted-mcp-server.md)をご覧ください。

### 2 つの利用入口 <a href="#entry-points" id="entry-points"></a>

* **Agent の MCP ツール**：管理画面で MCP ツールを作成し、サーバー URL と認証方式を入力して Agent に紐づけます。外部向けのカスタマーサポート Agent や特定用途の Agent に適しています。
* **MaiGPT コネクタ**：管理者がコネクタを有効にすると、メンバーは MaiGPT の会話内で自分で認可し、利用のオン・オフを切り替えられます。

***

## 3. 制限と注意事項 <a href="#limitations" id="limitations"></a>

* **サーバー URL は認証情報です**：Composio、Zapier などのサービスが生成するサーバー URL 自体に認可情報が含まれています。URL を入手した人は、そのアカウントでツールを呼び出せます。MaiAgent のツール設定にのみ入力し、ロール指示、会話、公開ドキュメントには記載しないでください。漏えいした場合は、サービスプロバイダー側で再生成してください。
* **すべてのユーザーが同じアカウントを共有します**：URL または固定ヘッダーで認証する場合、この Agent を通じて会話するすべてのユーザーは、サービスプロバイダー側で最初に認可したアカウントで操作します。個人アカウントに紐づくサービス（個人用メールボックスやカレンダー）では、連絡先ごとの個別認可を行う OAuth コネクタを使用するか、内部向け Agent でのみ使用してください。
* **Agent ごとに異なる権限が必要な場合は、別々の MCP ツールを作成します**：許可するツールの一覧は MCP ツールに設定されます。同じ MCP ツールに紐づく Agent は、同じ一覧を共有します。
* **データは外部サービスを経由します**：一般的に、ホスト型サービスはツールの引数と結果を処理します。データ分類と法令要件に応じて評価してください。
* **読み取りを先に有効にし、その後で書き込みを有効にします**：Agent に必要なアクションのみを公開してください。書き込みアクションは自動でリトライされませんが、モデルが繰り返し呼び出す可能性はあります。作成、送信、削除などのアクションについては、サービス側の動作を確認してください。
* **ローカル型 MCP サーバーはリモート版に変更する必要があります**：`npx`、`node` などのコマンドでローカル起動する MCP サーバーは、そのままでは使用できません。サービスプロバイダーのリモート版を利用するか、自社で HTTP サービスとしてデプロイしてください。

***

## 4. 操作方法はユーザーマニュアルをご覧ください <a href="#user-guide-links" id="user-guide-links"></a>

* [MCP ツールの作成](https://docs.maiagent.ai/build/tools/mcp-setup)：URL、ヘッダー、OAuth コネクタ、許可するツール
* [Agent へのツール設定](https://docs.maiagent.ai/build/tools/configure_tools)
* [連絡先の MCP 認証情報設定](https://docs.maiagent.ai/build/tools/setup-contacts-mcp-credentials)
* [MaiGPT コネクタ](https://docs.maiagent.ai/work/maigpt/connectors)、[コネクタ管理（管理者）](https://docs.maiagent.ai/work/maigpt/connectors/connectors-admin)
* [ツール実行記録](https://docs.maiagent.ai/build/agent-ops/tool-execution-records)

サービスプロバイダーの設定手順は、[Composio 連携](/tech/ja/mcp/composio.md)、[Zapier 連携](/tech/ja/mcp/zapier.md)をご覧ください。

***

### 参考リンク

* [Model Context Protocol 仕様：トランスポート（Transports）](https://modelcontextprotocol.io/specification/latest/basic/transports)
* [Model Context Protocol 仕様：認可（Authorization）](https://modelcontextprotocol.io/specification/latest/basic/authorization)
* [Model Context Protocol 仕様 2024-11-05：HTTP with SSE トランスポート](https://modelcontextprotocol.io/specification/2024-11-05/basic/transports)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.maiagent.ai/tech/ja/mcp/remote-mcp.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
