ð MCP Server with Docker, Redis, and TimescaleDB
ããŒã«ã«ð MCP Server with Docker, Redis, and TimescaleDB ã«ã€ããŠ
FastAPIã䜿ã£ãMCPãµãŒããŒãDocker Composeã§æ§æããRedisãšTimescaleDBãçµã¿åããããªããžããªã§ãããããã€ãéçšãè¡ã人åãã«ãã»ããã¢ããã¹ã¯ãªãããšsystemdã«ããåèµ·åèšå®ãåããŠããŸãã
äž»ãªæ©èœ
- 01FastAPIãŠã§ããã¬ãŒã ã¯ãŒã¯
- 02Redisãã£ãã·ã¥
- 03TimescaleDB飿º
- 04Docker Composeã«ããæ§æç®¡ç
- 05ç°å¢å€æ°ã«ããèšå®
- 06systemdèªåèµ·åèšå®
掻çšã·ãŒã³
- 01æ°ããUbuntu VMãžã®ãµãŒãã¹å°å ¥
- 02Docker 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ã
- Oh-My-Zsh ã䜿çšãã ZshïŒä»»æãã·ã§ã«ã®æäœæ§ãé«ããå ŽåïŒã
ð ãªããžããªæ§æ
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
ãªã¢ãŒã MCP ãµãŒããŒã«ã¢ã¯ã»ã¹ã§ãããããããŒã«ã«ã® SSH ç°å¢ãèšå®ããŸãã
- å ¬ééµãããã·ã¥ããŸã
- SSH ãšã€ãªã¢ã¹ã远å ããŸã
- A ã¬ã³ãŒãã®ãµã³ãã«ã衚瀺ããŸã
chmod +x scripts/setup-mcpserver.sh
./scripts/setup-mcpserver.sh
â ïž å®è¡åã«ããã¬ãŒã¹ãã«ããŒã®å€ïŒIP ã¢ãã¬ã¹ããŠãŒã¶ãŒåããªããžã㪠URL ãªã©ïŒãç·šéããŠãã ããã
ð€ ã³ã³ããªãã¥ãŒã·ã§ã³
ãã®ãªããžããªã¯èªç±ã«ãã©ãŒã¯ããã€ã·ã¥ãŒãéä¿¡ãããããã«ãªã¯ãšã¹ããäœæãããã§ããŸãã
ð ã©ã€ã»ã³ã¹
ãã®ãããžã§ã¯ã㯠MIT License ã®ããšã§ã©ã€ã»ã³ã¹ãããŠããŸãã
ã³ã¡ã³ã
MCP ã¯åããŠã§ããïŒ
ãããã³ã«ã®æŠèŠããæåã®ãµãŒããŒã®å°å ¥ãŸã§ãããããçåã«ãŸãšããŠçããŸãã
AI ã¢ããªã±ãŒã·ã§ã³ãå€éšã®ããŒã«ãããŒã¿ãœãŒã¹ã«çµ±äžçãªæ¹æ³ã§æ¥ç¶ããããã®ãªãŒãã³ãªãããã³ã«ã§ããã¯ã©ã€ã¢ã³ãã¯ã¢ãã«ãšã®å¯Ÿè©±ãæ ããMCP ãµãŒããŒã¯ããŒã«ã»ãªãœãŒã¹ã»ããã³ãããã³ãã¬ãŒããæäŸããŸããæšæºã¡ãã»ãŒãžã§ããåãããããã1 ã€ã®ãµãŒããŒãè€æ°ã®ã¯ã©ã€ã¢ã³ãã§åå©çšã§ããŸãã