# MCP 連携 (/ja/docs/verdent-manager/configuration/mcp)

> Verdent を Model Context Protocol サーバーとプラグインで拡張する



## MCP（Model Context Protocol）とは [#mcpmodel-context-protocolとは]

Model Context Protocol（MCP）は、外部のツール、データソース、サービスに接続することで Verdent の機能を拡張する連携システムです。

**中心となる考え方:**
MCP により、Verdent は組み込みのツールセットを超えてシステムと連携できるようになり、以下とのシームレスな統合が可能になります。

* 外部の API や Web サービス
* データベースシステム
* クラウドプラットフォーム（AWS、Azure、GCP）
* プロジェクト管理ツール
* CI/CD パイプライン
* カスタムの社内ツール

**アーキテクチャ:**
MCP サーバーは、Verdent と外部システムの橋渡し役として機能します。各 MCP サーバーは特定の機能を公開し、Verdent はコーディングセッション中にそれを呼び出せます。これは `file_read` や `bash` といった組み込みツールと同様です。

**設定の保存先:**
MCP サーバーの設定は `~/.verdent/mcp.json` に保存され、Settings メニューから管理されます。

***

## MCP 連携のメリット [#mcp-連携のメリット]

### 機能の拡張 [#機能の拡張]

**外部システムへのアクセス:**
Verdent を、組み込み機能では利用できないツールやサービスに接続できます。データベースへのクエリ、クラウドサービスとのやり取り、プロジェクト固有の API との連携を、コーディングワークフローから離れることなく行えます。

**カスタムツールの開発:**
プロジェクト独自の要件に合わせた MCP サーバーを作成できます。社内ツール、独自の API、ドメイン固有のシステム向けに専用の連携を構築できます。

### 相互運用性 [#相互運用性]

**エコシステムの活用:**
成長を続ける MCP エコシステムを活用できます。コミュニティが開発した MCP サーバーは、人気のツールやサービス向けに構築済みの連携を提供します。

**標準化されたプロトコル:**
MCP はツール連携のための一貫したインターフェースを提供し、新しい機能が Verdent の既存のツールシステムにスムーズに統合されることを保証します。

### ワークフローの自動化 [#ワークフローの自動化]

**シームレスな統合:**
MCP サーバーは Verdent のツールセットの一部になります。エージェントは適切な場面で自動的に MCP ツールを使用しますが、特定のタスク向けに明示的に呼び出すこともできます。

**コンテキストを認識した操作:**
MCP 連携はコードベースのコンテキストを理解し、現在の開発状態に基づいて外部システムとインテリジェントにやり取りできます。

***

## MCP サーバーのセットアップ [#mcp-サーバーのセットアップ]

### 設定の手順 [#設定の手順]

**MCP 設定へのアクセス:**

1. Verdent で Settings メニューを開きます
2. **MCP Servers** セクションに移動します
3. `~/.verdent/mcp.json` の設定を表示または変更します

**設定ファイル:**
MCP サーバーは `~/.verdent/mcp.json` ファイルで設定され、サーバー接続、認証、連携パラメータを定義します。完全なスキーマについては、以下の **MCP 設定** セクションを参照してください。

### 設定の管理 [#設定の管理]

**サーバーの追加:**
接続情報と認証クレデンシャルを含むエントリを `mcp.json` に追加することで、新しい MCP サーバーを設定できます。

**複数のサーバー:**
Verdent は複数の MCP サーバーの同時利用をサポートしており、複数の外部システムと同時に連携できます。

**接続のテスト:**
MCP サーバーの設定を検証し、開発ワークフローで使用する前に接続が成功することを確認できます。

### サーバーのステータス [#サーバーのステータス]

MCP 設定パネルで接続ステータスを監視できます。

| ステータス       | 説明                  |
| ----------- | ------------------- |
| **Success** | サーバーが接続され、ツールが利用可能  |
| **Failed**  | 接続エラー（クリックすると詳細を表示） |
| **Loading** | サーバーを初期化中           |

