feat(infra): docker_restart 쓰기 도구 추가

보호 컨테이너(home-caddy, home-fail2ban, nanoclaude) 재시작 차단.
MCP 11개 도구 + NanoClaude wrapper.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-04-13 15:06:40 +09:00
parent d47c04317c
commit 03e3df058f
4 changed files with 74 additions and 5 deletions
+13 -1
View File
@@ -14,7 +14,7 @@ from __future__ import annotations
import json
from mcp.server.fastmcp import FastMCP
from .core.docker import docker_status, docker_logs
from .core.docker import docker_status, docker_logs, docker_restart
from .core.health import service_health, VALID_SERVICES
from .core.system import disk_usage
from .core.network import tailscale_status
@@ -55,6 +55,18 @@ async def check_docker_logs(host: str, container: str, lines: int = 50) -> str:
return result.model_dump_json(indent=2)
@mcp.tool()
async def restart_docker_container(host: str, container: str) -> str:
"""Docker 컨테이너 재시작. 보호된 컨테이너(home-caddy, home-fail2ban, nanoclaude)는 거부.
Args:
host: 대상 호스트 (gpu | nas-company)
container: 재시작할 컨테이너 이름
"""
result = await docker_restart(host, container)
return result.model_dump_json(indent=2)
@mcp.tool()
async def check_service_health(service: str) -> str:
"""서비스 헬스체크. 서비스별 정상 판정 기준이 다름.