MCP聊天机器人(光标集成)
对话 MCP客户端 用Python构建, LangChain,以及 希腊 LLM 设计用于内部运行 光标.
该聊天机器人连接到多个MCP服务器(Playwright、DuckDuckGo搜索、Airbnb等),并允许您在终端或通过Cursor的MCP集成进行对话式控制。
______________________________________________________________________
特性
- 光标本机:将此项目作为MCP客户端添加到Cursor中。
- 对话 所有MCP服务器 定义于
browser_mcp.json. - 通过以下方式自动化浏览器交互 剧作家MCP.
- 使用以下内容搜索网络 DuckDuckGo MCP.
- 通过以下方式查询Airbnb房源 OpenBNB MCP.
- 支持内存的对话(可按需清除)。
- 由...驱动 希腊 LLM (
qwen3-32b,llama3等等)。
______________________________________________________________________
设置为 uv
- 初始化项目
uv init mcpdemo
cd mcpdemo- 创建并激活虚拟环境
uv venv
source .venv/bin/activate- 安装依赖项
uv add langchain-groq
uv add mcp-use- 添加聊天机器人脚本 (
app.py)到项目根目录:
import asyncio
import os
from dotenv import load_dotenv
from langchain_groq import ChatGroq
from mcp_use import MCPAgent, MCPClient
async def run_memory_chat():
load_dotenv()
os.environ["GROQ_API_KEY"] = os.getenv("GROQ_API_KEY")
print("Initializing chat")
client = MCPClient.from_config_file(
os.path.join(os.path.dirname(__file__), "browser_mcp.json")
)
llm = ChatGroq(model="qwen/qwen3-32b")
agent = MCPAgent(llm=llm, client=client, max_steps=15, memory_enabled=True)
try:
while True:
user_input = input("Enter your message: ")
if user_input.lower() in ["exit", "quit", "bye"]:
print("Exiting chat")
break
if user_input.lower() in ["clear"]:
agent.clear_conversation_history()
print("Conversation history cleared")
continue
print("chatbot:", end="", flush=True)
try:
result = await agent.run(user_input)
print(f"\nResult: {result}")
except Exception as e:
print(f"Error: {e}")
finally:
if client and client.sessions:
await client.close_all_sessions()
if __name__ == "__main__":
asyncio.run(run_memory_chat())- 添加环境变量
创建一个 .env 使用Groq API密钥提交:
GROQ_API_KEY=your_groq_api_key_here- 配置MCP服务器 在……里面
browser_mcp.json:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
},
"duckduckgo-search": {
"command": "npx",
"args": ["-y", "duckduckgo-mcp-server"]
},
"airbnb": {
"command": "npx",
"args": ["-y", "@openbnb/mcp-server-airbnb"]
}
}
}______________________________________________________________________
运行聊天机器人
uv run python main.py例子:
Enter your message: search for cafes near Paris
chatbot:
Result: Found 10 cafes near Paris...Enter your message:
please open google.com and then open makemytrip.com
chatbot:Enter your message:Give top AI news
chatbot:命令
clear→ 清除对话历史记录exit | quit | bye→ 退出聊天机器人
______________________________________________________________________
为MCP配置光标
- 打开 光标设置
- 首选 光标设置→ MCP和集成
- 点击 添加自定义MCP
- 游标将打开(或创建)您的
mcp.json文件。在那里添加您的服务器配置,例如:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
},
"duckduckgo-search": {
"command": "npx",
"args": ["-y", "duckduckgo-mcp-server"]
},
"airbnb": {
"command": "npx",
"args": ["-y", "@openbnb/mcp-server-airbnb"]
}
}
}- 保存文件 → Cursor现在将识别并连接到这些MCP服务器。
