
🌦️ MCP Weather Scraper

2025.04.20
0
Python天气服务数据抓取位置服务
MCP Weather Scraper 是一个基于 Model Context Protocol (MCP) 的实验性项目,通过轻量级 LLM(如 OpenAI 的 GPT-3.5-turbo)和 FastAPI 从开放的网页资源中获取并结构化实时天气信息。该项目旨在探索 LLM 如何与工具交互,并作为智能代理来检索和处理非结构化的网页数据。
View on GitHub
Overview
基本能力
产品定位
MCP Weather Scraper 是一个用于实时天气信息获取和结构化的工具,通过 LLM 和 FastAPI 实现高效的数据抓取和处理。
核心功能
- 基于 MCP 协议的天气数据抓取服务
- 集成 OpenAI LLM(如 GPT-3.5-turbo)进行数据提取和结构化
- 使用 FastAPI 提供可调用的 MCP 工具
- 高性能 HTML 解析(使用
selectolax
) - LLM 处理非结构化网页内容并转换为结构化数据
- Streamlit 前端应用用于用户交互
- 使用
functools.lru_cache
进行响应缓存
适用场景
- 实时天气信息查询
- 天气数据的结构化处理和展示
- LLM 与工具交互的实验性项目
工具列表
- OpenAI LLM:用于数据提取和结构化
- FastAPI:提供 MCP 工具服务
- Selectolax:高性能 HTML 解析器
- Streamlit:前端用户交互界面
- functools.lru_cache:响应缓存工具
常见问题解答
- 如何设置 OpenAI API 密钥?
在
.env
文件中添加OPENAI_API_KEY=your_openai_api_key
。 - 如何启动服务?
运行
uvicorn server:app --reload
。 - 如何测试服务?
使用
client.py
或curl
命令发送 POST 请求。
使用教程
使用依赖
- Python 3.9 或更高版本
- 依赖项列表见
requirements.txt
安装教程
- 克隆仓库
bash git clone https://github.com/your-username/mcp_weather_scraper.git cd mcp_weather_scraper
- 创建并激活虚拟环境
bash python -m venv .venv .venv\Scripts\activate # Windows
- 安装依赖
bash pip install -r requirements.txt
- 设置环境变量
在根目录创建
.env
文件并添加 OpenAI API 密钥env OPENAI_API_KEY=your_openai_api_key
调试方式
- 启动服务
bash uvicorn server:app --reload
- 测试服务
bash python client.py
或bash curl -X POST http://localhost:8000/weather -H "Content-Type: application/json" -d '{"location": "Seattle"}'