🌦️ MCP Weather Scraper

🌦️ MCP Weather Scraper

site icon
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.pycurl 命令发送 POST 请求。

使用教程

使用依赖

  • Python 3.9 或更高版本
  • 依赖项列表见 requirements.txt

安装教程

  1. 克隆仓库 bash git clone https://github.com/your-username/mcp_weather_scraper.git cd mcp_weather_scraper
  2. 创建并激活虚拟环境 bash python -m venv .venv .venv\Scripts\activate # Windows
  3. 安装依赖 bash pip install -r requirements.txt
  4. 设置环境变量 在根目录创建 .env 文件并添加 OpenAI API 密钥 env OPENAI_API_KEY=your_openai_api_key

调试方式

  1. 启动服务 bash uvicorn server:app --reload
  2. 测试服务 bash python client.pybash curl -X POST http://localhost:8000/weather -H "Content-Type: application/json" -d '{"location": "Seattle"}'

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。