MCP Container
A Docker-based Model Context Protocol (MCP) server implementation that provides weather information through a standardized interface.
What is MCP?
The Model Context Protocol (MCP) is a standardized way for AI applications to interact with external tools and data sources. This container provides a weather information service that can be used by Claude and other MCP-compatible AI assistants.
Prerequisites
- Docker Desktop installed and running
- Claude Desktop (for using the MCP server)
- Git (for cloning the repository)
Installation
1. Clone the Repository
git clone https://github.com/Pimmetjeoss/MCP_container.git
cd MCP_container
2. Build the Docker Image
docker build -t mcp-server .
This will create a Docker image with Python 3.11 and all necessary dependencies.
3. Run the Container
docker run -d --name mcp-weather-server mcp-server
The container will start and run the MCP weather server.
Configuration
Connect to Claude Desktop
To use this MCP server with Claude Desktop, add the following configuration to your Claude Desktop settings:
Windows: %APPDATA%\Claude\claude_desktop_config.json
Mac/Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"weather": {
"command": "docker",
"args": ["exec", "-i", "mcp-weather-server", "python", "/app/weather.py"]
}
}
}
After updating the configuration, restart Claude Desktop.
Usage
Once configured, you can ask Claude to get weather information:
- "What's the weather in Amsterdam?"
- "Show me the forecast for New York"
- "Get weather data for Tokyo"
The MCP server will respond with temperature, conditions, and humidity information.
Available Tools
This MCP server provides the following tool:
- get-weather: Get current weather information for any city
- Input:
city(string) - Name of the city - Output: Temperature (°C), conditions, and humidity (%)
- Input:
Docker Commands
View Container Logs
docker logs mcp-weather-server
Stop the Container
docker stop mcp-weather-server
Start the Container
docker start mcp-weather-server
Remove the Container
docker rm -f mcp-weather-server
Rebuild After Changes
docker build -t mcp-server .
docker rm -f mcp-weather-server
docker run -d --name mcp-weather-server mcp-server
Project Structure
mcp_container/
├── Dockerfile # Docker configuration
├── weather.py # MCP server implementation
├── requirements.txt # Python dependencies
├── README.md # This file
├── QUICK_START.md # Quick setup guide
└── MCP_CONTAINER_GUIDE.md # Detailed documentation
Documentation
- QUICK_START.md - Fast setup guide to get running quickly
- MCP_CONTAINER_GUIDE.md - Comprehensive guide with examples and troubleshooting
Troubleshooting
Container won't start
- Make sure Docker Desktop is running
- Check if port is not already in use:
docker ps
Claude can't connect to MCP server
- Verify the container is running:
docker ps - Check container logs:
docker logs mcp-weather-server - Ensure the config file path is correct for your OS
- Restart Claude Desktop after changing configuration
Permission errors on Windows
- Run Docker Desktop as Administrator
- Make sure WSL2 is properly configured
Contributing
Feel free to submit issues and pull requests to improve this MCP server.
License
This project is open source and available under the MIT License.