**ツールの更新:**
設定の変更や接続の問題があった後、更新ボタンを選択するとサーバーから利用可能なツールを再検出します。

***

## MCP 設定 [#mcp-設定]

### 基本のセットアップ [#基本のセットアップ]

**場所:** プロジェクトのルートにある `.mcp.json`、または `~/.verdent/mcp.json`（グローバル）

<CodeGroup>
  ```json PostgreSQL Server
  {
    "mcpServers": {
      "postgres": {
        "command": "npx",
        "args": [
          "-y",
          "@modelcontextprotocol/server-postgres",
          "postgresql://localhost:5432/myapp_dev"
        ]
      }
    }
  }
  ```

  ```json GitHub Server
  {
    "mcpServers": {
      "github": {
        "command": "npx",
        "args": [
          "-y",
          "@modelcontextprotocol/server-github"
        ],
        "env": {
          "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
        }
      }
    }
  }
  ```

  ```json Multiple Servers
  {
    "mcpServers": {
      "postgres": {
        "command": "npx",
        "args": [
          "-y",
          "@modelcontextprotocol/server-postgres",
          "postgresql://localhost:5432/myapp_dev"
        ]
      },
      "github": {
        "command": "npx",
        "args": [
          "-y",
          "@modelcontextprotocol/server-github"
        ],
        "env": {
          "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
        }
      }
    }
  }
  ```
</CodeGroup>

**設定キー:**

* `mcpServers` - MCP 設定に必須のトップレベルキー
* `command` - 実行する実行ファイル（Node.js パッケージの場合は通常 `npx`）
* `args` - コマンドに渡す引数（パッケージ名、接続文字列など）
* `env` - 認証・設定用の環境変数

