mcpField
L
LangChain MCP Chat Platform

LangChain MCP Chat Platform

ローカル
github.com/BilalAltundagAI・エージェント181 週間前に更新

LangChain MCP Chat Platform について

LangChain MCP Chat Platformは、LangChainとGemini 2.0 Flashを利用するウェブチャットアプリです。設定したMCPサービスをチャットから利用し、会話履歴を保持したいユーザー向けです。

主な機能

  1. 01LangChainによる会話とツール処理
  2. 02Gemini 2.0 Flashモデル
  3. 03設定可能なMCPサーバー連携
  4. 04会話履歴の追跡
  5. 05レスポンシブなウェブインターフェース
  6. 06拡張可能なツール構成

活用シーン

  1. 01チャットからTavilyのウェブ検索を利用
  2. 02チャットでGmailの操作
  3. 03独自の会計MCPサービスへの接続
  4. 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)
  • メモリ管理:文脈に応じた応答のために会話履歴を追跡します
  • ウェブインターフェース:ユーザーとのやり取りに対応したレスポンシブなウェブ 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 を有効にする必要があります。

  1. Google Cloud Console にアクセスします
  2. プロジェクトを選択するか、新規作成します
  3. 「API とサービス」>「ライブラリ」に移動します
  4. 「Gmail API」を検索して選択します
  5. 「有効にする」をクリックして、プロジェクトで API を有効化します
  6. 変更が反映されるまで数分待ちます

この手順を省略すると、次のようなエラーが発生する場合があります。

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 サービスの起動に手間取っている可能性があります。次の手順を試してください。

  1. custom_mcp サービスのみで起動します(Tavily と Gmail のサービスを削除するか、コメントアウトします)
  2. Node.js と NPM をシステムにグローバルインストールします
  3. アプリケーションを起動する前に、npm install -g @smithery/cli を実行します
  4. サービスを個別のターミナルで手動実行し、問題の原因となっているサービスを特定します
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 サーバーを実行するため

コメント

MCP は初めてですか?

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

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