mcpField
C
Cortex MCP — Multi-Level Reasoning Server

Cortex MCP — Multi-Level Reasoning Server

ローカル
github.comAI・エージェント134 週間前に更新

Cortex MCP — Multi-Level Reasoning Server について

Cortex MCPは、深さを調整できる構造化されたステートフル推論を必要とするクライアント向けのstdioサーバーです。メモリ内セッションを管理し、推論ツールに加えてプロンプトとリアルタイムのトレースリソースを提供します。

主な機能

  1. 014段階の推論深度
  2. 02段階的または一括の推論
  3. 03セッションの継続とロールバック
  4. 04構造化された観察と評価
  5. 05ライブセッションとトレースリソース

活用シーン

  1. 01指定した深さで問題を検討
  2. 02推論セッションの継続や修正
  3. 03複数の思考ステップをまとめて送信
  4. 04セッションのトレースを確認

MCP 対応

stdioのMCPクライアントに`reasoning_think`ツール、7種類のプロンプト、セッションおよびトレースのリソースを提供します。セッション状態はメモリ内に保持され、プロセスの再起動時に消去されます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"j0hanz-cortex": {
"command": "npx",
"args": [
"-y",
"@j0hanz/cortex-mcp"
]
}
}
}
起動コマンドnpx -y @j0hanz/cortex-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@j0hanz/cortex-mcp1.11.0

ツール

1

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
levelenumいいえ深度レベル。新しいセッションでは必須です。basic(1~3ステップ、2K予算)、normal(4~8ステップ、8K予算)、high(10~15ステップ、32K予算)、expert(20~25ステップ、128K予算)。basic | normal | high | expert
querystringいいえ分析する質問または問題。
runModeenumいいえ"step"(デフォルト)または "run_to_completion"(basic レベルのみ)。step | run_to_completion
thoughtanyいいえ推論テキスト。そのまま保存されます。step モードでは文字列、バッチモードでは string[] です。
sessionIdstringいいえ続行するセッションの ID。
evaluationstringいいえ仮説への批評。
hypothesisstringいいえ次に提案するアイデア。
observationstringいいえこのステップで判明している事実。
stepSummarystringいいえステップを一文で要約します。
isConclusionbooleanいいえ最終回答時にセッションを早期終了します。
rollbackToStepintegerいいえロールバック先の 0 始まりのインデックス。後続の思考は破棄されます。
targetThoughtsintegerいいえ正確なステップ数。レベルの範囲内である必要があります。

詳細

Cortex MCP

npm version License

Install in VS Code Install in VS Code Insiders Install in Visual Studio

Add to LM Studio Install in Cursor Install in Goose

深さレベルを設定でき、セッションベースの状態管理、構造化された思考入力、リアルタイムのトレースリソースを備えた、多段階推論 MCP サーバーです。

概要

Cortex MCP は、状態を保持し、深さを制御できる推論用の stdio 専用 MCP サーバーです。src/index.ts のランタイムエントリーポイントは createServer() を StdioServerTransport に接続し、src/server.ts のサーバー機能では、単一のセッションベース推論エンジンを中心に、ツール、プロンプト、補完、ログ、購読可能なリソースを有効にします。

Inspector で確認された実際の MCP 機能は、1 個のツール、6 個の具体的なリソース、4 個のリソーステンプレート、7 個のプロンプトです。セッションはメモリ内に保存され、MCP リソースとして公開され、プロセスの再起動時に消去されます。

主な機能

  • reasoning_think は、段階的なセッション、run_to_completion による一括実行、ロールバック、早期結論、構造化された observation/hypothesis/evaluation 入力に対応します。
  • エンジンには、basic、normal、high、expert の 4 段階の深さが組み込まれており、それぞれに上限付きの思考範囲とトークン予算が設定されています。
  • プロンプトヘルパーは、reasoning.basic、reasoning.normal、reasoning.high、reasoning.expert、reasoning.continue、reasoning.retry、get-help を提供します。
  • リソースエンドポイントは、内部ドキュメントに加え、実行中のセッション一覧、セッションごとの JSON 表示、完全な Markdown トレース、個々の思考ドキュメントを公開します。
  • completable() とリソーステンプレートの補完フックを通じて、深さレベル、セッション ID、思考名の補完を利用できます。

