> ## Documentation Index
> Fetch the complete documentation index at: https://ai-kb.automationanywhere.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP（Model Context Protocol）

> Model Context Protocolを使用してエージェントを外部システムやツールに接続する

Model Context Protocol（MCP）は、データソースとAI搭載ツール間に安全な双方向接続を構築できるオープンスタンダードです。MCPを、AIエージェントがデータベース、ファイルシステム、Webサービス、APIなどのあらゆる外部システムとシームレスに通信できるようにする汎用翻訳者として考えてください。

## 概要

MCPサーバーは、以下を提供することでエージェントの機能を拡張します：

* **外部ツールアクセス** - サードパーティサービスやAPIに接続
* **データソース統合** - データベース、ファイルシステム、クラウドストレージへのアクセス
* **カスタム機能** - 特定のユースケースに対する専門ツールの追加
* **標準化されたインターフェース** - すべての統合に対する一貫したプロトコルの使用
* **安全な認証** - OAuth 2.0とカスタムヘッダーのサポート

## 仕組み

### 1. MCPサーバー接続

エージェントにMCPサーバーを追加すると：

1. **サーバー登録** - サーバーがエージェント設定に登録されます
2. **ツール検出** - エージェントがMCPサーバーから利用可能なツールを検出します
3. **ツール統合** - ツールが会話中にエージェントから利用可能になります
4. **動的実行** - エージェントは必要に応じてこれらのツールを呼び出すことができます

### 2. ツール実行フロー

```
User Query → Agent → MCP Tool Call → MCP Server → External System → Response → Agent → User
```

### 3. 複数サーバー

1つのエージェントに対して複数のMCPサーバーを構成できます：

* 各サーバーは独自のツールセットを提供します
* ツールにはサーバー名がプレフィックスとして付加されます（例：`sentry_get_errors`）
* サーバーは個別に有効化または無効化できます

## クイックスタート

### 人気のあるMCPサーバーの追加

1. サイドバーの**エージェント**に移動します
2. エージェントを選択または作成します
3. **編集**をクリックしてエージェントビルダーを開きます
4. **MCP**タブに移動します
5. **人気サーバーのクイック追加**セクションで、サーバータイルをクリックして追加します

### 人気サーバー

#### Sentry

アプリケーションのエラーとパフォーマンス問題を監視します。

* **URL**: `https://mcp.sentry.dev/mcp`
* **転送**: HTTP
* **認証**: OAuth 2.0
* **スコープ**: `org:read project:write team:write event:write`

**機能：**

* エラーレポートの表示
* パフォーマンス指標の監視
* プロジェクトとチームの管理
* イベントと問題の追跡

## ビデオチュートリアル

MCPサーバーの追加と設定方法については、このビデオをご覧ください：

## カスタムMCPサーバーの追加

### ステップ1：MCP設定にアクセス

1. サイドバーの**エージェント**に移動します
2. エージェントを選択または作成します
3. **編集**をクリックしてエージェントビルダーを開きます
4. **MCP**タブに移動します
5. **高度な設定**セクションまでスクロールします

### ステップ2：新しいサーバーを追加

1. **サーバーを追加**ボタンをクリックします
2. サーバー設定フォームが表示されます

### ステップ3：サーバー設定を構成

#### サーバー名

MCPサーバーに一意の名前を入力します（例：`my-custom-server`、`weather-api`、`database-connector`）。

**ベストプラクティス：**

* 小文字とハイフンを使用してください
* 記述的かつ簡潔にしてください
* 特殊文字は避けてください

#### 転送タイプ

エージェントがMCPサーバーと通信する方法を選択します：

**HTTP（streamable\_http）**

* 標準HTTPリクエスト
* REST APIやWebサービスに最適
* リクエスト/レスポンスパターンをサポート

**SSE（Server-Sent Events）**

* リアルタイムストリーミング通信
* ライブデータフィードに最適
* サーバーからクライアントへの一方通行ストリーミングをサポート

#### サーバーURL

MCPサーバーのエンドポイントURLを入力します：

**HTTP例：**

* `https://api.example.com/mcp`
* `http://localhost:8000/mcp/`
* `https://mcp.example.com/v1`

**SSE例：**

* `https://api.example.com/sse`
* `https://stream.example.com/events`

### ステップ4：認証を設定

#### 認証なし

MCPサーバーに認証が不要な場合は**認証なし**を選択します。

#### OAuth 2.0

OAuth保護付きサーバーの場合：

1. 認証方法として**OAuth 2.0**を選択します
2. **OAuthスコープ**を入力します（スペース区切り）
   * 例：`read write admin`
   * 例：`org:read project:write team:write`

**OAuthフロー：**

