MCP集装箱
一个基于Docker的模型上下文协议(MCP)服务器实现,通过标准化接口提供天气信息。
什么是MCP?
模型上下文协议(MCP)是一种标准化方式,使人工智能应用能够与外部工具和数据源进行交互。此容器提供了一项天气信息服务,可供Claude及其他兼容MCP的人工智能助手使用。
先决条件
- Docker Desktop(中文可译为“Docker 桌面版”) 已安装并正在运行
- 为Windows下载 - 为Mac下载 - 为Linux下载
- Claude Desktop(可译为“Claude桌面版”) (用于使用MCP服务器)
- Git(版本控制系统) (用于克隆仓库)
安装
1. 克隆仓库
git clone https://github.com/Pimmetjeoss/MCP_container.git
cd MCP_container2. 构建Docker镜像
docker build -t mcp-server .这将创建一个包含 Python 3.11 及所有必要依赖项的 Docker 镜像。
3. 运行容器
docker run -d --name mcp-weather-server mcp-server该容器将启动并运行MCP天气服务器。
配置
连接到Claude桌面版
要在Claude Desktop中使用此MCP服务器,请在您的Claude Desktop设置中添加以下配置:
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"]
}
}
}更新配置后,重启Claude桌面应用。
使用方法
配置完成后,您可以要求Claude获取天气信息:
- “阿姆斯特丹的天气怎么样?”
- “给我看看纽约的天气预报”
- “获取东京的天气数据”
MCP服务器将返回温度、状况和湿度信息。
可用工具
这个MCP服务器提供了以下工具:
- 获取天气获取任何城市的当前天气信息
- 输入: city (字符串)- 城市名称 - 输出:温度(°C)、天气状况和湿度(%)
Docker 命令
查看容器日志
docker logs mcp-weather-server停止集装箱(的运行/操作)
docker stop mcp-weather-server启动容器
docker start mcp-weather-server移除容器
docker rm -f mcp-weather-server更改后重建
docker build -t mcp-server .
docker rm -f mcp-weather-server
docker run -d --name mcp-weather-server mcp-server项目结构
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文档
- QUICK_START.md 翻译为中文是:快速入门指南.md(或“快速开始指南.md”,具体翻译可能根据上下文略有调整,但“快速入门指南”或“快速开始指南”是较为常见的表达) - 快速设置指南,助您迅速上手
- MCP_CONTAINER_GUIDE.md 翻译为中文是:“MCP 容器指南.md” - 包含示例和故障排除的全面指南
故障排除
容器无法启动
- 确保 Docker Desktop 正在运行
- 检查端口是否未被占用:
docker ps
克劳德无法连接到MCP服务器
- 验证容器是否正在运行:
docker ps - 检查容器日志:
docker logs mcp-weather-server - 确保配置文件路径在您的操作系统中是正确的
- 更改配置后重启Claude桌面版
Windows上的权限错误
- 以管理员身份运行 Docker Desktop
- 确保WSL2已正确配置
做出贡献
欢迎随时提交问题和拉取请求,以改进这个MCP服务器。
许可证
这个项目是开源的,并遵循MIT许可证发布。
