使用说明
MCP服务器101-现实世界的MCP实现
两个生产就绪的模型上下文协议(MCP)服务器实现,具有完整的VS代码集成,演示了Docker操作和时区感知的日期时间管理。
🎯 实施了什么
此存储库包含 两台功能齐全的MCP服务器:
1. 🐳 MCP Docker服务器 python
- 列出Docker镜像:通过筛选查看所有可用图像
- 管理容器:列出、创建、启动和停止容器
- 拉取图像:从Docker注册表下载映像
- 完全Docker集成:直接访问Docker守护进程操作
2. 🕐 MCP日期时间服务器 (TypeScript)
- 当前时间:获取任何时区的当前时间
- 时区转换:在不同时区之间转换
- 时区列表:浏览所有支持的时区
- 自定义格式:用灵活的模式设置日期格式
🏗️ 建筑
┌─────────────────┐ ┌─────────────────────────────────┐ ┌─────────────────┐
│ VS Code │◄──►│ MCP Servers │◄──►│ External APIs │
│ (MCP Client) │ │ ┌─────────────┬─────────────┐ │ │ Docker / System │
│ │ │ │ Docker │ DateTime │ │ │ │
│ GitHub Copilot │ │ │ Server │ Server │ │ │ Timezone Data │
│ Chat Integration│ │ │ (Python) │ (TypeScript)│ │ │ │
└─────────────────┘ └──┴─────────────┴─────────────┴──┘ └─────────────────┘
🚀 VS代码集成
两台服务器都是 预配置VS代码 与GitHub Copilot Chat集成。
快速设置
- 克隆和安装:
git clone https://github.com/yourusername/mcp-server-101.git
cd mcp-server-101
# Setup Docker Server
cd mcp-docker-server
pip install -e .
# Setup DateTime Server
cd ../mcp-date-time-server
npm install && npm run build
- 在VS代码中打开:
cd /Users/kartik/Desktop/git-repo/mcp-server-101
code .
- 开始聊天: 服务器是自动配置的!在VS Code聊天中使用它们:
@docker List my Docker images
@datetime-server What time is it in Tokyo?
🛠️ VS代码中的可用工具
🐳 Docker操作
@docker Show me all running containers
@docker Pull the nginx image
@docker Create a new container from ubuntu:latest
@docker Stop the container named "my-app"
🕐 DateTime操作
@datetime-server Convert 3pm EST to Tokyo time
@datetime-server Show all available timezones
@datetime-server Format current time in London nicely
@datetime-server What time is 2024-06-15T14:00:00Z in Paris?
📁 项目结构
mcp-server-101/
├── 📄 README.md # This file
├── ⚙️ .vscode/
│ └── mcp.json # VS Code MCP configuration
├── 🐳 mcp-docker-server/ # Python Docker MCP Server
│ ├── src/mcp_docker_server/
│ │ ├── server.py # Main MCP server
│ │ └── docker_ops.py # Docker operations
│ ├── pyproject.toml
│ ├── VS_CODE_INTEGRATION.md # Docker server guide
│ └── FINAL_SUMMARY.md # Implementation details
└── 🕐 mcp-date-time-server/ # TypeScript DateTime MCP Server
├── src/
│ ├── index.ts # Entry point
│ └── server.ts # MCP server implementation
├── package.json
├── VS_CODE_INTEGRATION.md # DateTime server guide
└── INTEGRATION_COMPLETE.md # Setup verification
🎮 真实世界用例
开发工作流增强
场景:管理容器化开发环境
User: "@docker I need to run a PostgreSQL database for testing"
AI: [Uses docker-pull-image and docker-create-container with proper port mapping]
场景协调全球团队会议
User: "@datetime-server Our standup is at 9am PST, what time is that for our Tokyo team?"
AI: [Uses format-datetime to convert PST to JST]
DevOps 运营
场景:集装箱健康监测
User: "@docker Show me all containers and their status"
AI: [Uses docker-list-containers to provide current status]
场景:跨时区的日志分析
User: "@datetime-server This error occurred at 2024-01-15T08:30:00Z, what time was that in our main office?"
AI: [Uses format-datetime to convert to local timezone]
✅ 生产特点
Docker服务器
- ✅ Docker守护进程连接 具有错误处理功能
- ✅ 容器生命周期管理 (创建、启动、停止)
- ✅ 图像操作 (列表、拉取、筛选)
- ✅ 端口映射和环境变量 支持
- ✅ 全面的错误处理 以及日志记录
DateTime服务器
- ✅ 时区感知操作 使用 date-fns-tz
- ✅ 灵活的格式 带有自定义图案
- ✅ 输入验证 以及错误处理
- ✅ 常用时区预设 面向全球团队
- ✅ 符合ISO 8601标准 用于日期解析
🔧 配置
VS代码配置已在中设置 .vscode/mcp.json:
{
"servers": {
"docker": {
"command": "/opt/anaconda3/bin/python",
"args": ["-m", "mcp_docker_server.server"]
},
"datetime-server": {
"command": "node",
"args": ["mcp-date-time-server/dist/index.js"],
"env": { "LOG_LEVEL": "2" }
}
}
}
📊 性能与测试
Docker服务器
- 响应时间:大多数操作<200ms
- Docker API:与Docker Python SDK直接集成
- 测试:具有真实Docker操作的全面测试套件
DateTime服务器
- 响应时间:时区操作<50ms
- 内存使用:约30MB基线
- 时区支持:50多个通用时区,支持自动夏令时处理
🔍 故障排除
Docker服务器问题
# Verify Docker is running
docker ps
# Test server manually
cd mcp-docker-server
python -m mcp_docker_server.server
DateTime服务器问题
# Build and test
cd mcp-date-time-server
npm run build
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}' | npm start
VS代码集成
- 配置更改后重新启动VS代码
- 检查GitHub Copilot聊天是否已启用
- 验证服务器是否出现在MCP面板中
🎉 准备使用!
两台MCP服务器 生产准备就绪 并演示:
- 现实世界的效用:Docker管理和时区操作
- VS代码集成:与GitHub Copilot无缝聊天界面
- 最佳实践:错误处理、类型安全和综合测试
- 可扩展性:易于修改和添加新工具
立即在GitHub Copilot Chat的VS Code中开始使用它们! 🚀
📄 许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
