天气数据AI服务器

一个由两部分组成的Python应用程序,提供天气数据和AI驱动的辅助功能,包括MCP服务器后端和Streamlit交互式Web客户端。

  • by 1morshed1
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 1morshed1/weather-mcp-server

使用说明

气象MCP服务器

一个由两部分组成的Python应用程序,用于天气数据和人工智能辅助,其特点是:

  • MCP服务器:用于天气数据和API集成的FastMCP后端。
  • Streamlit客户端:用户交互式web UI。

项目结构

.
├── client/
│   └── client.py
│   └── Dockerfile
├── mcp/
│   └── weather.py
│   └── Dockerfile
├── requirements.txt
├── docker-compose.yml
├── .env

先决条件

  • 已安装Docker和Docker Compose
  • Python 3.11+(用于本地开发)
  • A有效 GROQ_API_KEY (用于Groq API访问)

设置

  1. 克隆存储库

    git clone https://github.com/1morshed1/weather-mcp-server.git
    cd mcp-project
    
  2. 创建一个 .env 文件

    GROQ_API_KEY=your_api_key_here
    

使用Docker Compose运行

  1. 构建并启动服务

    docker compose up --build
    
  2. 访问应用程序

  3. 停止服务 按 Ctrl+C 在终端中,则:

    docker compose down
    

地方发展

  1. 安装依赖项

    python -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    
  2. 运行MCP服务器

    python mcp/weather.py
    
  3. 运行Streamlit客户端

    streamlit run client/client.py
    

环境变量

  • GROQ_API_KEY:您的Groq API密钥

故障排除

  • Docker无法访问 .env 文件
    删除 volumes 分段安装 .env 在……里面 docker-compose.ymlDocker Compose将自动使用 .env 对于环境变量。

  • 端口已在使用中
    更改中的暴露端口 docker-compose.yml 如果8000或8501正忙。

  • 健康检查失败
    确保 weather.py 暴露a /health 终点。

文件概述

  • client/client.py:Streamlit web客户端
  • mcp/weather.py:FastMCP服务器
  • requirements.txt:Python依赖关系
  • docker-compose.yml:多服务编排
  • .env:机密和API密钥

许可证

麻省理工学院