* ユーザーがエージェントとインタラクションすると、認証が求められます
* 認証は自動的に処理されます
* トークンは安全に保存され、必要に応じて更新されます

### ステップ5：カスタムヘッダー（オプション）

MCPサーバーにカスタムHTTPヘッダーが必要な場合：

1. **ヘッダーを追加**をクリックします
2. ヘッダー名を入力します（例：`X-API-Key`、`Authorization`）
3. ヘッダー値を入力します
4. 必要に応じて追加のヘッダーを追加します

**一般的なヘッダー：**

* `X-API-Key`: `your-api-key`
* `Authorization`: `Bearer token`
* `X-Custom-Header`: `custom-value`

### ステップ6：サーバーの有効化/無効化

**有効**チェックボックスを切り替えて、サーバーがアクティブかどうかを制御します：

* **有効**：サーバーツールがエージェントから利用可能になります
* **無効**：サーバーツールは非表示になりますが、設定は保持されます

### ステップ7：接続テスト

1. **テスト**ボタンをクリックして接続を検証します
2. テスト結果を待ちます：
   * **成功**：サーバーに到達でき、正しく設定されています
   * **エラー**：設定とネットワーク接続を確認してください

### ステップ8：設定の保存

1. **保存**をクリックしてMCPサーバー設定を保存します
2. サーバーがエージェントから利用可能になりました

## MCPサーバーの管理

### 設定済みサーバーの表示

**MCP**タブで以下を確認できます：

* **サーバー数** - 設定済みサーバーの数
* **サーバーステータス** - 有効/無効のステータス
* **サーバー名** - すべての設定済みサーバーの一覧

### サーバー設定の編集

1. **高度な設定**セクションでサーバーを検索します
2. サーバー設定を展開するためにクリックします
3. 設定を変更します
4. **テスト**をクリックして変更を検証します
5. 設定は自動的に保存されます

### サーバーの削除

1. 削除するサーバーを検索します
2. **削除**アイコン（ゴミ箱）をクリックします
3. 削除を確認します
4. サーバーがエージェント設定から削除されます

<Warning>
  MCPサーバーを削除すると、そのツールがエージェントから利用できなくなります。
  アクティブな会話がこれらのツールに依存していないことを確認してください。
</Warning>

### サーバーの有効化/無効化

任意のサーバーの**有効**チェックボックスを切り替えます：

* **有効**：サーバーツールを利用可能にします
* **無効**：サーバーツールを非表示にしますが、設定は保持します

これは以下に役立ちます：

* 問題のあるサーバーの一時的な無効化
* 異なるサーバー設定のテスト
* 設定を削除せずにサーバーの可用性を管理

## 転送タイプ

### HTTP（streamable\_http）

**使用する場合：**

* REST APIへの接続
* 標準的なリクエスト/レスポンスパターン
* Webサービスとマイクロサービス

**設定：**

* URLはMCPエンドポイントを指す必要があります
* 標準HTTPメソッドをサポート
* ほとんどのWebサービスで動作

**例：**

```
URL: https://api.example.com/mcp
Transport: HTTP
```

### SSE（Server-Sent Events）

**使用する場合：**

* リアルタイムデータストリーム
* ライブアップデートと通知
* サーバーからクライアントへの一方通行通信

**設定：**

* URLはSSEエンドポイントを指す必要があります
* サーバーがSSEプロトコルをサポートしている必要があります
* 切断時に自動再接続

**例：**

```
URL: https://stream.example.com/sse
Transport: SSE
```

## 認証方法

### 認証なし

MCPサーバーに認証が不要な場合に使用します：

* 公開API
* 社内サービス
* 開発/テストサーバー

**設定：**

* **認証なし**を選択
* 追加の設定は不要

### OAuth 2.0

安全な、ユーザー認証付きアクセスに使用します：

* サードパーティサービス（Sentry、Canvaなど）
* ユーザー固有のデータアクセス
* スコープ付き権限

**設定：**

1. **OAuth 2.0**を選択
2. OAuthスコープを入力（スペース区切り）
3. 初回使用時にユーザーが認証します

**OAuthスコープ例：**

* Sentry: `org:read project:write team:write event:write`
* Canva: `asset:read asset:write design:read design:write`
* カスタム: `read write admin`

**OAuthフロー：**

1. ユーザーがエージェントとインタラクション
2. エージェントがOAuth保護付きサーバーのMCPツールを必要とする
3. ユーザーに認証が求められる
4. 認証が自動的に完了
5. トークンが安全に保存される
6. 将来のリクエストは保存されたトークンを使用

## カスタムヘッダー

カスタムヘッダーは以下に使用します：

* APIキー
* カスタム認証トークン
* サービス固有のヘッダー
* リクエストメタデータ

### ヘッダーの追加

