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)
  • 记忆管理:跟踪对话历史,以提供具有上下文的回复
  • Web 界面:用于用户交互的响应式 Web 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

重要:如果遇到依赖项错误,请尝试逐个安装软件包:

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. 前往“APIs & Services” > “Library”
  4. 搜索“Gmail API”并选择它
  5. 点击“Enable”,为你的项目启用该 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 文件中
  • 出于安全原因,Git 不会跟踪 .env 文件
  • 请务必查看 .env.example 文件,了解所需的环境变量
  • 该应用采用模块化设计,需要时可以禁用特定服务
  • Smithery CLI 密钥:通过 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 服务

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。