From 55c1ba54cae04bf77efaec4ad5265c57aafc035d Mon Sep 17 00:00:00 2001 From: Nikolay Miroshnichenko Date: Mon, 29 Jun 2026 06:56:46 +0200 Subject: [PATCH] Add Dockerfile for Glama listing / containerized MCP introspection Builds the stdio MCP server into a slim image (verified: container starts and responds to initialize + tools/list with all 12 tools). Enables the Glama (glama.ai) checks required by the awesome-mcp-servers listing bot. Co-Authored-By: Claude Opus 4.8 --- .dockerignore | 12 ++++++++++++ Dockerfile | 17 +++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..ee3f308 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,12 @@ +.git +.github +.venv +docs +examples +tests +*.knxproj +*.knxkeys +__pycache__ +*.egg-info +.pytest_cache +.DS_Store diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..13f5176 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +# Container image for the nickol-knx-mcp stdio MCP server. +# Used by Glama (https://glama.ai) to start the server and run MCP introspection. +FROM python:3.12-slim + +WORKDIR /app + +# Install the package (and its deps) from source +COPY pyproject.toml README.md ./ +COPY nickol_knx_mcp ./nickol_knx_mcp +RUN pip install --no-cache-dir . + +# Confined output workspace (the server only ever writes here; no bus access) +ENV NICKOL_KNX_WORKSPACE=/workspace +RUN mkdir -p /workspace + +# stdio MCP server — Glama pipes JSON-RPC over stdin/stdout for introspection +ENTRYPOINT ["nickol-knx-mcp"]