使用说明
天气MCP示例-实践学习项目
这个存储库包含我对 模型上下文协议(MCP) -了解MCP如何使AI模型通过标准化协议与外部系统交互的学习实验。
🎯 学习目标
该项目展示了:
- MCP服务器如何向AI模型公开工具和资源
- MCP客户端和OpenAI GPT模型之间的集成
- 通过stdio传输进行实时通信
- 模式验证和工具调用工作流
🏗️ 项目结构
weather-mcp-app/
├── server/ # MCP server implementation
│ ├── src/
│ │ └── index.ts # Main server with weather tools
│ └── package.json
├── client/ # MCP client application
│ ├── src/
│ │ └── client.ts # OpenAI + MCP integration
│ └── package.json
└── README.md
🚀 快速开始
先决条件
- Node.js v18或更高版本
- OpenAI API密钥 (注册地址: platform.openai.com)
1.克隆和设置
2.设置并运行服务器
cd server
npm install
npm run build
npm run dev
3.使用MCP检查器进行调试(可选)
cd server
npm run build
npx @modelcontextprotocol/inspector node dist/index.js
检查器配置:
- 传输类型: 工作室
- 命令:
node - 参数:
dist/index.js
4.设置并运行客户端
cd ../client
npm install
# Create environment file with your OpenAI API key
echo "OPENAI_API_KEY=your_actual_api_key_here" > .env
npm run build
npm run dev
💬 示例用法
运行后,尝试以下查询:
> What's the weather in Aleppo?
> How's the weather in Istanbul today?
> Show me weather data for both supported cities
> What cities do you have weather data for?
🔧 运作原理
MCP服务器(server/)
- 框架:模型上下文协议SDK
- 运输:Stdio(标准输入/输出)
- 工具:
getWeatherDataByCityName-返回模拟天气数据 - 资源:
weather://cities-列出支持的城市 - 验证:用于类型安全的Zod模式
MCP客户端(client/)
- 整合:OpenAI GPT-4+MCP服务器
- 流动:用户输入→ GPT-4→ MCP工具→ 天气数据→ 响应
- 运输:Stdio客户端连接到服务器进程
- 接口:使用readline的交互式CLI
通信流
📚 学习要点
- MCP协议:AI模型访问外部工具的标准化方式
- 工具注册:服务器如何向客户端公开可调用函数
- 资源暴露:AI模型可用的静态数据
- 类型安全:Zod模式确保正确的输入验证
- 传输层:流程之间的标准通信
- 人工智能集成:将MCP工具转换为OpenAI函数调用格式
📖 我学到了什么
这个实践项目帮助我理解了:
- MCP在人工智能生态系统中的作用
- 工具和资源如何以不同的方式工作
- 模式验证的重要性
- 人工智能模型与外部系统的集成模式
- MCP规范的实际实现
📄 许可证
ISC-欢迎将此学习示例用于您自己的MCP探索!
