Flask Webapplicatie met LLM-integratie en MCP-tools について
このFlaskウェブアプリは、ブラウザーからOpenAI GPT-3.5またはAnthropic Claude 2にプロンプトを送信する画面を提供します。Brave SearchとGitHubのMCPサーバーを管理し、そのコンテキストを追加したプロンプトを確認できます。
主な機能
- 01ブラウザーで使うプロンプト画面
- 02OpenAI GPT-3.5またはAnthropic Claude 2の選択
- 03Brave SearchとGitHubのMCPサーバーの起動と停止
- 04ツールのコンテキストをプロンプトに自動追加
- 05追加後のプロンプト全体の表示
活用シーン
- 01ウェブ画面から選択したモデルに質問
- 02送信前にウェブ検索のコンテキストを追加
- 03モデルへのリクエストにGitHub検索のコンテキストを含める
- 04ツールによるプロンプトの変更内容を確認
MCP 対応
画面からBrave SearchとGitHubのMCPサーバーを起動・停止できます。サーバーが有効な場合、選択したモデルへの送信前にツールのコンテキストがプロンプトへ追加されます。
詳細
LLM統合とMCPツールを備えたFlask Webアプリケーション
このFlask Webアプリケーションを使用することで、ユーザーは以下のことができます:
- シンプルなWebインターフェース経由でLLMモデル (OpenAIおよびAnthropic) にアクセスする
- プロンプトを入力し、回答を受け取る
- MCPサーバー (Model Context Protocol) をGitHubおよびBrave Searchで起動および停止する
- プロンプトをLLMに送信する前に、これらのツールからのコンテキストで自動的にプロンプトを拡張する
機能
- LLMモデル選択: OpenAI GPT-3.5とAnthropicClaude 2の間で選択できます
- プロンプト入力: 質問またはプロンプトを入力して、選択したモデルで回答を得ます
- MCPツール管理: Webインターフェース上から外部ツール (Brave SearchおよびGitHub) を起動および停止します
- コンテキスト拡張: アプリケーションはアクティブなツールからの関連情報でプロンプトを自動的に拡張します
- 完全なプロンプト表示: 追加されたコンテキストを含む完全なプロンプトを確認できます
インストール
必要な環境
- Python 3.7以上
手順
-
リポジトリをクローンする
git clone https://github.com/Fbeunder/MCP_FLASK.git cd MCP_FLASK -
仮想環境を作成する (推奨)
# Windows python -m venv venv venv\Scripts\activate # macOS/Linux python3 -m venv venv source venv/bin/activate -
必要なパッケージをインストールする
# Aanbevolen: installeer alle afhankelijkheden via requirements.txt pip install -r requirements.txt # Alternatief: installeer alleen de specifieke pakketten die je nodig hebt pip install flask requests # Voor OpenAI model-toegang pip install openai # Voor Anthropic model-toegang pip install anthropic # Voor .env bestandsondersteuning pip install python-dotenv -
API キーを設定する
APIキーは環境変数または .env ファイルで設定できます。
オプション 1: .env ファイルを作成する
.env.example ファイルをコピーしてカスタマイズします:
# Windows copy .env.example .env # macOS/Linux cp .env.example .envその後、.env ファイルを編集してAPIキーを入力します。
オプション 2: 環境変数を設定する
以下の環境変数を設定します:
OPENAI_API_KEY: OpenAI APIキー (GPTモデル用)ANTHROPIC_API_KEY: Anthropic APIキー (Claudeモデル用)BRAVE_API_KEY: Brave Search APIキー (Brave Search MCPサーバー用)GITHUB_TOKEN: GitHub Personal Access Token (オプション、より高い制限用)
例えばLinux/macOSの場合:
export OPENAI_API_KEY="jouw-openai-api-sleutel" export ANTHROPIC_API_KEY="jouw-anthropic-api-sleutel" export BRAVE_API_KEY="jouw-brave-api-sleutel" export GITHUB_TOKEN="jouw-github-token"またはWindowsの場合:
set OPENAI_API_KEY=jouw-openai-api-sleutel set ANTHROPIC_API_KEY=jouw-anthropic-api-sleutel set BRAVE_API_KEY=jouw-brave-api-sleutel set GITHUB_TOKEN=jouw-github-token
使用方法
アプリケーションを起動する
Flask アプリを起動します:
python app.py
アプリケーションはデフォルトで http://localhost:5000 で動作します。
Web インターフェースで作業する
-
Web インターフェースをブラウザーで開く:
http://localhost:5000 -
MCPツールを起動する (オプション):
- 「Brave Searchを起動」をクリックしてBrave Searchツールを起動します
- 「GitHubを起動」をクリックしてGitHubツールを起動します
-
プロンプトを入力する:
- ドロップダウンリストから目的のLLMモデルを選択します
- テキストボックスに質問またはプロンプトを入力します
- 「AI に送信」をクリックします
-
回答を確認する:
- AIモデルの回答が表示されます
- オプションで「コンテキスト付き完全なプロンプトを表示」をクリックして、追加のコンテキストがどのように追加されたかを確認できます
MCP サーバー
アプリケーションは、インターフェース上から自動的に起動できる2つのMCPサーバーを使用します:
- Brave Search MCPサーバー: ポート5001で実行され、Web検索機能を提供します
- GitHub MCPサーバー: ポート5002で実行され、GitHub検索機能を提供します
これらのサーバーがアクティブな場合、これらのツールからのコンテキストがプロンプトに自動的に追加されます。
トラブルシューティング
仮想環境の問題
Flaskなどのモジュールがインストールされているはずなのに、モジュールが見つからないというエラーメッセージが表示される場合、これは仮想環境の問題に関連している可能性があります。これを解決するためのいくつかの手順は以下の通りです:
Windows仮想環境の問題
-
仮想環境が有効化されているか確認:
新しいターミナルセッションごとに仮想環境を有効化する必要があります:
venv\Scripts\activateコマンドプロンプトの開始時に
(venv)が表示されるはずです。 -
使用されているPython実行ファイルを確認:
where python最初のパスは仮想環境内の python.exe を指していなければなりません (例:
\path\to\project\venv\Scripts\python.exe)。 -
Windows での subprocess の問題:
最新バージョンのアプリケーションは、メインアプリケーションと同じPython実行ファイルを MCP サーバーの起動に自動的に使用するようになっており、仮想環境の問題を防ぎます。
Linux/macOS仮想環境の問題
-
仮想環境が有効化されているか確認:
source venv/bin/activateコマンドプロンプトの開始時に
(venv)が表示されるはずです。 -
使用されているPython実行ファイルを確認:
which pythonパスは仮想環境内の python を指していなければなりません (例:
/path/to/project/venv/bin/python)。
ModuleNotFoundError: No module named 'flask'
アプリケーションまたは MCP サーバーの起動時にこのエラーが表示される場合は、以下を試してください:
-
インストールを確認:
pip list | grep flaskリスト内に Flask が表示されるはずです。
-
Flask を再インストール:
pip uninstall flask pip install flask -
実行時に絶対パスを使用:
# Vind het volledige pad naar Python in je virtuele omgeving # Windows echo %VIRTUAL_ENV%\Scripts\python.exe # Linux/macOS echo $VIRTUAL_ENV/bin/python # Gebruik dit pad om de applicatie te starten /volledig/pad/naar/venv/bin/python app.py -
PYTHONPATH を確認:
場合によっては、PYTHONPATH 環境変数が破損していることがあります:
# Windows echo %PYTHONPATH% # Linux/macOS echo $PYTHONPATHプロジェクトに適切でない値がある場合は、一時的にクリアすることを検討してください:
# Windows set PYTHONPATH= # Linux/macOS unset PYTHONPATH
その他のパッケージ関連エラー
その他の ModuleNotFoundError メッセージが表示される場合は、以下を確認してください:
- すべてのパッケージが
pip install -r requirements.txt経由でインストールされているか - Python 環境が正しく設定されているか
- 古いまたは互換性のないパッケージのバージョンをインストールしていないか
Model Context Protocol (MCP)
MCP (Model Context Protocol) は、AI モデルが標準化されたサーバーインターフェース経由で外部リソースと安全に相互作用するためのオープンプロトコルです。このアプリケーションでは、MCP サーバーは以下の目的で使用されます:
- ユーザープロンプトに基づいて追加コンテキストを収集する
- このコンテキストを LLM に送信する前にプロンプトに追加する
- 最新または特定の情報で応答を充実させる
注記
- MCP サーバーの実装はデモンストレーション目的のため簡略化されています
- 本番運用では、より良いエラー処理とセキュリティが推奨されます
- アプリケーションは各サービス (OpenAI、Anthropic、Brave Search) の API キーが必要です
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。