+27
@@ -0,0 +1,27 @@
|
||||
# Paperless-ngx MCP server image
|
||||
#
|
||||
# Wraps the freeformz/paperless-ngx-mcp Go binary (stdio transport) with
|
||||
# mcp-proxy 0.9.0, which exposes it as a streamable-HTTP MCP endpoint on
|
||||
# :3000. This exact version combination was verified end-to-end before
|
||||
# being pinned here: initialize + tools/list over POST /mcp/ returned all
|
||||
# 116 tools. Newer mcp-proxy releases (0.11/0.12) resolve incompatible
|
||||
# `mcp` SDK versions and fail at import time — bump only via the Gitea
|
||||
# Actions workflow, which resolves the upstream release version itself.
|
||||
ARG PAPERLESS_VERSION=0.3.2
|
||||
|
||||
FROM python:3.13-slim
|
||||
ARG PAPERLESS_VERSION
|
||||
|
||||
RUN pip install --no-cache-dir mcp-proxy==0.9.0
|
||||
|
||||
ADD https://github.com/freeformz/paperless-ngx-mcp/releases/download/v${PAPERLESS_VERSION}/paperless-ngx-mcp_${PAPERLESS_VERSION}_linux_amd64.tar.gz /tmp/
|
||||
RUN tar -xzf /tmp/paperless-ngx-mcp_${PAPERLESS_VERSION}_linux_amd64.tar.gz -C /usr/local/bin paperless-ngx-mcp \
|
||||
&& rm -f /tmp/paperless-ngx-mcp_*.tar.gz \
|
||||
&& chmod +x /usr/local/bin/paperless-ngx-mcp
|
||||
|
||||
# --pass-environment forwards PAPERLESS_URL / PAPERLESS_TOKEN (deploy-time
|
||||
# env from the Infisical-synced secret) into the stdio child process.
|
||||
# NOTE: this mcp-proxy version serves the MCP endpoint at /mcp/ (trailing
|
||||
# slash) and a /status health endpoint.
|
||||
EXPOSE 3000
|
||||
CMD ["mcp-proxy", "--host", "0.0.0.0", "--port", "3000", "--pass-environment", "--", "/usr/local/bin/paperless-ngx-mcp", "mcp"]
|
||||
Reference in New Issue
Block a user