floyd-weather-mcp
If you are the rightful owner of floyd-weather-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Floyd Weather Deployer MCP Server is a Model Context Protocol server that provides weather information and deployment safety checks, designed for integration with GitHub Copilot in Visual Studio Code.
Floyd Weather Deployer MCP Server
An MCP (Model Context Protocol) server that provides weather information and deployment safety checks, designed to be used with GitHub Copilot in Visual Studio Code 1.100+.
Features
- Get current weather conditions for any city in the world
- Check if it's safe to deploy to a server in a specific city
- Deploy to a server if conditions are safe
- Temperature display in appropriate units (°F for US, °C elsewhere)
- Codebase structured following SOLID principles for maintainability
Deployment Safety Rules
Deployment is considered safe when:
- It's between 9am and 5pm in the target city's local time
- The weather conditions are clear or sunny
Architecture
The application follows SOLID design principles:
- Single Responsibility: Each package has a clear, focused purpose
- Open/Closed: Code can be extended without modifying existing functionality
- Liskov Substitution: Interfaces allow for substitution of implementations
- Interface Segregation: Focused interfaces define minimal required behaviors
- Dependency Inversion: High-level modules depend on abstractions
See for more details on the design.
Installation
Prerequisites
- Go 1.18 or higher
- VS Code 1.100 or higher with GitHub Copilot
Setup
-
Clone this repository:
git clone https://github.com/devopsjester/floyd-weather-mcp.git cd floyd-weather-mcp
-
Build the server:
go build -o floyd-weather-server
-
Add to your VS Code
settings.json
:"mcp": { "servers": { "floyd": { "command": "/path/to/floyd-weather-server" } } }
Usage
This server is designed to be used with GitHub Copilot through VS Code MCP integration.
Available Commands
-
Check deployment safety: Ask about deployment safety for a city.
-
Get weather information: Ask about weather conditions in a city.
-
Deploy to a city: Request deployment to a city.
Examples
- "Is it safe to deploy to London, United Kingdom?"
- "What's the weather in New York, USA?"
- "Deploy to Tokyo, Japan"
Technical Details
- Built in Go
- Uses the OpenMeteo API for geocoding and weather data (free, public, no authentication required)
- Follows MCP protocol for interactions with GitHub Copilot
API Details
The server uses these OpenMeteo API endpoints:
- Geocoding:
https://geocoding-api.open-meteo.com/v1/search
- Weather:
https://api.open-meteo.com/v1/forecast
- Timezone: Part of the forecast API
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.