containerize-mcp-server
について
このスキルは、RベースのMCPサーバーをDockerを使用してコンテナ化し、依存関係、ネットワークポート、イメージ最適化を処理します。MCPサーバーをコンテナ化環境にデプロイしたり、チームメンバーに配布したり、Kubernetesインフラストラクチャに統合するために設計されています。再現性と移植性のあるMCPサーバーのデプロイが必要な場合にご利用ください。
クイックインストール
Claude Code
推奨npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/containerize-mcp-serverこのコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします
ドキュメント
name: containerize-mcp-server locale: es source_locale: en source_commit: 6f65f316 translator: claude-sonnet-4-6 translation_date: 2026-03-16 description: > Contenerizar un servidor MCP basado en R con Docker, incluyendo configuración de dependencias, puertos de red, y optimización de imagen. Usar cuando se necesite desplegar un servidor MCP en un entorno contenerizado, distribuir servidores MCP a miembros del equipo, o integrar servidores MCP en infraestructura Kubernetes. license: MIT allowed-tools: Read Write Edit Bash Grep Glob metadata: author: Philipp Thoss version: "1.0" domain: containerization complexity: intermediate language: multi tags: docker, mcp, r, containerization, server
Contenerizar Servidor MCP
Contenerizar un servidor MCP basado en R para despliegue y distribución reproducible.
Cuándo Usar
- Desplegando un servidor MCP en un entorno contenerizado
- Distribuyendo servidores MCP pre-configurados a miembros del equipo
- Integrando servidores MCP en infraestructura Kubernetes
- Necesitando aislamiento entre múltiples servidores MCP
- Automatizando el despliegue de servidores MCP en CI/CD
Entradas
- Requerido: Código fuente del servidor MCP (R o Node.js)
- Requerido: Lista de dependencias del servidor
- Opcional: Certificados TLS para conexiones seguras
- Opcional: Archivos de configuración del servidor
- Opcional: Requisitos de recursos (CPU, memoria)
Procedimiento
Paso 1: Crear Dockerfile para Servidor MCP R
Construir la imagen Docker con las dependencias necesarias.
FROM rocker/r-ver:4.4.0
# Instalar dependencias del sistema
RUN apt-get update && apt-get install -y --no-install-recommends \
libcurl4-openssl-dev \
libssl-dev \
&& rm -rf /var/lib/apt/lists/*
# Instalar paquetes R necesarios
RUN R -e "install.packages(c('mcptools', 'ellmer', 'jsonlite'), repos='https://cloud.r-project.org')"
# Copiar código del servidor
WORKDIR /server
COPY . .
# Exponer puerto MCP
EXPOSE 8080
# Punto de entrada
CMD ["Rscript", "-e", "mcptools::mcp_server()"]
Esperado: Dockerfile creado con todas las dependencias, imagen base apropiada seleccionada.
En caso de fallo: Verificar que los paquetes R se instalan correctamente, comprobar dependencias del sistema faltantes.
Paso 2: Configurar Red y Transporte
Configurar el transporte de red para el servidor MCP.
# Para transporte stdio (comunicación estándar)
CMD ["Rscript", "-e", "mcptools::mcp_server()"]
# Para transporte HTTP/SSE
EXPOSE 8080
CMD ["Rscript", "-e", "mcptools::mcp_server(transport='sse', port=8080, host='0.0.0.0')"]
Esperado: El servidor acepta conexiones en el transporte configurado, los puertos están correctamente expuestos.
En caso de fallo: Verificar que el host es '0.0.0.0' (no 'localhost') para acceso externo al contenedor, comprobar reglas de firewall.
Paso 3: Compilar y Probar
Compilar la imagen y verificar la funcionalidad.
# Compilar imagen
docker build -t mcp-server-r:latest .
# Ejecutar con transporte stdio
docker run -i mcp-server-r:latest
# Ejecutar con transporte HTTP
docker run -p 8080:8080 mcp-server-r:latest
# Probar conectividad
curl http://localhost:8080/health
Esperado: El servidor MCP se inicia correctamente dentro del contenedor, acepta conexiones de clientes.
En caso de fallo: Revisar logs del contenedor (docker logs), verificar que los paquetes R están disponibles, comprobar el mapeo de puertos.
Paso 4: Optimizar Imagen
Reducir el tamaño de la imagen para producción.
# Compilación multi-etapa
FROM rocker/r-ver:4.4.0 AS builder
RUN R -e "install.packages('renv', repos='https://cloud.r-project.org')"
COPY renv.lock .
RUN R -e "renv::restore()"
FROM rocker/r-ver:4.4.0
COPY --from=builder /usr/local/lib/R/site-library /usr/local/lib/R/site-library
COPY . /server
WORKDIR /server
CMD ["Rscript", "-e", "mcptools::mcp_server()"]
Esperado: La imagen final es significativamente más pequeña que la versión de una sola etapa.
En caso de fallo: Verificar que todos los paquetes necesarios se copian desde la etapa de compilación, probar la imagen final exhaustivamente.
Validación
- La imagen Docker se compila sin errores
- El servidor MCP se inicia dentro del contenedor
- Los clientes pueden conectarse al servidor contenerizado
- Las herramientas MCP están disponibles y funcionan correctamente
- El tamaño de la imagen es razonable para distribución
- El contenedor se reinicia limpiamente sin pérdida de estado
Errores Comunes
- Host localhost en contenedor: Usar '0.0.0.0' como host para que el servidor sea accesible desde fuera del contenedor.
- Paquetes R faltantes: Instalar todas las dependencias en el Dockerfile, no confiar en el entorno del host.
- Tiempo de inicio largo: Pre-compilar paquetes en la etapa de compilación para reducir el tiempo de inicio.
- Sin persistencia: Los datos del servidor se pierden al reiniciar el contenedor; usar volúmenes para estado persistente.
Habilidades Relacionadas
create-r-dockerfile- Patrones base de Dockerfile para aplicaciones Rconfigure-mcp-server- Configuración de servidores MCP sin Dockerbuild-custom-mcp-server- Construir servidores MCP personalizadosscaffold-mcp-server- Andamiaje de nuevos servidores MCP
GitHub リポジトリ
関連スキル
executing-plans
デザインexecuting-plansスキルは、完全な実装計画があり、それを管理されたバッチでレビューチェックポイントを設けながら実行する場合に使用します。このスキルは計画を読み込んで批判的にレビューした後、小さなバッチ(デフォルトは3タスク)でタスクを実行し、各バッチの間に進捗状況を報告してアーキテクトのレビューを受けます。これにより、品質管理チェックポイントが組み込まれた体系的な実装が保証されます。
requesting-code-review
デザインこのスキルは、コードレビュアーサブエージェントを起動し、処理を進める前に要件に対してコード変更を分析します。タスク完了後、主要な機能の実装後、またはmainブランチへのマージ前などに使用すべきです。このレビューは、現在の実装と元の計画を比較することで、問題を早期に発見するのに役立ちます。
connect-mcp-server
デザインこのスキルは、開発者がHTTP、stdio、またはSSEトランスポートを使用してMCPサーバーをClaude Codeに接続するための包括的なガイドを提供します。GitHub、Notion、カスタムAPIなどの外部サービスを統合するためのインストール、設定、認証、セキュリティについて解説しています。MCP統合のセットアップ、外部ツールの設定、またはClaudeのModel Context Protocolを扱う際にご利用ください。
web-cli-teleport
デザインこのスキルは、タスク分析に基づいて開発者がClaude Code WebとCLIインターフェースの選択を支援し、これらの環境間でのシームレスなセッションテレポーテーションを可能にします。Web、CLI、モバイル環境を切り替える際のセッション状態とコンテキストを管理することで、ワークフローを最適化します。様々な段階で異なるツールを必要とする複雑なプロジェクトにご活用ください。
