Problem / motivation
The Docker image cannot run the server — two breakages:
- Wrong entrypoint.
Dockerfile ends with CMD ["python", "openproject-mcp.py"],
but that monolith was renamed to openproject-mcp.legacy.py; the current stdio
entry point is openproject-mcp-fastmcp.py. The container starts a file that no
longer exists.
- Missing runtime deps.
requirements.txt lists only mcp, aiohttp, python-dotenv, certifi — it is missing fastmcp and pydantic, so even with the
right entrypoint the image fails at import (ModuleNotFoundError: fastmcp).
Source / attribution
Based on upstream PR AndyEverything#21 by @thedyps
("fix: repair Docker stdio entrypoint"). We take the entrypoint fix and a
requirements.txt refresh; we do not take that PR's LICENSE file (handled
separately, see licensing/). Author to be credited in NOTICE.
Scope / proposed approach
Dockerfile: CMD → openproject-mcp-fastmcp.py.
requirements.txt: mirror the runtime dependencies already declared in
pyproject.toml (adds fastmcp, pydantic, uvicorn, starlette).
Acceptance criteria
docker build succeeds.
- In the built image,
import src.server works (fastmcp + pydantic present) and the
entrypoint file exists.
- No application-code changes.
Out of scope
- No rewrite of the Dockerfile to uv/pyproject (kept pip-based, minimal).
- No LICENSE file (separate licensing track).
Problem / motivation
The Docker image cannot run the server — two breakages:
Dockerfileends withCMD ["python", "openproject-mcp.py"],but that monolith was renamed to
openproject-mcp.legacy.py; the current stdioentry point is
openproject-mcp-fastmcp.py. The container starts a file that nolonger exists.
requirements.txtlists onlymcp, aiohttp, python-dotenv, certifi— it is missingfastmcpandpydantic, so even with theright entrypoint the image fails at import (
ModuleNotFoundError: fastmcp).Source / attribution
Based on upstream PR AndyEverything#21 by @thedyps
("fix: repair Docker stdio entrypoint"). We take the entrypoint fix and a
requirements.txtrefresh; we do not take that PR'sLICENSEfile (handledseparately, see licensing/). Author to be credited in
NOTICE.Scope / proposed approach
Dockerfile:CMD→openproject-mcp-fastmcp.py.requirements.txt: mirror the runtime dependencies already declared inpyproject.toml(addsfastmcp,pydantic,uvicorn,starlette).Acceptance criteria
docker buildsucceeds.import src.serverworks (fastmcp + pydantic present) and theentrypoint file exists.
Out of scope