要件

  • ローカルで npx または npm を使用する場合は、Node.js >=24 が必要です。
  • stdio トランスポートに対応した MCP クライアントが必要です。
  • 任意:Dockerfile で定義されたコンテナイメージをビルドまたは実行する場合は、Docker が必要です。

クイックスタート

次の標準的な MCP クライアント設定を使用します。

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

クライアント設定

VS Code にインストール [![VS Code にインストール](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=cortex-mcp&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40j0hanz%2Fcortex-mcp%40latest%22%5D%7D)

.vscode/mcp.json に追加します:

{
  "servers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

または CLI からインストールします:

code --add-mcp '{"name":"cortex-mcp","command":"npx","args":["-y","@j0hanz/cortex-mcp@latest"]}'

詳しくは、VS Code MCP ドキュメントをご覧ください。

VS Code Insiders にインストール

VS Code Insiders にインストール

.vscode/mcp.json に追加します:

{
  "servers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

または CLI からインストールします:

code-insiders --add-mcp '{"name":"cortex-mcp","command":"npx","args":["-y","@j0hanz/cortex-mcp@latest"]}'

詳しくは、VS Code Insiders MCP ドキュメントをご覧ください。

Cursor にインストール

Cursor にインストール

~/.cursor/mcp.json に追加します:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

詳しくは、Cursor MCP ドキュメントをご覧ください。

Visual Studio にインストール

Visual Studio にインストール

mcp.json (VS integrated) に追加します:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

詳しくは、Visual Studio MCP ドキュメントをご覧ください。

Goose にインストール

Goose にインストール

Goose extension registry に追加します:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

詳しくは、Goose MCP ドキュメントをご覧ください。

LM Studio にインストール

LM Studio に追加

LM Studio MCP config に追加します:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

詳しくは、LM Studio MCP ドキュメントをご覧ください。

Claude Desktop にインストール

claude_desktop_config.json に追加します:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

詳しくは、Claude Desktop MCP ドキュメントをご覧ください。

Claude Code にインストール

Claude Code CLI に追加します:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

または CLI からインストールします:

claude mcp add cortex-mcp -- npx -y @j0hanz/cortex-mcp@latest

詳しくは、Claude Code MCP ドキュメントをご覧ください。

Windsurf にインストール

~/.codeium/windsurf/mcp_config.json に追加します:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

詳しくは、Windsurf MCP ドキュメントをご覧ください。

Amp にインストール

Amp MCP config に追加します:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

または CLI からインストールします:

amp mcp add cortex-mcp -- npx -y @j0hanz/cortex-mcp@latest

詳しくは、Amp MCP ドキュメントをご覧ください。

Cline にインストール

cline_mcp_settings.json に追加します:

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

詳細については、Cline MCP ドキュメントをご覧ください。

Codex CLI にインストール

~/.codex/config.yaml or codex CLI に追加します。

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

詳細については、Codex CLI MCP ドキュメントをご覧ください。

GitHub Copilot にインストール

.vscode/mcp.json に追加します。

{
  "servers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

詳細については、GitHub Copilot MCP ドキュメントをご覧ください。

Warp にインストール

Warp MCP config に追加します。

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

詳細については、Warp MCP ドキュメントをご覧ください。

Kiro にインストール

.kiro/settings/mcp.json に追加します。

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

詳細については、Kiro MCP ドキュメントをご覧ください。

Gemini CLI にインストール

~/.gemini/settings.json に追加します。

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

詳細については、Gemini CLI MCP ドキュメントをご覧ください。

Zed にインストール

~/.config/zed/settings.json に追加します。

{
  "context_servers": {
    "cortex-mcp": {
      "settings": {
        "command": "npx",
        "args": ["-y", "@j0hanz/cortex-mcp@latest"]
      }
    }
  }
}

詳細については、Zed MCP ドキュメントをご覧ください。

Augment にインストール

VS Code settings.json に追加します。

VS Code の settings.json の augment.advanced の下に追加します。

{
  "augment.advanced": {
    "mcpServers": [
      {
        "id": "cortex-mcp",
        "command": "npx",
        "args": ["-y", "@j0hanz/cortex-mcp@latest"]
      }
    ]
  }
}

詳細については、Augment MCP ドキュメントをご覧ください。

Roo Code にインストール

Roo Code MCP settings に追加します。

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

詳細については、Roo Code MCP ドキュメントをご覧ください。

Kilo Code にインストール

Kilo Code MCP settings に追加します。

{
  "mcpServers": {
    "cortex-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/cortex-mcp@latest"]
    }
  }
}

詳細については、Kilo Code MCP ドキュメントをご覧ください。

ユースケース

適切な深さで範囲を限定した推論を開始する

クライアントがプロンプトを起点とするエントリーポイントを求めている場合は、reasoning.basic、reasoning.normal、reasoning.high、reasoning.expert を使用するか、query、level、最初の thought を指定して reasoning_think を直接呼び出します。各応答は、現在のセッション状態と、クライアントが続行する方法を示す summary 文字列を返します。

関連ツール:reasoning_think
関連プロンプト:reasoning.basic、reasoning.normal、reasoning.high、reasoning.expert

アクティブなセッションを続行、再試行、またはバッチ処理する

sessionId を再利用して以前のトレースを続行します。残りの思考入力がすでにある場合は、runMode="run_to_completion" に切り替えるか、続行プロンプトと再試行プロンプトを使用して次の呼び出しペイロードを生成します。ハンドラーは、トレースを修正したり早期に終了したりするための rollbackToStep と isConclusion もサポートしています。

関連ツール:reasoning_think
関連プロンプト:reasoning.continue、reasoning.retry

ツールを再実行せずにライブトレースを確認する

アクティブなセッション一覧は reasoning://sessions、JSON 詳細ビューは reasoning://sessions/{sessionId}、Markdown の書き起こしは reasoning://sessions/{sessionId}/trace、単一の思考は reasoning://sessions/{sessionId}/thoughts/{thoughtName} から読み取れます。これにより、クライアントは次のツール呼び出しとは独立して、進行状況を提示したりセッションを監査したりできます。

関連リソース:reasoning://sessions、reasoning://sessions/{sessionId}、reasoning://sessions/{sessionId}/trace、reasoning://sessions/{sessionId}/thoughts/{thoughtName}

アーキテクチャ

[MCP Client]
    |
    | stdio
    v
[src/index.ts]
    createServer()
    -> new StdioServerTransport()
    -> server.connect(transport)
    |
    v
[src/server.ts]
    McpServer("cortex-mcp")
    capabilities:
      - tools
      - prompts
      - completions
      - logging
      - resources { subscribe: true, listChanged: true }
    |
    +--> tools/call
    |     -> reasoning_think
    |     -> src/tools/reasoning-think.ts
    |     -> ReasoningThinkInputSchema / ReasoningThinkToolOutputSchema
    |     -> src/engine/reasoner.ts
    |     -> SessionStore
    |
    +--> prompts/get
    |     -> src/prompts/index.ts
    |
    +--> resources/read
    |     -> src/resources/index.ts
    |     -> internal://* and reasoning://sessions/*
    |
    +--> notifications
          -> logging messages
          -> resources/list_changed
          -> resources/updated
          -> notifications/progress
リクエストのライフサイクル
[Client] -- initialize --> [Server]
[Server] -- serverInfo + capabilities --> [Client]
[Client] -- notifications/initialized --> [Server]
[Client] -- tools/call {name: "reasoning_think", arguments} --> [Handler]
[Handler] -- validate args --> [Reasoner + SessionStore]
[Reasoner] -- progress/resource events --> [Server notifications]
[Handler] -- structuredContent + optional trace resource --> [Client]

MCP インターフェース

ツール
reasoning_think

複数ステップのセッションを作成・継続するための状態を保持する推論ツールです。1 ステップずつの対話的な呼び出し、run_to_completion によるバッチ処理、観察・仮説・評価の構造化された入力、ロールバック、早期終了に対応し、構造化されたセッション状態を返します。

ParameterTypeRequiredDescription
querystringno分析する質問または問題です。
levelstringno深さのレベルです。新しいセッションでは必須です。basic(1~3 ステップ、2K の予算)、normal(4~8 ステップ、8K の予算)、high(10~15 ステップ、32K の予算)、expert(20~25 ステップ、128K の予算)。
targetThoughtsintegerno正確なステップ数です。レベルの範囲内である必要があります。
sessionIdstringno継続するセッションの ID です。
runModestringno"step"(デフォルト)または "run_to_completion" です。
thoughtanyno推論テキストです。そのまま保存されます。ステップモードでは文字列、バッチモードでは string[] です。
isConclusionbooleanno最終回答でセッションを早期終了します。
rollbackToStepintegernoロールバック先の 0 始まりのインデックスです。それ以降の思考は破棄されます。
stepSummarystringnoステップの要約を 1 文で記述します。
observationstringnoこのステップで既知の事実です。
hypothesisstringno次のアイデアとして提案する内容です。
evaluationstringno仮説への評価です。
データフロー
1. [Client] -- tools/call {name: "reasoning_think", arguments} --> [Server]
   Transport: stdio
2. [Server] -- dispatch("reasoning_think") --> [Handler: src/tools/reasoning-think.ts]
3. [Handler] -- validate(ReasoningThinkInputSchema) --> [src/engine/reasoner.ts]
4. [Reasoner] -- create/update session --> [src/engine/session-store.ts]
5. [Handler] -- structuredContent + optional embedded trace resource --> [Client]
### リソース
リソースURI またはテンプレートMIME タイプ説明
server-instructionsinternal://instructionstext/markdownMCP サーバーの使用方法に関する説明です。
server-configinternal://server-configapplication/json推論サーバーの実行時制限とレベル設定です。
tool-cataloginternal://tool-catalogtext/markdownツールリファレンス:モデル、パラメーター、出力、データフローです。
tool-infointernal://tool-info/{toolName}text/markdownツールごとの契約の詳細です。
tool-info-reasoning_thinkinternal://tool-info/reasoning_thinktext/markdownreasoning_think の契約の詳細です。
workflowsinternal://workflowstext/markdown推奨されるワークフローとツールの順序です。
reasoning.sessionsreasoning://sessionsapplication/jsonアクティブな推論セッションの一覧と概要です。セッションの進行に合わせてリアルタイムで更新されます。
reasoning.sessionreasoning://sessions/{sessionId}application/json個々の推論セッションの詳細ビューです。すべての思考とメタデータが含まれます。
reasoning.tracereasoning://sessions/{sessionId}/tracetext/markdown推論セッションの Markdown トレース(全内容)です。
reasoning.thoughtreasoning://sessions/{sessionId}/thoughts/{thoughtName}text/markdown個々の思考の Markdown コンテンツです(例:Thought-1)。
プロンプト
プロンプト引数説明
get-helpなしサーバーの使用方法に関する説明を返します。
reasoning.basicquery 必須、targetThoughts 任意基本レベルの推論(1~3 個の思考)。
reasoning.normalquery 必須、targetThoughts 任意通常レベルの推論(4~8 個の思考)。
reasoning.highquery 必須、targetThoughts 任意高度な推論(10~15 個の思考)。
reasoning.expertquery 必須、targetThoughts 任意エキスパートレベルの推論(20~25 個の思考)。
reasoning.continuesessionId 必須、query 任意、level 任意既存のセッションを続行します。任意で追加のクエリを指定できます。
reasoning.retryquery 必須、level 必須、targetThoughts 任意パラメーターを変更して、失敗した推論タスクを再試行します。

MCP の機能

機能ステータス根拠
tools確認済みsrc/server.ts:203-205, src/tools/reasoning-think.ts:479
prompts確認済みsrc/server.ts:205, src/prompts/index.ts:201
completions確認済みsrc/server.ts:207, src/prompts/index.ts:249, src/resources/index.ts:375
logging確認済みsrc/server.ts:204, src/server.ts:98
resources.subscribe確認済みsrc/server.ts:208, src/server.ts:121
resources.listChanged確認済みsrc/server.ts:208, src/server.ts:114
progress notifications確認済みsrc/lib/mcp.ts:71, src/tools/reasoning-think.ts:424
ツールのアノテーション
アノテーション値根拠
readOnlyHintfalsesrc/tools/reasoning-think.ts:500
destructiveHintfalsesrc/tools/reasoning-think.ts:502
openWorldHintfalsesrc/tools/reasoning-think.ts:503
idempotentHintfalsesrc/tools/reasoning-think.ts:501
構造化出力
  • reasoning_think は outputSchema を宣言し、structuredContent を返します。トレースが十分に小さい場合は、埋め込みトレースリソースも含まれます。根拠:src/tools/reasoning-think.ts:498、src/lib/mcp.ts:97-114。

設定

変数デフォルト必須根拠
CORTEX_SESSION_TTL_MS1800000(30 分)いいえsrc/engine/reasoner.ts:22, src/engine/session-store.ts:19
CORTEX_MAX_SESSIONS100いいえsrc/engine/reasoner.ts:23, src/engine/session-store.ts:20
CORTEX_MAX_TOTAL_TOKENS2000000いいえsrc/engine/reasoner.ts:24, src/engine/session-store.ts:21
CORTEX_MAX_ACTIVE_REASONING_TASKS32いいえsrc/engine/config.ts:41-44
CORTEX_REDACT_TRACE_CONTENTfalseいいえsrc/engine/config.ts:21

メモ

ソースでは、HTTP のホスト/ポート設定は定義されていません。環境関連で確認できるその他の情報は、Docker イメージ内の NODE_ENV=production と、ローカルの dev:run スクリプト内の --env-file=.env のみです。

セキュリティ

制御ステータス根拠
入力検証確認済みsrc/schemas/inputs.ts:13, src/schemas/outputs.ts:46, src/prompts/index.ts:207
stdout に安全なログ出力の代替処理確認済みsrc/server.ts:98, src/server.ts:145
メインスレッドのみで実行確認済みsrc/index.ts:15-25
非 root のコンテナユーザー確認済みDockerfile:37

メモ

サーバーは stdio トランスポートのみを公開するため、現在のソースには認証、OAuth、HTTP オリジンチェック、レート制限の制御は実装されていません。

開発

スクリプトコマンド目的
devtsc --watch --preserveWatchOutput開発中にソースを監視してコンパイルします。
dev:runnode --env-file=.env --watch dist/index.jsオプションのローカル .env ファイルを使って、ビルド済みサーバーを監視モードで実行します。
buildnode scripts/tasks.mjs builddist をクリーンアップし、TypeScript をコンパイルして、アセットをコピーし、エントリーポイントを実行可能にします。
linteslint .リポジトリ全体に対して ESLint を実行します。
type-checknode scripts/tasks.mjs type-checkソースとテストの TypeScript チェックを並行して実行します。
testnode scripts/tasks.mjs test設定済みのローダーを使って TypeScript のテストスイートを実行します。
test:distnode scripts/tasks.mjs test:dist先に再ビルドしてから、ビルド済みの出力に対してテストを実行します。
test:fastnode --test --import tsx/esm src/__tests__/**/*.test.ts node-tests/**/*.test.tsタスクラッパーを使わず、高速な直接テストコマンドを実行します。
formatprettier --write .リポジトリをフォーマットします。
inspectornpm run build && npx -y @modelcontextprotocol/inspector node dist/index.jsサーバーをビルドし、MCP Inspector で開きます。
prepublishOnlynpm run lint && npm run type-check && npm run build公開前にリリースチェックを実施します。

診断、カバレッジ、アセットのコピー、knip 用の追加ヘルパースクリプトは package.json で定義されています。

ビルドとリリース

  • .github/workflows/release.yml は package.json と server.json のバージョンを更新し、タグ付けと GitHub リリースの作成前に npm run lint、npm run type-check、npm run test、npm run build を実行します。
  • 同じワークフローで Trusted Publishing を使ってパッケージを npm に公開し、mcp-publisher で MCP Registry に公開し、マルチアーキテクチャの Docker イメージを ghcr.io にプッシュします。
  • Dockerfile はマルチステージの Node 24 Alpine ビルドを使用し、開発用依存関係を削除してから、リリース済みコンテナを mcp ユーザーとして実行します。

トラブルシューティング

  • セッションはメモリ上に保持され、デフォルトでは 30 分後に期限切れになります。E_SESSION_NOT_FOUND を受け取った場合は、新しいセッションを開始するか、CORTEX_SESSION_TTL_MS を大きくしてください。
  • runMode="run_to_completion" では、残りのステップをカバーするのに十分な数の thought エントリーが必要です。各ステップの後にサーバーから応答を返す場合は、デフォルトの step モードを使用してください。
  • stdio トランスポートでは、サーバープロセスの周囲に独自の stdout ロギングを追加しないでください。このサーバーは MCP ロギング経由でログを出力し、失敗時には stderr にフォールバックします。

クレジット

依存関係レジストリ
@modelcontextprotocol/sdknpm
zodnpm

コントリビューションとライセンス

  • ライセンス:MIT
  • プルリクエストによるコントリビューションを歓迎します。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。