关于 🚀 MCP Server with Docker, Redis, and TimescaleDB
该项目以 FastAPI 构建 MCP 服务,并通过 Docker Compose 集成 Redis 和 TimescaleDB,面向部署和维护 MCP 服务的用户。它提供初始化脚本,并可配置 systemd 开机重启。
主要功能
- 01FastAPI Web 框架
- 02Redis 缓存
- 03集成 TimescaleDB
- 04Docker Compose 编排
- 05通过环境变量配置
- 06systemd 自动启动设置
适用场景
- 01在全新 Ubuntu VM 上部署服务
- 02用 Docker Compose 运行服务与数据库
- 03通过 `.env` 文件配置容器
- 04在重启后自动启动容器
MCP 相关
该项目用于部署 MCP 服务;README 未说明其向客户端提供的工具或资源。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
🚀 使用 Docker、Redis 和 TimescaleDB 的 MCP 服务
此仓库使用 Docker 搭建 Model Context Protocol(MCP)服务,集成 Redis 和 TimescaleDB,以实现高效的数据管理。
🛠️ 功能
- FastAPI:作为 MCP 服务的 Web 框架。
- Redis:提供缓存机制。
- TimescaleDB:基于 PostgreSQL 构建的时序数据库。
- Docker Compose:编排多容器 Docker 应用。
- 环境变量:可通过
.env文件进行配置。 - Systemd 服务:确保服务器在重启后自动启动。
📋 前置条件
- 系统已安装 Docker 和 Docker Compose。
- 用于版本控制的 Git。
- Zsh 和 Oh-My-Zsh(可选,可提升 Shell 使用体验)。
📂 仓库结构
mcp-server-docker/
├── app/
│ └── app.py
├── .env.example
├── docker-compose.yml
├── Dockerfile
├── requirements.txt
├── scripts/
│ ├── bootstrap-mcp.sh
│ ├── full-bootstrap-mcp.sh
│ ├── init-repo.sh
│ ├── push-repo.sh
│ └── setup-mcpserver.sh
└── README.md
🚀 设置说明
-
克隆仓库:
git clone https://github.com/chuckwilliams37/mcp-server-docker.git cd mcp-server-docker -
配置环境变量:
cp .env.example .env按需修改
.env。 -
构建并启动容器:
docker compose build docker compose up -d -
访问 MCP 服务:
http://localhost:8080
🔄 重启后自动启动
创建 systemd 服务以保持应用运行:
sudo nano /etc/systemd/system/mcp-docker.service
粘贴:
[Unit]
Description=MCP Docker Compose App
Requires=docker.service
After=docker.service
[Service]
WorkingDirectory=/home/youruser/mcp-server-docker
ExecStart=/usr/bin/docker compose up -d
ExecStop=/usr/bin/docker compose down
Restart=always
TimeoutStartSec=0
[Install]
WantedBy=multi-user.target
启用服务:
sudo systemctl daemon-reload
sudo systemctl enable mcp-docker
sudo systemctl start mcp-docker
🧪 脚本
scripts/ 目录包含用于自动执行基础设施任务的实用脚本。
🛠️ scripts/full-bootstrap-mcp.sh
💡 在全新的 Ubuntu VM 上使用此脚本,为部署 MCP 做好完整准备。它会:
- 安装系统依赖项(Docker、Git、Zsh、UFW、Fail2Ban 等)
- 使用
jonathan主题设置oh-my-zsh - 使用 XFCE + XRDP 配置远程桌面
- 克隆 MCP 仓库
- 使用
docker compose构建并启动应用 - 添加 systemd 服务,以便在重启后重新启动容器
chmod +x scripts/full-bootstrap-mcp.sh
./scripts/full-bootstrap-mcp.sh
📜 scripts/init-repo.sh
初始化新的本地 Git 仓库,并提交当前目录:
chmod +x scripts/init-repo.sh
./scripts/init-repo.sh
📤 scripts/push-repo.sh
将本地仓库推送到远程仓库(请先更新 URL):
chmod +x scripts/push-repo.sh
./scripts/push-repo.sh
🧠 scripts/setup-mcpserver.sh
配置本地 SSH 环境,以便访问远程 MCP 服务:
- 推送公钥
- 添加 SSH 别名
- 输出 A 记录示例
chmod +x scripts/setup-mcpserver.sh
./scripts/setup-mcpserver.sh
⚠️ 执行前请编辑占位值(例如 IP、用户名、仓库 URL)。
🤝 贡献
欢迎复刻此仓库、提交问题或创建拉取请求。
📄 许可证
此项目采用 MIT 许可证。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。