1. サーバー設定で**カスタムヘッダー**セクションを見つけてください
2. **ヘッダーを追加**をクリックします
3. ヘッダー名を入力します（例：`X-API-Key`）
4. ヘッダー値を入力します
5. 必要に応じてより多くのヘッダーを追加します

### 一般的なヘッダーパターン

**APIキー：**

```
Header: X-API-Key
Value: your-api-key-here
```

**ベアラートークン：**

```
Header: Authorization
Value: Bearer your-token-here
```

**カスタムサービスヘッダー：**

```
Header: X-Service-Name
Value: your-service-identifier
```

## ユースケース

### エラー監視

**Sentry MCPサーバー**

アプリケーションのエラーとパフォーマンスを監視します：

```json theme={null}
{
  "server_name": "sentry",
  "transport": "streamable_http",
  "url": "https://mcp.sentry.dev/mcp",
  "auth_type": "oauth",
  "oauth_scopes": "org:read project:write team:write event:write"
}
```

**エージェント機能：**

* 「過去24時間のエラーを表示して」
* 「プロジェクトXのエラーレートは？」
* 「未解決の問題をすべて一覧表示して」

### データベースアクセス

**カスタムデータベースMCPサーバー**

データベースに接続します：

```json theme={null}
{
  "server_name": "postgres-db",
  "transport": "streamable_http",
  "url": "https://mcp.example.com/database",
  "auth_type": "oauth",
  "headers": {
    "X-Database-Name": "production"
  }
}
```

**エージェント機能：**

* 「usersテーブルをクエリして」
* 「最近の注文を表示して」
* 「顧客統計を取得して」

### ファイルシステムアクセス

**ファイルシステムMCPサーバー**

ファイルとディレクトリにアクセスします：

```json theme={null}
{
  "server_name": "filesystem",
  "transport": "streamable_http",
  "url": "https://mcp.example.com/files",
  "auth_type": "oauth"
}
```

**エージェント機能：**

* 「ドキュメントフォルダのファイルを一覧表示して」
* 「設定ファイルを読み取って」
* 「「error」を含むファイルを検索して」

### リアルタイムデータストリーム

**SSE MCPサーバー**

ライブデータフィードに接続します：

```json theme={null}
{
  "server_name": "live-data",
  "transport": "sse",
  "url": "https://stream.example.com/sse",
  "auth_type": "oauth"
}
```

**エージェント機能：**

* 「リアルタイムの株価を表示して」
* 「システム指標を監視して」
* 「リアルタイムイベントを追跡して」

## ベストプラクティス

### サーバー命名

* **記述的にする**：明確で意味のある名前を使用してください
* **小文字を使用**：ハイフン付きの小文字を推奨します
* **特殊文字を避ける**：文字、数字、ハイフンに限定してください
* **一貫性を保つ**：命名規則に従ってください

**良い例：**

* `sentry-monitoring`
* `postgres-production`
* `weather-api`

**悪い例：**

* `Server1`
* `my_mcp_server`
* `MCP-Server!!!`

### URL設定

* **HTTPSを使用**：常に安全な接続を優先してください
* **完全なパスを含む**：完全なエンドポイントURLを指定してください
* **URLをテスト**：保存前にURLがアクセス可能であることを確認してください
* **エンドポイントを文書化**：エンドポイントのドキュメントを保管してください

### 認証

* **可能な限りOAuthを使用**：APIキーよりも安全です
* **スコープを最小限に**：必要な権限のみをリクエストしてください
* **安全に保存**：トークンは自動的に処理されます
* **認証をテスト**：OAuthフローが正しく動作することを確認してください

### エラー処理

* **接続をテスト**：保存前にテストボタンを使用してください
* **ログを監視**：接続エラーを確認してください
* **障害を処理**：重要なサーバーのフォールバックを構成してください
* **問題のあるサーバーを無効化**：必要に応じて一時的に無効にしてください

### パフォーマンス

* **サーバー数を制限**：サーバーが多すぎるとエージェントが遅くなる可能性があります
* **未使用サーバーを無効化**：アクティブなサーバーのみを有効にします
* **ヘッダーを最適化**：必要なカスタムヘッダーのみを含めてください
* **応答時間を監視**：遅いMCPサーバーの応答に注意してください

## トラブルシューティング

### 接続障害

**問題**：テスト接続が失敗する

**考えられる原因：**

* 不正なURL
* ネットワーク接続の問題
* サーバーが実行されていない
* ファイアウォールが接続をブロック

**解決策：**

* URLが正しくアクセス可能であることを確認
* ネットワーク接続を確認
* サーバーが実行されていることを確認
* ファイアウォールルールを確認

### 認証エラー

**問題**：OAuth認証が失敗する

**考えられる原因：**