<Tip>
  **MCP についてさらに詳しく:**

  * [Model Context Protocol 仕様](https://modelcontextprotocol.io/specification)
  * [MCP サーバーレジストリ](https://mcp.so/servers) - 利用可能な MCP サーバーを閲覧
  * [公式 MCP サーバー](https://github.com/modelcontextprotocol) - PostgreSQL、GitHub、Filesystem など
</Tip>

***

## MCP プラグインと拡張機能 [#mcp-プラグインと拡張機能]

### 利用可能なプラグイン [#利用可能なプラグイン]

MCP プラグインは、一般的なツールやサービス向けの構築済み連携を提供します。現在利用できるものは、コミュニティレジストリ [mcp.so/servers](https://mcp.so/servers) または [公式 MCP サーバーリポジトリ](https://github.com/modelcontextprotocol) で閲覧できます。

**一般的なプラグインのカテゴリ:**

* **データベース連携:** PostgreSQL、MySQL、MongoDB のクエリツール
* **クラウドサービス:** AWS、Azure、GCP の API とのやり取り
* **開発者ツール:** GitHub、GitLab、Jira、Linear との連携
* **CI/CD プラットフォーム:** Jenkins、GitHub Actions、CircleCI
* **監視サービス:** Datadog、New Relic、Sentry
* **コミュニケーション:** Slack、Discord、Microsoft Teams への通知

### プラグインのインストール [#プラグインのインストール]

**インストール方法:**
プラグインは MCP Settings インターフェースからインストールおよび設定し、通常は以下が必要です。

* プラグインの識別子またはソース
* 設定パラメータ
* 認証クレデンシャル（該当する場合）

**依存関係の管理:**
MCP プラグインは外部サービスやライブラリに依存する場合があります。インストールプロセスは可能な限り依存関係の解決を自動的に処理します。

***

## カスタム MCP サーバーの開発 [#カスタム-mcp-サーバーの開発]

### カスタムサーバーの作成 [#カスタムサーバーの作成]

上級ユーザーは、独自のツールやドメイン固有のシステムを連携させるためにカスタム MCP サーバーを作成できます。

**開発のアプローチ:**
カスタム MCP サーバーは MCP プロトコル仕様を実装し、Verdent が呼び出せるツール機能を公開します。実装の詳細と SDK については [Model Context Protocol 仕様](https://modelcontextprotocol.io/specification) を参照してください。

**カスタムサーバーのユースケース:**

* **社内 API 連携:** 会社固有の API やサービスに接続
* **レガシーシステムのブリッジ:** Verdent がレガシーインフラとやり取りできるようにする
* **特殊なデータソース:** 独自のデータベースやデータウェアハウスにアクセス
* **ワークフローの自動化:** カスタムのビルド、デプロイ、テストパイプラインをトリガー

### 連携のパターン [#連携のパターン]

**ワークスペースレベルの設定:**
MCP サーバーは、プロジェクト固有の連携のためにワークスペースレベルで設定でき、チームはバージョン管理を通じて MCP 設定を共有できます。

**ツールの相互運用性:**
MCP が提供するツールは Verdent の組み込みツール（`file_read`、`bash`、`spawn_subagent`）とシームレスに統合され、複数のツールタイプを組み合わせた複雑なワークフローを実現できます。

***

## デスクトップ固有の MCP 機能 [#デスクトップ固有の-mcp-機能]

### プロジェクトごとの設定 [#プロジェクトごとの設定]

| 設定レベル        | 場所                        | スコープ        |
| ------------ | ------------------------- | ----------- |
| **Global**   | `~/.verdent/mcp.json`     | すべてのプロジェクト  |
| **Project**  | プロジェクトのルートにある `.mcp.json` | 単一のプロジェクト   |
| **Worktree** | プロジェクトから継承                | プロジェクト設定を継承 |

### 複数 worktree での MCP [#複数-worktree-での-mcp]

MCP サーバーは worktree をまたいで動作します。

* **共有サーバー:** ベースワークスペースの MCP 設定がすべての worktree で共有される
* **分離された操作:** 各 worktree は個別の MCP セッション状態を保持する
* **並列アクセス:** 複数の worktree が同じ MCP サーバーを同時に使用できる

### プロジェクトの切り替え [#プロジェクトの切り替え]

プロジェクトを切り替えると、次のようになります。

* 現在のプロジェクトの MCP サーバーが読み込まれる
* グローバルの MCP サーバーは引き続き利用できる
* 以前のプロジェクトの MCP 接続はバックグラウンドで維持される

***

## MCP ワークフローの例 [#mcp-ワークフローの例]

### データベースクエリ連携 [#データベースクエリ連携]

**シナリオ:** データの問題をデバッグするために本番データベースにクエリを実行する。

**MCP でのアプローチ:**

```
User: "Check the orders table for customer ID 12345"
Verdent: [Uses MCP database server to execute safe read-only query]
        Results: 3 orders found for customer 12345
        [Displays formatted results]
```

MCP のデータベースサーバーが認証、クエリの検証、結果のフォーマットを処理します。

### クラウドサービスとのやり取り [#クラウドサービスとのやり取り]

**シナリオ:** AWS Lambda 関数のログでエラーを確認する。

**MCP でのアプローチ:**

```
User: "Show me recent errors from the payment-processor Lambda function"
Verdent: [Invokes MCP AWS integration]
        [Retrieves CloudWatch logs for specified function]
        [Filters for ERROR level entries]
        [Presents formatted error summaries]
```

MCP の AWS サーバーが認証、API 呼び出し、ログの解析を管理します。

### CI/CD パイプラインの監視 [#cicd-パイプラインの監視]

**シナリオ:** 変更をデプロイする前にビルドのステータスを確認する。

**MCP でのアプローチ:**

```
User: "Is the master branch build passing?"
Verdent: [Queries MCP CI/CD integration]
        Build #245: ✓ Passed (2 minutes ago)
        All tests passed, ready for deployment
```

MCP の CI/CD サーバーがパイプラインのステータスを追跡し、リアルタイムのフィードバックを提供します。

***

## セキュリティ上の考慮事項 [#セキュリティ上の考慮事項]

### 認証と認可 [#認証と認可]

**クレデンシャルの管理:**
MCP サーバーは外部サービスへの認証を処理します。クレデンシャルは MCP の設定に安全に保存され、チャット履歴やコードに公開されることはありません。

**権限のスコープ設定:**
MCP サーバーは必要最小限の権限で設定してください。可能な場合は読み取り専用アクセスを使用し、破壊的な操作を制限します。

### 安全な操作 [#安全な操作]

**コマンドのレビュー:**
MCP ツールを伴う操作は会話履歴に表示され、可視性とコントロールを提供します。

**監査ログ:**
MCP サーバーの操作は Verdent のチャット履歴に表示され、外部システムとのやり取りの監査証跡を作成します。

***

## MCP 連携のトラブルシューティング [#mcp-連携のトラブルシューティング]

### よくある問題 [#よくある問題]

**接続の失敗:**

* MCP サーバーへのネットワーク接続を確認する
* `mcp.json` の認証クレデンシャルを確認する
* MCP サーバーが実行中でアクセス可能であることを確認する
* 設定ファイルの構文を検証する

**権限エラー:**

* API キーまたはクレデンシャルに必要な権限があることを確認する
* サービスのクォータやレート制限を確認する
* ファイアウォールのルールが MCP のトラフィックを許可していることを確認する

**ツール呼び出しの問題:**

* MCP サーバーが期待されるツールを正しく公開していることを確認する
* ツールのパラメータ形式がサーバーの期待に一致していることを確認する
* エラーの詳細について MCP サーバーのログを確認する

### ヘルプを得る [#ヘルプを得る]

**サポートチャネル:**

* Verdent サポート: [support@verdent.ai](mailto:support@verdent.ai)
* [MCP プロトコルのドキュメント](https://modelcontextprotocol.io)
* [Verdent Discord コミュニティ](https://discord.com/invite/NGjXEZcbJq)

**診断情報:**
MCP の問題を報告する際は、以下を提供してください。

* MCP サーバーのタイプとバージョン
* 設定の詳細（クレデンシャルを除去したもの）
* チャット履歴のエラーメッセージ
* MCP サーバーのログ（アクセス可能な場合）

***

## よくある質問 [#よくある質問]

<AccordionGroup>
  <Accordion title="MCP サーバーはクレジットを消費しますか？">
    MCP サーバーの操作は、結果を処理するモデルに応じてクレジットを消費します。MCP サーバー自体は直接クレジットを使用しません。
  </Accordion>

  <Accordion title="MCP サーバーはプロジェクト固有ですか？">
    いいえ。MCP サーバーはプロジェクトごとではなく、ユーザーレベルで設定されます。設定したすべてのサーバーは、すべてのプロジェクトで利用できます。
  </Accordion>

  <Accordion title="mcp.json 内のクレデンシャルは安全ですか？">
    mcp.json 内のクレデンシャルはお使いのマシンにローカルで保存され、Verdent のサーバーに送信されることはありません。機密性の高い値には環境変数（`${VAR_NAME}`）を使用してください。
  </Accordion>

  <Accordion title="MCP サーバーは常時実行されますか？">
    MCP サーバーは必要なときに起動し、セッション中に実行されます。Verdent を閉じている間はリソースを消費しません。
  </Accordion>

  <Accordion title="MCP サーバーは私のファイルを変更できますか？">
    MCP サーバーは、あなたが設定した権限を持ちます。可能な場合は読み取り専用アクセスを使用し、破壊的な操作を制限してください。
  </Accordion>

  <Accordion title="MCP サーバーが動作しているかどうかはどうやって確認しますか？">
    Verdent に MCP サーバーのツールを使うよう依頼してください。正常な応答が返れば接続が機能していることを示します。問題が発生した場合はトラブルシューティングのセクションを確認してください。
  </Accordion>
</AccordionGroup>
