Skip to content

fix: repair Docker stdio entrypoint#21

Open
thedyps wants to merge 1 commit into
AndyEverything:mainfrom
thedyps:fix/docker-stdio-entrypoint
Open

fix: repair Docker stdio entrypoint#21
thedyps wants to merge 1 commit into
AndyEverything:mainfrom
thedyps:fix/docker-stdio-entrypoint

Conversation

@thedyps

@thedyps thedyps commented May 29, 2026

Copy link
Copy Markdown

Summary

  • point the Docker image at the existing stdio entrypoint, openproject-mcp-fastmcp.py
  • add FastMCP/runtime dependencies required by that entrypoint
  • add the MIT LICENSE file matching the project metadata

Validation

  • docker build -t local/openproject-mcp-contrib:test /tmp/openproject-mcp-server-contrib
  • timeout 5 docker run --rm -i -e OPENPROJECT_URL=http://example.invalid -e OPENPROJECT_API_KEY=dummy local/openproject-mcp-contrib:test

Update the Docker image to run the existing stdio entrypoint, openproject-mcp-fastmcp.py.

Add the FastMCP runtime dependencies required by that entrypoint, and add the MIT LICENSE file that matches the project metadata.

Validation:
- docker build -t local/openproject-mcp-contrib:test /tmp/openproject-mcp-server-contrib
- timeout 5 docker run --rm -i -e OPENPROJECT_URL=http://example.invalid -e OPENPROJECT_API_KEY=dummy local/openproject-mcp-contrib:test
@AndreaV-Lsi

AndreaV-Lsi commented Jul 16, 2026

Copy link
Copy Markdown

Thanks for this, @thedyps — the entrypoint had drifted from the renamed stdio module and the image couldn't start; your fix is on point.

For transparency on where it has landed: LS Instruments maintains an actively developed downstream fork of this project (https://github.com/LS-Instruments/openproject-mcp-server) that we're advancing for day-to-day agentic project management on OpenProject. Given the current upstream review cadence we're maintaining that fork independently for now.

As part of that we've integrated the entrypoint fix and the requirements.txt refresh (we additionally pinned fastmcp<3, since 3.x drops the 2.x tool API the code relies on — an uncapped install pulls 3.4.x and breaks the server). We handled the LICENSE file separately as part of a broader licensing review, so that part of your PR isn't included here. Verified with a container build + server-start smoke. You're credited as co-author on the commit, under the project's MIT license.

Integrated into our main branch: LS-Instruments@58469d1.

We'd gladly contribute this back upstream if review capacity returns, and you're welcome to draw from our fork in the meantime. Thanks again.

AndreaV-Lsi added a commit to LS-Instruments/openproject-mcp-server that referenced this pull request Jul 16, 2026
The Docker image could not run the server:
- CMD pointed at openproject-mcp.py, which was renamed to
  openproject-mcp.legacy.py; the current stdio entry point is
  openproject-mcp-fastmcp.py.
- requirements.txt was missing fastmcp and pydantic, so the image failed at
  import even with the right entry point.

Point CMD at openproject-mcp-fastmcp.py and refresh requirements.txt to mirror
the runtime dependencies declared in pyproject.toml. fastmcp is pinned <3 because
the code targets the fastmcp 2.x tool API (3.x drops the attributes it relies on);
pyproject.toml carries the same uncapped declaration and should be capped too
(separate change).

Based on upstream PR AndyEverything#21 by @thedyps (entry
point + requirements); its LICENSE addition is handled separately. Verified:
docker build succeeds, the image imports src.server (fastmcp 2.14.7, 62 tools),
and `python openproject-mcp-fastmcp.py` starts the MCP server over stdio.

Closes #15

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: thedyps <thedyps@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants