模型上下文协议服务器

一个基于Docker的模型上下文协议服务器,集成了Redis和TimescaleDB,用于高效的数据管理。

  • by chuckwilliams37
  • Shell
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 chuckwilliams37/mcp-server-docker

使用说明

🚀 带有Docker、Redis和TimescaleDB的MCP服务器

此存储库设置了 模型上下文协议(MCP)服务器 使用Docker,集成Redis和TimescaleDB进行高效的数据管理。

🛠️ 特性

  • 快速 API:充当MCP服务器的web框架。
  • 雷迪斯:提供缓存机制。
  • TimescaleDB:基于PostgreSQL构建的时间序列数据库。
  • Docker Compose:编排多容器Docker应用程序。
  • 环境变量:可通过配置 .env 文件。
  • 系统化服务:确保服务器在重新启动时自动启动。

📋 先决条件

  • 码头工人 和 Docker Compose 安装在您的系统上。
  • Git 用于版本控制。
  • Zsh 随着 哦,我的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虚拟机上使用此功能 为MCP部署做好充分准备。它

  • 安装系统依赖项(Docker、Git、Zsh、UFW、Fail2Ban等)
  • 设置 oh-my-zsh 随着 jonathan 主题
  • 使用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许可证获得许可。