Weather MCP Server
Provides real-time weather alerts and forecasts for US locations by integrating with the National Weather Service API. Supports both server and client interactions with optional LLM summarization.
README
🌦️ Weather MCP Server and Client
Welcome to the Weather Model Context Protocol (MCP) Project! This project provides real-time weather intelligence by integrating with external APIs like the National Weather Service (NWS). It is built using the FastMCP framework and supports both server and client interactions.
🚀 Features
- Weather Alerts: Fetch weather alerts for any US state.
- Weather Forecasts: Get detailed weather forecasts for specific locations.
- Asynchronous Operations: Fully asynchronous for high performance.
- Modular Design: Clean separation of server, client, and utility logic.
- LLM Integration: Summarize weather data using a language model (DistilGPT-2).
📂 Project Structure
server.py: The main server file that registers tools for fetching weather alerts and forecasts.client.py: A command-line client to interact with the server.app.py: A Streamlit-based web app for user-friendly interaction.agent.py: An advanced client integrating a language model for summarizing weather data.
🛠️ Setup Instructions
-
Clone the Repository:
git clone <repository-url> cd mcp -
Install Dependencies: Ensure Python 3.8+ is installed, then run:
pip install -r requirements.txt -
Run the Server: Start the FastMCP server:
python server.py -
Interact with the Client: Use the command-line client or the Streamlit app to interact with the server.
🖥️ Usage
Command-Line Client
- List Available Tools:
python client.py list_tools - Fetch Alerts:
python client.py get_alerts --state CA - Fetch Forecasts:
python client.py get_forecast --latitude 34.05 --longitude -118.25
Streamlit Web App
- Run the app:
streamlit run app.py - Use the sidebar to select actions like "List Tools," "Get Alerts," or "Get Forecast."
LLM Integration
- Summarize weather data using the language model:
python agent.py interact_with_llm --llm_action get_alerts --state CA python agent.py interact_with_llm --llm_action get_forecast --latitude 34.05 --longitude -118.25
🎥 Video Demonstration
Watch a quick demonstration of the Weather MCP Project in action:
🌐 External Dependencies
- FastMCP: Framework for building MCP servers and clients.
- httpx: For making asynchronous HTTP requests.
- Streamlit: For building the web app.
- Transformers: For integrating the DistilGPT-2 language model.
📋 Notes
- Ensure the server is running before using the client or web app.
- Follow the asynchronous programming model to avoid blocking operations.
❤️ Acknowledgments
- FastMCP for the server-client framework.
- National Weather Service (NWS) for providing weather data.
- Hugging Face Transformers for the DistilGPT-2 model.
🤝 Contributing
We welcome contributions to the Weather MCP Project! Here's how you can help:
- Report Bugs: If you encounter any issues, please open an issue on the GitHub repository.
- Suggest Features: Have an idea for a new feature? Let us know by creating a feature request.
- Submit Pull Requests: Fork the repository, make your changes, and submit a pull request for review.
- Improve Documentation: Help us enhance the documentation by fixing typos, adding examples, or clarifying instructions.
Contribution Guidelines
- Follow the project's coding conventions and structure.
- Ensure all new code is covered by tests.
- Use clear and concise commit messages.
- Test your changes thoroughly before submitting.
Enjoy exploring the weather with Weather MCP! 🌤️
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。