Files
Martin Vogel 52ab4e5d4c fix(pkg): apply the Go wrapper's archive size limits to npm and PyPI
The Go wrapper caps the compressed release download at 256 MiB and
bounds extraction to 64 archive members, 256 MiB per member and 512 MiB
expanded in total. The npm and PyPI wrappers had the download cap
parameter but never passed it for the release archive, and extracted
members without any size bound.

Both wrappers now use the same four limits as named constants. The
download rejects an over-limit Content-Length before writing (only
plain ASCII digits count as a length), stops as soon as the received
body exceeds the limit, and removes the partial file.

The PyPI extractor checks the member count and the declared sizes
before writing and copies each member through a counted loop that reads
at most one byte past the limit and compares the actual size with the
declared one.

The npm tar path keeps the system tar listing and the exact four-name
check as the member bound, then extracts only the executable through
`tar -xzOf` piped into a file the wrapper creates itself, counting
bytes: past the per-member limit the child is stopped and the file
removed; a non-zero tar exit carries tar's own diagnostic text; an
empty result is a failure. The file is removed only when this run
created it, so a pre-existing target is never deleted. The companions
are listed but never written. The PowerShell zip path counts entries
and declared sizes and copies the executable through a counted loop
instead of ExtractToFile, with its own failure text in the install
error. Any limit hit fails with a message naming the limit and leaves
no partial output behind.

Tests cover an over-limit download (declared, actual, and non-numeric
declared lengths), a member stopped in the counted writer, a
pre-existing target left untouched, tar failing mid-stream, an empty
member, too many members and over-limit declared sizes for zip, and a
normal archive installing byte-identical with the executable bit set.
The PowerShell cases run on Windows hosts only.

Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-02 01:10:56 +02:00
..

codebase-memory-mcp

mcp-name: io.github.DeusData/codebase-memory-mcp

Fast code intelligence engine for AI coding agents. Indexes an average repository in milliseconds, the Linux kernel (28M LOC) in 3 minutes. Answers structural queries in under 1ms.

This Python wrapper downloads the selected codebase-memory-mcp runtime set from GitHub Releases on first run and verifies it before publishing it in your OS cache directory. The set contains the native executable and authenticated integration asset, with the graph UI always embedded.

Installation

pip install codebase-memory-mcp
# or
pipx install codebase-memory-mcp

There is one composition per platform: the graph UI ships in every build, so no variant selection is needed.

Usage

codebase-memory-mcp install   # configure your coding agents
codebase-memory-mcp --help

Supported platforms

OS Architecture
macOS arm64, amd64
Linux arm64, amd64
Windows arm64, amd64

Full documentation

See github.com/DeusData/codebase-memory-mcp