MCP服务器实现

提供两种生产就绪的MCP服务器实现,包括Docker操作和时区感知的日期时间管理,并与VS Code集成。

  • by kartikmanimuthu
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 kartikmanimuthu/mcp-server-101

使用说明

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集成。

快速设置

  1. 克隆和安装:
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
  1. 在VS代码中打开:
cd /Users/kartik/Desktop/git-repo/mcp-server-101
code .
  1. 开始聊天: 服务器是自动配置的!在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许可证-请参阅 许可证 文件以获取详细信息。

🔗 了解更多