mcpField
🚀
🚀 MCP Server with Docker, Redis, and TimescaleDB

🚀 MCP Server with Docker, Redis, and TimescaleDB

本地服务
github.com/chuckwilliams37云与基础设施584 周前更新

关于 🚀 MCP Server with Docker, Redis, and TimescaleDB

该项目以 FastAPI 构建 MCP 服务,并通过 Docker Compose 集成 Redis 和 TimescaleDB,面向部署和维护 MCP 服务的用户。它提供初始化脚本,并可配置 systemd 开机重启。

主要功能

  1. 01FastAPI Web 框架
  2. 02Redis 缓存
  3. 03集成 TimescaleDB
  4. 04Docker Compose 编排
  5. 05通过环境变量配置
  6. 06systemd 自动启动设置

适用场景

  1. 01在全新 Ubuntu VM 上部署服务
  2. 02用 Docker Compose 运行服务与数据库
  3. 03通过 `.env` 文件配置容器
  4. 04在重启后自动启动容器

MCP 相关

该项目用于部署 MCP 服务;README 未说明其向客户端提供的工具或资源。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"docker-chuckwilliams37": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"compose"
]
}
}
}
启动命令docker run -i --rm compose

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocicompose

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

🚀 使用 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

🚀 设置说明

  1. 克隆仓库:

    git clone https://github.com/chuckwilliams37/mcp-server-docker.git
    cd mcp-server-docker
    
  2. 配置环境变量:

    cp .env.example .env
    

    按需修改 .env。

  3. 构建并启动容器:

    docker compose build
    docker compose up -d
    
  4. 访问 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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。