使用说明
AI创客空间:第13次会议的MCP会议资料库
这个项目展示了一个集成了LangGraph的MCP(模型上下文协议)服务器,利用Tavily API实现网页搜索功能以及其他有用工具。
项目概述
MCP服务器提供了多种工具,并与LangGraph应用程序集成,以实现智能工作流编排。
先决条件
- Python 3.13 或更高版本
- 有效的Tavily API密钥
- 一个有效的OpenAI API密钥
⚠️Windows 注意事项:⚠️
你需要在这个(设备/系统)上安装它 Windows 你操作系统的一侧。
这将需要获取两个适用于PowerShell的命令行界面(CLI)工具,您可以按照以下步骤操作:
winget install astral-sh.uvwinget install --id Git.Git -e --source winget
安装完这些命令行界面(CLI)工具后,请打开Cursor 转换为Windows。
然后,您可以在Cursor终端中使用以下命令克隆该仓库:
git clone https://AI-Maker-Space/AIE8-MCP-Session.git
之后,您可以继续按照步骤2进行。在......下面
安装
-
克隆仓库:
git clone <repository-url> cd <repository-directory> -
配置环境变量: 复制
.env.sample到.env并添加您的API密钥:TAVILY_API_KEY=your_tavily_api_key_here OPENAI_API_KEY=your_openai_api_key_here -
设置环境:
uv run python setup_env.py
运行MCP服务器
要启动MCP服务器,您需要在Cursor中的MCP配置文件里添加以下内容:
注:要访问您的MCP配置,您可以使用命令面板(CMD/CTRL+SHIFT+P),然后选择“视图:打开MCP设置”,并用以下JSON数据替换其中的内容。
{
"mcpServers": {
"mcp-server": {
"command" : "uv",
"args" : ["--directory", "/PATH/TO/REPOSITORY", "run", "server.py"]
}
}
}
服务器将启动并通过标准输入/输出监听命令。
活动:
🏗️ 活动#1:✅ 已完成
选择一个你喜欢使用的API,并为其构建一个MCP服务器!
MCP服务器功能:
- 使用Tavily API进行网页搜索
- 使用自定义标记的骰子滚动
- 文本处理工具
- 随机老爸笑话
🏗️ 活动#2:✅ 已完成
构建一个简单的LangGraph应用程序,与您的MCP服务器进行交互。
简单解决方案:
langgraph_simple_final.py- 完整的LangGraph应用程序setup_env.py- 环境设置辅助脚本SIMPLE_SOLUTION.md- 完整的文件资料
快速入门:
# 1. Set up environment
uv run python setup_env.py
# 2. Add your OpenAI API key to .env file
# 3. Run the application
uv run python langgraph_simple_final.py
# Or run interactive mode
uv run python langgraph_simple_final.py --interactive
特点:
- ✅ 单一文件解决方案 - 所有内容都在一个Python文件中
- ✅ 由大型语言模型(LLM)驱动 使用OpenAI GPT-4o-mini及API密钥
- ✅ 所有MCP工具均已集成 - 网络搜索,掷骰子,文本处理,讲笑话
- ✅ 自动工具选择 - 大语言模型(LLM)根据输入选择合适的工具
- ✅ 交互模式 - 与系统进行实时对话
- ✅ 类型安全的状态管理 - 使用 TypedDict 以提高可靠性
建筑:
- 处理用户输入的单一LangGraph节点
- 直接MCP函数导入(无需处理子进程复杂性)
- LangChain工具绑定,实现无缝集成
- OpenAI API集成以实现智能回复
用法
LangGraph应用程序为所有MCP服务器工具提供了一个智能界面。只需运行该应用程序并要求它:
- 在网上搜索信息
- 使用自定义标记掷骰子
- 处理文本(大写、小写、反转等)
- 告诉你个笑话
大型语言模型(LLM)将自动选择合适的工具,并根据您的请求提供智能回复。
附加文件
测试
test_server.py- MCP服务器的综合测试脚本- 直接测试所有MCP功能
- 通过子进程通信测试MCP服务器
- 运行于:
uv run python test_server.py
高级功能
dice_roller_numpy.py- 使用NumPy的高级骰子掷骰工具- 在处理大量骰子时性能更佳
- 卷材的统计分析
- 支持复杂记号(例如,“3d8+2”,“1d20-1”)
- 与以下一起运行:
uv run python dice_roller_numpy.py
项目结构
AIE8-MCP-Session/
├── langgraph_simple_final.py # Main LangGraph application
├── setup_env.py # Environment setup helper
├── server.py # MCP server (Activity #1)
├── dice_roller.py # Basic dice rolling utility
├── dice_roller_numpy.py # Advanced NumPy dice roller
├── test_server.py # Test script for MCP server
├── pyproject.toml # Dependencies
├── README.md # Main documentation
├── SIMPLE_SOLUTION.md # Simple solution guide
└── uv.lock # Lock file
