Anchor project-only patterns in .mcpbignore#4
Merged
mgoldsborough merged 1 commit intomainfrom Apr 24, 2026
Merged
Conversation
Unanchored gitignore patterns (no leading `/`) in .mcpbignore match anywhere in the tree — including inside vendored `deps/` (Python) or `node_modules/` (Node). mcpb pack then strips legitimate runtime files from bundled packages, which can break imports when the bundle starts. The trap fired on synapse-research 0.1.1 and openweathermap 0.4.0: an unanchored `conftest.py` pattern stripped `deps/beartype/_conf/ conftest.py` (a real runtime module, not a pytest config), and the bundle failed with `MCP error -32000: Connection closed`. Fix: anchor project-only patterns with a leading `/`, keep cross-tree hygiene (`__pycache__/`, `*.pyc`, `.DS_Store`) unanchored, and drop the redundant `conftest.py` rule (pytest configs already live under `/tests/`). No behavior change for the currently-published artifact; this is preventive — the next release will produce a bundle that keeps vendored deps intact.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Unanchored gitignore patterns in
.mcpbignorematch anywhere in the tree, including inside vendoreddeps/ornode_modules/.mcpb packthen strips legitimate runtime files from bundled packages.The trap fired on synapse-research 0.1.1 and openweathermap 0.4.0 — an unanchored
conftest.pypattern strippeddeps/beartype/_conf/conftest.py(a real runtime module), breaking the FastMCP import chain and crashing the MCP subprocess withMCP error -32000: Connection closed.This PR anchors project-only patterns with a leading
/, leaves cross-tree hygiene (__pycache__/,*.pyc,.DS_Store) unanchored, and drops the redundantconftest.pyrule (already covered by/tests/).No behavior change for the currently-published artifact — this is preventive. The next release from this repo will produce a bundle that keeps vendored deps intact.
Matches the canonical
.mcpbignoreshape inmcp-server-template-pythonandmcp-server-template-typescript.Test plan
make bundle(or equivalent) and confirm no regressions in the packaged output