使用说明
MCP演示
一个Python演示应用程序,展示了使用LangChain和Groq的模型上下文协议(MCP)。该项目演示了如何构建一个交互式AI代理,该代理可以与多个MCP服务器交互,以增强网络搜索和Airbnb列表等功能。
特性
- 🤖 交互式AI聊天代理 -由Groq的Llama 3.1 70B型号通过LangChain提供动力
- 🔌 MCP服务器集成 -与多个MCP服务器无缝集成:
- Airbnb MCP服务器 -搜索和浏览Airbnb房源
- DuckDuckGo搜索 -执行网络搜索
- 💾 支持内存的对话 -在交互中保持对话上下文
- 🔧 易于配置 -简单的基于JSON的MCP服务器配置
先决条件
- Python 3.13或更高版本
- Node.js和npm(适用于使用npx的MCP服务器)
- Groq API密钥(在这里买一个)
安装
-
克隆存储库
git clone <repository-url> cd mcpdemo -
使用uv安装依赖项 (推荐)
uv sync或者使用pip:
pip install langchain-groq langchain-openai mcp-use python-dotenv -
设置环境变量
创建一个
.env项目根目录中的文件:GROQ_API_KEY=your_groq_api_key_here
配置
MCP服务器配置在 browser_mcp.json默认情况下,它包括:
- Airbnb MCP服务器 -搜索Airbnb房源
- DuckDuckGo搜索MCP服务器 -用于网络搜索
您可以根据需要修改此文件以添加或删除MCP服务器。
用法
运行交互式聊天应用程序:
python app.py
或使用紫外线:
uv run app.py
交互式命令
- 聊天 -只需键入您的信息,然后按Enter键
exit或quit-退出聊天应用程序clear-清除对话历史/记忆
交互示例
You: Search for Airbnb listings in Paris for 2 adults
Assistant: [The agent will use the Airbnb MCP server to search and return results]
You: What's the weather like today?
Assistant: [The agent will use DuckDuckGo search to find current weather information]
项目结构
mcpdemo/
├── app.py # Main interactive chat application
├── main.py # Simple hello world entry point
├── open_websites.py # Utility script for opening websites
├── browser_mcp.json # MCP server configuration
├── pyproject.toml # Project dependencies and metadata
└── README.md # This file
依赖项
- 朗肯码头 -Groq LLM的LangChain集成
- 兰开夏 -LangChain OpenAI集成
- mcp使用 -MCP客户端和代理实用程序
- python dotenv -环境变量管理
运作原理
- 应用程序从配置文件初始化MCP客户端
- 使用Groq LLM(Llama 3.1 70B)创建MCP代理
- 代理可以使用连接的MCP服务器中的工具来:
- 搜索网页
- 浏览Airbnb房源
- 通过配置的MCP服务器执行其他可用操作
- 会话记忆在整个会话过程中保持不变
故障排除
常见问题
“初始化MCP客户端时出错”
- 确保已安装Node.js和npm
- 检查你的
browser_mcp.json文件是有效的JSON - 验证您是否有npx命令的互联网连接
“API密钥错误”
- 确保你的
.env文件存在并包含GROQ_API_KEY - 验证您的Groq API密钥是否有效
MCP服务器问题
- 一些MCP服务器需要互联网接入才能通过npx下载
- 检查MCP服务器包是否在中正确指定
browser_mcp.json
贡献
欢迎投稿!请随时提交拉取请求。
许可证
[在此处添加您的许可证]
致谢
- 内置 LangChain
- 由...驱动 Groq
- 用途 MCP(模型上下文协议)