* 不正なOAuthスコープ
* サーバーがOAuthをサポートしていない
* ユーザーが認証していない
* トークンが期限切れ

**解決策：**

* OAuthスコープが正しいことを確認
* サーバーのOAuthドキュメントを確認
* 接続を再認証
* トークンの有効期限設定を確認

### ツールが利用できない

**問題**：MCPサーバーツールが表示されない

**考えられる原因：**

* サーバーが無効
* 接続が確立されていない
* サーバーが応答しない
* ツール検出が失敗

**解決策：**

* サーバーを有効にする
* 接続をテスト
* サーバーが実行されていることを確認
* サーバーログを確認

### タイムアウトエラー

**問題**：リクエストがタイムアウトする

**考えられる原因：**

* サーバーの応答が遅い
* ネットワーク遅延
* サーバーの過負荷
* 不正なタイムアウト設定

**解決策：**

* サーバーパフォーマンスを確認
* ネットワーク速度を確認
* サーバー負荷を軽減
* 設定可能な場合はタイムアウト設定を調整

## MCPサーバーのテスト

### 接続テスト

1. MCPサーバーを設定
2. **テスト**ボタンをクリック
3. 結果を待つ：
   * **成功**：成功メッセージ付きの緑色インジケータ
   * **エラー**：エラー詳細付きの赤色インジケータ

### テスト結果

**成功インジケータ：**

* 接続成功メッセージ
* サーバーが正しく応答
* 認証が動作（該当する場合）

**エラーインジケータ：**

* 接続タイムアウト
* 認証失敗
* 不正なURL
* サーバーが応答しない

### 結果の解釈

**成功：**

```
✓ Connection successful
MCP server connection tested successfully
```

**エラー：**

```
✗ Connection failed
Failed to connect to server: Connection timeout
```

## セキュリティに関する考慮事項

### OAuthセキュリティ

* **トークン保存**：トークンは安全に保存されます
* **トークン更新**：期限切れ時に自動更新
* **スコープ制限**：最小限の必要なスコープのみをリクエスト
* **ユーザー認証**：ユーザーが明示的に認証する必要があります

### カスタムヘッダー

* **機密データ**：可能な限りヘッダーに機密データを含めないでください
* **APIキー**：可能な限りAPIキーの代わりにOAuthを使用してください
* **ヘッダーの可視性**：ヘッダーは設定に保存されます
* **アクセス制御**：MCP設定の表示/編集権限を制限してください

### ネットワークセキュリティ

* **HTTPSのみ**：本番サーバーでは常にHTTPSを使用してください
* **社内ネットワーク**：プライベートサーバーには社内URLを使用してください
* **ファイアウォールルール**：ファイアウォールを適切に構成してください
* **VPNアクセス**：必要な場合に安全な接続のためにVPNを使用してください

## 例

### 例1：Sentry統合

**設定：**

```json theme={null}
{
  "server_name": "sentry",
  "transport": "streamable_http",
  "url": "https://mcp.sentry.dev/mcp",
  "auth_type": "oauth",
  "oauth_scopes": "org:read project:write team:write event:write",
  "enabled": true
}
```

**使用法：**

* エージェントがエラーを監視可能
* パフォーマンス指標を表示
* Sentryプロジェクトを管理

### 例2：カスタムAPI統合

**設定：**

```json theme={null}
{
  "server_name": "custom-api",
  "transport": "streamable_http",
  "url": "https://api.example.com/mcp",
  "auth_type": "oauth",
  "oauth_scopes": "read write",
  "headers": {
    "X-Client-ID": "your-client-id"
  },
  "enabled": true
}
```

**使用法：**

* エージェントがカスタムAPIエンドポイントを呼び出し可能
* 保護されたリソースにアクセス
* 識別のためのカスタムヘッダーを使用

### 例3：社内サービス

**設定：**

```json theme={null}
{
  "server_name": "internal-service",
  "transport": "streamable_http",
  "url": "http://internal-service:8000/mcp",
  "auth_type": "none",
  "headers": {
    "X-Internal-Key": "internal-key-value"
  },
  "enabled": true
}
```

**使用法：**

* エージェントが社内サービスにアクセス可能
* OAuth不要
* 社内認証のためのカスタムヘッダー

## 関連機能

* **ツールキット** - ビルドイン統合とツール
* **ツール** - カスタムツールとアクション
* **エージェント設定** - エージェントの動作を構成
* **API統合** - 外部APIに接続

<Card title="ツールキット" icon="toolbox" href="/agents/toolkits/overview">
  ビルドインツールキットと統合について学ぶ
</Card>

## サポート

MCPサーバーについてサポートが必要ですか？[support@automationanywhere.com](mailto:support@automationanywhere.com)にご連絡ください。
