MCP Knowledge Base について
MCP Knowledge Baseは、MCPサーバーとSSEクライアントを組み合わせたPythonプロジェクトです。JSONナレッジベースを基にOpenAIで質問に答え、LLMによるツール選択と直接呼び出しの両方に対応します。
主な機能
- 01MCP経由でツールを提供
- 02SSE MCPクライアントの利用
- 03OpenAIによる質問への回答
- 04LLMを使わない直接ツール呼び出し
- 05JSONナレッジベースの編集
活用シーン
- 01保存したMCP関連情報に基づく質問回答
- 02LLMなしでの直接ツール呼び出しの試行
- 03ツールの追加やナレッジベース項目の更新
MCP 対応
カスタムツールを提供するMCPサーバーとSSEクライアントを含みます。クライアントはツールを直接呼び出すか、OpenAIを使ってクエリに応じたツールを選択できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
インストール方法は未掲載です
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP ナレッジベース
シンプルな MCP クライアント・サーバー
必要条件
- Python 3.9 以降
- 依存関係の管理用の Poetry
- OpenAI API キー
セットアップ
- Poetry を使って依存関係をインストールします。
poetry install
2Create プロジェクトのルートディレクトリまたは親ディレクトリに、OpenAI API キーを記載した .env ファイルを作成します。
OPENAI_API_KEY=your_api_key_here
プロジェクト構成
server.py:ツールを含む MCP サーバーの実装client-sse.py:LLM 機能を備えた MCP クライアントの実装data/kb.json:MCP 関連の Q&A を含むナレッジベースのデータpyproject.toml:Poetry の設定ファイル
アプリケーションの実行
-
サーバーを起動します。
poetry run python server.py -
別のターミナルでクライアントを実行します。
poetry run python client-sse.py
クライアントの使用
クライアントには 2 つのモードがあります。
-
ツールを直接呼び出す:
client-sse.pyのasyncio.run(test_direct_tool_calls())の行のコメントを解除します- LLM を使わずにツールを直接呼び出します
-
LLM を利用した対話(デフォルト):
- OpenAI を使ってクエリを解釈し、適切なツールを呼び出します
- 「MCP とは何ですか?」や「stdio トランスポートと SSE トランスポートの違いは何ですか?」などの質問をします
カスタマイズ
@mcp.tool()デコレーターを使って関数を追加し、server.pyに新しいツールを追加しますdata/kb.jsonを更新してナレッジベースを変更しますMCPClientクラスのmodelパラメーターを変更して、OpenAI のモデルを変更します
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。