# MCPサーバ (/ja/docs/mcp-servers)

MCPサーバのページは、[Model Context Protocol](https://modelcontextprotocol.io)サーバを調べてデバッグする場所です。自分で作るサーバも、AIクライアントが使うサーバも対象です。
Echolotは接続し、サーバが使うプロトコルのバージョンを判別し、各手順が動作することをチェックし、提供されている内容を一覧表示します。ツール、リソース、プロンプトのどれでも呼び出せて、
その呼び出しをリクエストとして保存できます。

サイドバーのモジュール切り替えで**MCPサーバ**を選ぶか、<kbd>⌘</kbd><kbd>2</kbd>で開きます。サイドバーにはワークスペースのサーバが一覧表示され、ページには選択したサーバが表示されます。

<Shot id="mcp-server-detail" alt="Alpenglow MCPを選択したMCPサーバのページ。編集・監視・チェックのボタンがあるサーバのヘッダー、接続は正常ですのカード、プロトコル・ping・ツール数が載ったサーバのカード、ツールのカード" />

## デモサーバで試す [#try-it-with-the-demo-server]

デモAPIは、`https://demo.echolot.dev/mcp` でMCPサーバを動かしています。Alpenglowのサンプルワークスペースには、すでに **Alpenglow MCP** として登録されています。別のワークスペースに追加するには、次のようにします。

1. サイドバーの<strong>サーバ</strong>ヘッダーで<strong>+</strong>をクリックし、<strong>MCPサーバを追加…</strong>を選びます。
2. <strong>名前</strong>（`Alpenglow MCP` など）を入力し、<strong>トランスポート</strong>を<strong>HTTP（Streamable HTTP）</strong>に設定します。
3. **URL**に `https://demo.echolot.dev/mcp` を入力し、**追加**をクリックします。

Echolotはすぐにサーバをチェックします。サーバは3つのツール（`search_catalog`、`get_product`、`order_status`）と、リソースとプロンプトを1つずつ提供しています。
ローカルサーバ、ほかのアプリからのサーバの読み込み、ヘッダー、OAuthについては、[サーバの追加](/docs/mcp-servers/adding-servers)を参照してください。

## サーバの一覧 [#the-server-list]

各行には、サーバの名前、接続方法、チェック後はツールの数が表示されます：最初のチェックの前は `http · demo.echolot.dev`、チェック後は `http · 3 tools`、ローカルコマンドなら `stdio · npx` です。
緑のドットは前回のチェックに成功したこと、赤は失敗したことを示します。

サーバを右クリックすると、<strong>編集…</strong>、<strong>接続を確認</strong>、<strong>削除…</strong>が選べます。ヘッダーの<strong>−</strong>ボタンは、選択中のサーバを削除します。Echolotは先に確認し、サーバのファイルはゴミ箱に入ります。

各サーバはワークスペースの `mcp-servers` フォルダ内のファイルなので、Gitでワークスペースとともに受け渡されます。シークレットは対象外です。
[値とシークレット](/docs/mcp-servers/adding-servers#values-and-secrets)を参照してください。

## サーバをチェックする [#checking-a-server]

Echolotは、サーバを開いたときと、**チェック**をクリックしたときにチェックします。チェックでは、接続し、プロトコルを検出し、サーバにpingを送り、ツール、リソース、プロンプトを一覧表示します。
例外は、Echolotがまだ起動したことのないローカルサーバです。そのコマンドを確認するまで待機します（[実行前に確認](/docs/mcp-servers/adding-servers#review-before-running)を参照）。

結果は、上から順にカードとして表示されます。

| カード | 表示される内容 |
| --- | --- |
| **接続は正常です**または**接続の問題** | チェックの各手順の成功と失敗：**サーバの起動**（ローカルサーバ）、**サーバに到達可能**、**認可**、**プロトコル**、**死活確認**（ping）、**ツール**、**リソース**、**プロンプト**。失敗した手順には、何が問題かと対処方法が表示されます。 |
| **サーバ** | プロトコルのバージョン（**プロトコル（ステートレス）**または**プロトコル（セッション）**）、**Ping**と**接続**の所要時間、ツールの数、サーバの名前とバージョン、**機能**、複数のバージョンを挙げている場合は**対応バージョン**、モデル向けの**指示**。 |
| **ツール**、**リソース**、**プロンプト** | サーバが提供するもの。各項目の説明付きです。クリックすると呼び出せます。 |
| **モデルから見たこのサーバ** | ツールの一覧が毎ターンモデルに与える負荷と、モデルがつまずきそうな点。[ツールと品質](/docs/mcp-servers/tools-and-quality)を参照してください。 |
| **モデルで試す** | 入力したプロンプトに対して、モデルがどのツールを選ぶか。[ツールと品質](/docs/mcp-servers/tools-and-quality#try-with-a-model)を参照してください。 |
| **ライブ** | 監視中のサーバが通知した内容。[サーバを監視する](#watching-a-server)を参照してください。 |
| **メッセージ** | 前回のチェックのすべてのメッセージ。[メッセージログ](#the-message-log)を参照してください。 |

サーバがOAuthを要求する場合は、**サインインが必要です**のカードが最初に表示されます。
[OAuthでサインインする](/docs/mcp-servers/adding-servers#signing-in-with-oauth)を参照してください。

サーバが定義を誤っているツールは**ツール**の手順で数えられ、その手順は失敗して、ツールの名前とどこに問題があるかが示されます。

## ツール、リソース、プロンプトを呼び出す [#calling-tools-resources-and-prompts]

ツール、リソース、プロンプトのカードで、呼び出したい項目をクリックします。名前と引数が表示されたパネルが開きます。

- 入力スキーマのあるツールには、パラメータごとに1つのフィールドがあるフォームが表示されます。必須のフィールドは、名前の後ろに `*` が付きます。
  フィールドにポインタを置くと、その説明が表示されます。**引数**を**JSON**に切り替えると、引数を自分で書けます。JSONには、スキーマのすべてのフィールドが最初から入っています。
- プロンプトには、引数ごとにフィールドがあります。
- リソースには引数は不要です。

**呼び出す**をクリックするか、<kbd>↩</kbd>を押します。引数の下に応答と所要時間が表示されます。エラーを報告したツールは、赤で表示されます。

**リクエストとして保存**を押すと、呼び出しが引数付きのMCPリクエストとしてワークスペースに保存されるので、もう一度実行したり、チェックを追加したり、
[ランナー](/docs/requests/runner)で実行したりできます。[MCPリクエスト](/docs/requests/mcp-requests)を参照してください。**閉じる**（<kbd>esc</kbd>）は、保存せずに閉じます。

引数の値には、有効な[環境](/docs/workspaces/environments)の `{{variables}}` が使えます。呼び出しはすべてのリクエストと同じエンジンを通るので、ワークスペースのプロキシ設定と証明書設定が適用され、
各呼び出しは[履歴](/docs/workspaces/history)に保存されます。

### サーバがあなたに質問してきたとき [#when-the-server-asks-you-something]

ツールの呼び出し中に、サーバが何かを返すよう求めてくることがあります。Echolotはシートを表示します。

| シートの内容 | 操作 |
| --- | --- |
| **サーバが情報を求めています** | サーバが送ってきたフォームに入力して**送信**をクリックするか、**拒否**または**キャンセル**を選びます。 |
| **サーバがページを開くよう求めています** | **ブラウザで開く**をクリックし、そこで操作を終えてから、**完了**をクリックします。 |
| **サーバがモデルの応答を求めています** | サーバがモデルに答えさせたいメッセージがシートに表示されます。応答を自分で書いて**応答を送信**をクリックするか、**拒否**します。 |

あなたの答えを受け取るのは、質問したサーバだけです。

## サーバを監視する [#watching-a-server]

**監視**をクリックすると、接続が開いたままになります。ボタンは**監視中**に変わり、**ライブ**カードに、サーバが通知した内容が新しい順に表示されます：
ツール、リソース、プロンプトの一覧の変化と、リソースの更新です。一覧が変わると、Echolotはそれを読み込み直すので、カードは常に最新です。止めるには**監視中**をクリックします。

## メッセージログ [#the-message-log]

**メッセージ**カードには、前回のチェックのJSON-RPCメッセージがすべて、チェック開始からの経過時間とともに一覧表示されます：サーバに送信したメッセージ、受信したメッセージ、
接続のイベント、そしてローカルサーバの場合はエラー出力に書かれた内容です。最初の12件が表示され、残りは**すべてを表示**で一覧表示されます。

メッセージにポインタを置くと、整形された全体と、メソッド、ID、結果・エラー・通知のどれか、サイズが表示されます。**コピー**でコピーできます。

チェックが失敗したときは、ここを見てください。ローカルサーバのエラー出力に、停止した理由が書かれていることが多く、OAuthの問題では各ディスカバリーの手順が表示されます。

## 保護された環境 [#protected-environments]

[保護された環境](/docs/workspaces/protected-environments)が有効な間は、本番のサーバである可能性があるため、**チェック**、**監視**、すべての呼び出しが事前に確認されます。
その環境が有効な間、Echolotは自動ではサーバをチェックしません。チェックしたいときは**チェック**をクリックしてください。

## プロトコルのバージョン [#protocol-versions]

Echolotは、2種類のMCPの両方に対応しています。

- `server/discover` で見つかる、<strong>ステートレスなMCP</strong>のリビジョン `2026-07-28`。<strong>サーバ</strong>カードには<strong>プロトコル（ステートレス）</strong>と表示されます。
- ハンドシェイク方式のリビジョン `2025-11-25`、`2025-06-18`、`2025-03-26`、`2024-11-05`。`initialize` でセッションを開始します。カードには<strong>プロトコル（セッション）</strong>と表示されます。

HTTPでは、EcholotはStreamable HTTPを使います。サーバがこれを拒否すると、Echolotは `2024-11-05` の古いHTTP+SSEトランスポートを自動で試します。`/sse` で終わるURLは、最初にHTTP+SSEとして試されます。

## コマンドラインから [#from-the-command-line]

`echolot mcp check` は、同じチェックをターミナルやCIで実行し、`echolot mcp sign-in` は、OAuthを要求するサーバにサインインします。[echolot mcp](/docs/cli/mcp)を参照してください。

AIクライアントにEcholot自身のMCPサーバを通じてワークスペースを使わせるには、[エージェント](/docs/ai/agents)を参照してください。チュートリアル
[MCPサーバを調べてデバッグする](/docs/tutorials/inspect-an-mcp-server)では、このページを順を追って説明しています。
