MCP Knowledge Base について
MCP Knowledge Base は、MCP を学ぶ人向けの個人的かつ公開のリポジトリです。プロトコルの流れや相互作用の図、参考資料をまとめ、Host、サーバー、LLM、ツールの連携を示す Python シミュレーションを計画しています。
主な機能
- 01MCP の通信フローの解説
- 02Host、サーバー、LLM、ツールの相互作用図
- 03ノートと参考資料の整理
- 04ツールチェーン、キャッシュ、状態管理の検討
活用シーン
- 01MCP のやり取りにおける役割の理解
- 02ツールの発見と呼び出しの追跡
- 03MCP の状態管理に関する案の確認
MCP 対応
MCP の概念と相互作用を記録するリポジトリです。MCP サーバーのインターフェースや、MCP クライアントに公開するツールについては記載されていません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP ナレッジベース
📌 なぜこのリポジトリなのか?
目的:
このリポジトリは、LLM が構造化されたやり取りを通じてツールを呼び出せるようにする新しい標準、Model Context Protocol (MCP) に関する個人的かつ公開のナレッジベースです。
MCP への理解を深めながら開発しているため、概念上の抜けや初期段階の解釈が含まれている場合があります。MCP の進化に合わせて更新していきます。
このリポジトリには以下が含まれます:
- MCP の通信フローに関する説明
- ホスト、サーバー、LLM、ツール間のやり取りを示す図
- MCP のパイプラインをシミュレートする Python のサンプルコード
- 論文や議論に関するメモと参考資料
- MCP におけるツールチェーン、キャッシュ、状態管理などの新しいアイデアを探る場
🔁 Model Context Protocol の仕組み
以下は、初期の実験に基づく MCP のライフサイクルの簡単な説明です。
- 💬 ユーザー入力:ユーザーがクエリを入力します(例:VS Code やブラウザー IDE で入力します。これが MCP ホストとして機能します)。
- 📡 ツールの検出:ホストが MCP サーバーにリクエストを送信し、利用可能なツールやプラグインを検出します。
- 📤 クエリの送信:ホストがユーザーのクエリとツールのメタデータの両方を LLM に渡します。
- 🧠 ツールの選択:LLM がクエリを満たすために 1 つ以上のツールを選びます(例:天気 API や計算機)。
- 🛠️ ツールの実行:ホストが MCP サーバーを呼び出してツールを実行します。
- 📥 結果の処理:ツールが結果を返し、ホストがそれを LLM に渡します。
- ✅ 最終出力:LLM が必要なコンテキストをすべて含む、完成した回答を返します。
🧪 例とシミュレーション
examples/ フォルダーには以下があります:
basic_mcp_demo.py:MCP ホストとサーバーがどのように通信するかを示す最小限のモックを追加予定ですtool_plugin_example.py:ツールレジストリと呼び出しの例を追加予定ですmcp_host_server_flow.py:ユーザー入力から LLM の応答までの完全なライフサイクルを示す例を追加予定です
🧱 概念と構成要素
- ツール:LLM が機能を拡張するために呼び出せる外部サービス(API、データベース、関数)です。
- ホスト:LLM が動作し、結果を表示するインターフェース環境です。
- サーバー:ツールを仲介し、呼び出しに関する処理を担うミドルウェアです。
- スキーマ:リクエストとレスポンスの構造化に使われる JSON スキーマやデータ形式です。
- コンテキストの処理:一貫性のある応答を生成できるよう、LLM が以前のツール呼び出しにアクセスできるようにします。
✅ 推奨するリポジトリ構成
mcp-knowledge-base/
│
├── README.md
├── diagrams/
│ └── # Any visual explanations
├── examples/
│ ├── # Minimal working example
│ └──
├── notes/
│ ├── # Raw notes, links, ideas
│ └──
├── schemas/
│ └── # Schemas like Pydantic models
├── utils/
│ └── # Simulated tools or services
└── LICENSE
---
## 🗂️ Related Projects and References
- LangChain's tool calling: https://docs.langchain.com
- OpenAI's Function Calling: https://platform.openai.com/docs/guides/function-calling
- Future MCP Spec links (to be added)
- Community discussions, notes in `notes/` folder
---
Stay tuned — this repo will evolve as I learn more and MCP matures!
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。