LangChain MCP Chat Platform について
LangChain MCP Chat Platformは、LangChainとGemini 2.0 Flashを利用するウェブチャットアプリです。設定したMCPサービスをチャットから利用し、会話履歴を保持したいユーザー向けです。
主な機能
- 01LangChainによる会話とツール処理
- 02Gemini 2.0 Flashモデル
- 03設定可能なMCPサーバー連携
- 04会話履歴の追跡
- 05レスポンシブなウェブインターフェース
- 06拡張可能なツール構成
活用シーン
- 01チャットからTavilyのウェブ検索を利用
- 02チャットでGmailの操作
- 03独自の会計MCPサービスへの接続
- 04複数ターンにわたるコンテキストの保持
MCP 対応
LangChainのMCP連携を通じて、設定済みのMCPサーバーに接続します。READMEにはTavily、Gmail、独自の会計サービスが記載されています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
LangChain MCP チャットプラットフォーム
LangChain、カスタム MCP(Model Control Protocol)サーバー、Google の Gemini AI モデルを統合し、より高度な会話機能を実現する多用途チャットプラットフォームです。
機能
- Langchain の統合:高度な会話管理とツールの使用に LangChain の機能を活用します
- Google Gemini AI:自然な会話を実現する、Google の高性能な Gemini 2.0 Flash モデルを使用します
- カスタム MCP サーバー:次のような、さまざまな MCP サーバーと連携して専門的な機能を提供します。
- Tavily によるウェブ検索と抽出(Tavily MCP リンク)
リポジトリを確認し、連携のセットアップ手順に従ってください。
- メール操作のための Gmail 連携(Gmail MCP GitHub リポジトリ)
Gmail の機能を利用できるよう、手順に従ってクローンし、設定してください。
- カスタム会計システム(muhasebe)
- Tavily によるウェブ検索と抽出(Tavily MCP リンク)
- メモリ管理:文脈に応じた応答のために会話履歴を追跡します
- ウェブインターフェース:ユーザーとのやり取りに対応したレスポンシブなウェブ UI
- 拡張可能なアーキテクチャ:新しいツールや機能を簡単に追加できます
プロジェクト構成
langchain-mcp-chat-platform/
├── web_js/ # Web interface using FastAPI and WebSockets
│ ├── main.py # Main FastAPI application with WebSocket connections
│ ├── templates/ # HTML templates
│ └── static/ # Static assets (CSS, JS)
├── own_mcp/ # Custom MCP server implementations
│ ├── mcp_server.py # Main MCP server implementation
│ ├── muhasebe_client.py # Accounting system client
│ └── __init__.py # Package initialization
└── app/ # Desktop application
├── main.py # Main application entry point
├── database/ # Database operations
└── ui/ # UI components
セットアップとインストール
ステップ 1:リポジトリをクローンする
git clone https://github.com/BilalAltundag/langchain-mcp-chat-platform.git
cd langchain-mcp-chat-platform
ステップ 2:仮想環境を作成して有効化する
# Create virtual environment
python -m venv venv
# Activate virtual environment
# On Windows:
venv\Scripts\activate
# On Linux/Mac:
source venv/bin/activate
ステップ 3:依存関係をインストールする
互換性の問題を避けるため、requirements.txt に記載されている正確なバージョンを使用してください。
pip install -r requirements.txt
重要:依存関係のエラーが発生した場合は、パッケージを 1 つずつインストールしてみてください。
pip install fastapi==0.104.1 uvicorn==0.24.0 pip install langchain==0.3.23 langchain-community==0.3.21 langchain-core==0.3.51 pip install langchain-mcp-adapters==0.0.7 langchain-google-genai==2.1.2 pip install langgraph==0.3.29 langgraph-prebuilt==0.1.5 langgraph-sdk==0.1.61
ステップ 4:Node.js の依存関係をインストールする(Tavily と Gmail 用)
Tavily 検索または Gmail の機能を利用する場合は、Node.js と Smithery CLI をインストールする必要があります。
# Install Smithery CLI globally
npm install -g @smithery/cli
ステップ 5:環境変数を設定する
サンプルの .env ファイルをコピーし、API キーを設定します。
# Copy the example .env file
cp .env.example .env
# Then edit the .env file with your preferred text editor
.env ファイルには次のキーを設定してください。
# Google Gemini API key (required for the AI model)
GOOGLE_API_KEY="your_google_api_key"
# Smithery CLI key (required for Tavily and Gmail services)
SMITHERY_KEY="your_smithery_cli_key"
API キーについて
- GOOGLE_API_KEY:自然言語の理解に AI モデルが使用します
- SMITHERY_KEY:Tavily と Gmail の両方の MCP サーバーをローカルで実行するために必要な唯一のキーです
重要:TAVILY_API_KEY と GMAIL_API_KEY を入力する必要はありません。これらのキーは Smithery サイトで MCP コードを作成する際に使用され、このアプリケーションでは必要ありません。SMITHERY_KEY だけで十分です。
代替方法:コード内で直接設定する
.env ファイルを使用しない場合は、コード内で API キーを直接設定できます。
web_js/main.py を開き、環境変数の読み込み部分を直接代入するコードに置き換えてください。
# Instead of this:
# google_api_key = os.environ.get("GOOGLE_API_KEY")
# smithery_key = os.environ.get("SMITHERY_KEY")
# Use this (replace with your actual API keys):
google_api_key = "YOUR_GOOGLE_API_KEY_HERE"
smithery_key = "YOUR_SMITHERY_CLI_KEY_HERE"
ステップ 6:Gmail API を有効にする(メール機能用)
Gmail の機能を使用するには、Google Cloud プロジェクトで Gmail API を有効にする必要があります。
- Google Cloud Console にアクセスします
- プロジェクトを選択するか、新規作成します
- 「API とサービス」>「ライブラリ」に移動します
- 「Gmail API」を検索して選択します
- 「有効にする」をクリックして、プロジェクトで API を有効化します
- 変更が反映されるまで数分待ちます
この手順を省略すると、次のようなエラーが発生する場合があります。
Error: Gmail API has not been used in project XXXXX before or it is disabled.
アプリケーションの実行
オプション 1:すべての MCP サービスを実行する
すべてのサービス(muhasebe、Tavily 検索、Gmail)を起動します。
cd web_js
python main.py
オプション 2:muhasebe サービスのみを実行する(初回におすすめ)
外部サービスに関する問題を避けるため、web_js/main.py を変更して custom_mcp サービスのみを使用できます。
async with MultiServerMCPClient(
{
"custom_mcp": {
"command": "python",
"args": [os.path.abspath(os.path.join(os.path.dirname(os.getcwd()), "own_mcp", "mcp_server.py"))],
"transport": "stdio",
}
# Comment out other services for initial testing
}
) as client:
トラブルシューティング
起動中にアプリケーションがハングする
アプリケーションの起動中にハングするように見える場合、NPX サービスの起動に手間取っている可能性があります。次の手順を試してください。
- custom_mcp サービスのみで起動します(Tavily と Gmail のサービスを削除するか、コメントアウトします)
- Node.js と NPM をシステムにグローバルインストールします
- アプリケーションを起動する前に、
npm install -g @smithery/cliを実行します - サービスを個別のターミナルで手動実行し、問題の原因となっているサービスを特定します
MCP サーバーのパスに関する問題
MCP サーバーのパスが見つからないというエラーが発生した場合は、絶対パスを直接使用してみてください。
"args": ["C:/full/path/to/langchain-mcp-chat-platform/own_mcp/mcp_server.py"]
静的ファイルが見つからない
静的ファイルが見つからないというエラーが発生した場合は、正しいディレクトリからアプリケーションを実行していることを確認してください。アプリケーションは static フォルダーと templates フォルダーを参照します。
外部サービスとの統合
このプラットフォームは、以下の複数の外部サービスと統合されています。
- Google Gemini:自然言語の理解と生成に使用します
- Tavily:ウェブ検索とコンテンツ抽出に使用します
- Gmail:メールの操作と管理に使用します
- Accounting System:財務管理と追跡に使用します
重要な注意事項
- API キーや機密情報は
.envファイルに保存してください - セキュリティ上の理由から、
.envファイルは Git で追跡されません - 必要な環境変数については、必ず
.env.exampleファイルを確認してください - アプリケーションはモジュール式に設計されているため、必要に応じて特定のサービスを無効化できます
- Smithery CLI Key:Smithery CLI を介して Tavily と Gmail の両方の MCP サーバーを実行する際には、同じ Smithery CLI キーを使用します。ただし、それぞれのサービスには個別の API キーも必要です:
- Tavily サービスでウェブ検索機能を使用するには、専用の TAVILY_API_KEY が必要です
- Gmail サービスでメール操作を行うには、専用の GMAIL_API_KEY が必要です
パッケージの依存関係とバージョン管理
このアプリケーションは、特定のバージョンのパッケージに依存しています。
- create_react_agent 関数を正しく動作させるには、langchain-prebuilt==0.1.5 が必要です
- 他のコンポーネントとの互換性を保つため、langgraph==0.3.29 を使用してください
- パッケージをアップグレードする場合は、新しいバージョンによって互換性が損なわれる可能性があるため、十分にテストしてください
ライセンス
MIT
コンポーネントの詳細情報
create_react_agent のインポートパス
新しいバージョンの langgraph-prebuilt(0.1.5)では、create_react_agent を次のようにインポートします。
from langgraph.prebuilt.task import create_react_agent
次の方法は使用しないでください。
from langgraph.prebuilt import create_react_agent # This will cause errors
API キーの要件
以下の API キーが必要です。
- GOOGLE_API_KEY - Gemini モデル用
- SMITHERY_KEY - Tavily と Gmail の両方の MCP サーバーを実行するため
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。