Token导航 LogoToken导航TokenDH.com
Demo Langgraph MCP logo
运维云端stdio官方级别未说明来源级核验

Demo Langgraph MCP

MCP Server

基于FastAPI的后端服务,整合多源天气数据(卫星、雷达)并提供AI对话接口,适用于灾害检测和移动应用集成。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
PythonAPI集成云端部署

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Dennis19075

提供方

Dennis19075

最后核验

2026/5/17 20:23

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 -m venv venv

详细介绍

🌦️ 天气代理API-多源数据平台

基于FastAPI的后端,用于将多个天气数据源(卫星、雷达)与由LangGraph和Azure OpenAI支持的AI会话代理集成。

🎯 项目概述

该项目提供了一个可扩展的REST API,它:

  • 聚合来自卫星和雷达源的数据
  • 检测天气灾害(洪水、火灾、风暴)
  • 为自然语言查询提供对话式AI界面
  • 无缝部署到Azure应用服务
  • 专为移动应用集成而设计

📁 项目结构

demo-langprah-mcp/
├── app/                          # Main application
│   ├── api/                      # API endpoints
│   │   └── routes.py            # Chat + mock data routes
│   ├── services/                 # Business logic
│   │   ├── agent_service.py     # LangGraph AI agent ⭐
│   │   └── mock_data_sources.py # Mock satellite/radar APIs
│   ├── core/                     # Configuration
│   │   └── config.py            # Settings management
│   └── main.py                  # FastAPI app
│
├── tests/                        # Test suite
│   ├── conftest.py
│   └── test_api.py
│
├── docs/                         # Documentation
│   ├── ARCHITECTURE.md          # Project architecture
│   ├── MIGRATION-PLAN.md        # Development roadmap
│   └── AZURE-DEPLOYMENT.md      # Deployment guide
│
├── deployment/                   # Deployment files
│   ├── azure-app-service.yaml
│   └── startup.sh
│
├── notebooks/                    # Jupyter notebooks
│   └── agente-conversacional-demo.ipynb
│
├── requirements.txt              # Dependencies
└── README.md                     # This file

🚀 快速开始

先决条件

  • Python 3.11+
  • 虚拟环境(推荐)

1.设置环境

# Clone or navigate to project
cd demo-langprah-mcp

# Create virtual environment
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

2.配置环境(第1天可选)

# Copy environment template
cp .env.example .env

# Edit .env with your settings (optional for mock APIs)
# nano .env

3.运行服务器

# Start FastAPI development server
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

4.访问API

  • Swagger用户界面: http://localhost:8000/docs
  • ReDoc: http://localhost:8000/redoc
  • 健康检查: http://localhost:8000/health

📡 可用的API端点

卫星数据

  • GET /api/mock/satellite/precipitation -降水量测量
  • GET /api/mock/satellite/wind -风速和风向
  • GET /api/mock/satellite/temperature -温度读数

雷达数据

  • GET /api/mock/radar/precipitation -雷达降水
  • GET /api/mock/radar/storms -风暴探测和跟踪

危险检测

  • GET /api/mock/flood/risk -洪水风险评估
  • GET /api/mock/flood/historical -历史洪水事件
  • GET /api/mock/fire/detection -主动火灾探测
  • GET /api/mock/fire/risk -火灾风险预测

合并报告

  • GET /api/mock/weather/complete -综合天气预报

🧪 测试API

使用curl

# Complete weather report for Quito, Ecuador
curl "http://localhost:8000/api/mock/weather/complete?lat=-0.2298&lon=-78.5249&station_id=QUITO-R01"

# Fire detection
curl "http://localhost:8000/api/mock/fire/detection?lat=-0.2298&lon=-78.5249&radius_km=100"

# Flood risk
curl "http://localhost:8000/api/mock/flood/risk?lat=-0.2298&lon=-78.5249"

使用Python

import requests

# Get complete weather data
response = requests.get(
    "http://localhost:8000/api/mock/weather/complete",
    params={
        "lat": -0.2298,
        "lon": -78.5249,
        "station_id": "QUITO-R01"
    }
)

data = response.json()
print(data)

📅 发展路线图

  • 第1天:FastAPI设置+模拟数据源
  • 🔄 第2天:LangGraph会话代理
  • 📝 第3天:Azure OpenAI集成
  • 🧪 第4天:测试和文件
  • ⚙️ 第5天:Azure部署准备
  • 🚀 第6天:部署到Azure应用服务
  • 🔒 第7天:API网关设置(可选)

docs/MIGRATION-PLAN.md 详细的路线图。

🏗️ 建筑

┌─────────────────┐
│   Mobile App    │
└────────┬────────┘
         │
         ▼
┌──────────────────────────────┐
│  Azure API Management        │  (Day 7)
│  - Rate Limiting             │
│  - Authentication            │
└────────┬─────────────────────┘
         │
         ▼
┌──────────────────────────────┐
│  Azure App Service           │  (Day 6)
│  ┌────────────────────────┐  │
│  │   FastAPI Backend      │  │
│  │   - Mock Data Sources  │  │
│  │   - LangGraph Agent    │  │  (Day 2)
│  │   - Azure OpenAI       │  │  (Day 3)
│  └────────────────────────┘  │
└──────────────────────────────┘

🔧 配置

应用程序使用 app/core/config.py 用于集中配置管理。可以通过中的环境变量覆盖设置 .env 文件。

关键设置:

  • AZURE_OPENAI_API_KEY -Azure OpenAI API密钥(第3天+)
  • AZURE_OPENAI_ENDPOINT -Azure OpenAI端点URL
  • ENVIRONMENT -开发/分期/生产
  • ALLOWED_ORIGINS -CORS允许的来源

🚀 部署

Azure应用服务(推荐)

# See detailed guide
cat docs/AZURE-DEPLOYMENT.md

# Quick deploy
az webapp up --name weather-agent-api --runtime PYTHON:3.11

Docker(替代方案)

# Build image
docker build -t weather-agent-api .

# Run container
docker run -p 8000:8000 weather-agent-api

docs/AZURE-DEPLOYMENT.md 获取完整的部署说明。

📚 文档

🧪 测试

# Run tests (coming in Day 4)
pytest tests/

# Run with coverage
pytest --cov=app tests/

🤝 贡献

该项目遵循逐日开发的方法。检查 移民计划.md 查看当前进展和下一步行动。

📄 许可证

该项目用于教育和示范目的。

🔗 相关资源

______________________________________________________________________

当前状态: ✅ 第1天完成-模拟API运行\ 下一步:第2天-添加LangGraph代理\ 最后更新2026年2月4日

目录标签

目录标签

PythonAPI集成云端部署天气数据聚合本地部署灾害检测AI对话接口RESTAPIAzure部署

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP