Rust-backed experimental Python package for mcp-compressor.
Project description
mcp-compressor Python SDK
Python SDK and CLI wrapper for mcp-compressor.
The public Python import is mcp_compressor:
from mcp_compressor import CompressorClient
Quick start
The primary SDK object is CompressorClient. It starts a local session and returns a CompressorProxy; no mcp-compressor stdio subprocess is required.
from mcp_compressor import CompressorClient
servers = {
"alpha": {
"command": "python",
"args": ["alpha_server.py"],
},
"atlassian": {
"url": "https://mcp.atlassian.com/v1/mcp",
},
}
with CompressorClient(
servers=servers,
mode="compressed",
compression_level="medium",
include_tools=["getConfluencePage", "updateConfluencePage"],
toonify=True,
) as proxy:
print([tool.name for tool in proxy.tools])
result = proxy.invoke(
"getAccessibleAtlassianResources",
{},
server="atlassian",
)
print(result)
Modes
CompressorClient accepts these modes:
compressed— expose compressed wrapper tools such as<server>_get_tool_schemaand<server>_invoke_tool.cli— expose CLI/help tools for generated shell command usage.bash— expose Just Bash command integration for command-oriented agents.
Generated Python and TypeScript clients are produced with proxy.write_client(...) rather than by selecting a long-lived session mode.
Just Bash metadata
Just Bash mode lets language hosts register backend MCP tools as shell-style commands:
from mcp_compressor import CompressorClient, create_just_bash_commands
with CompressorClient(servers=servers, mode="bash") as proxy:
commands = {cmd.command_name: cmd for cmd in create_just_bash_commands(proxy)}
print(commands["atlassian_get-accessible-atlassian-resources"]([]))
Duplicate backend command names are prefixed with the provider name, for example alpha_echo and beta_echo.
Generated clients
A connected proxy can write shell, Python, or TypeScript clients that call the live proxy:
with CompressorClient(servers=servers, compression_level="max") as proxy:
proxy.write_client("cli", "./bin", name="atlassian")
proxy.write_client("python", "./generated-py", name="atlassian")
proxy.write_client("typescript", "./generated-ts", name="atlassian")
Packaging smoke test
Build a local wheel and verify it imports from a clean virtualenv:
uvx maturin build --release --out dist
python -m venv /tmp/mcp-compressor-wheel-test
/tmp/mcp-compressor-wheel-test/bin/python -m pip install "$PWD"/dist/*.whl
cd /tmp
/tmp/mcp-compressor-wheel-test/bin/python -c "from mcp_compressor import CompressorClient, ToolSpec"
CI runs the same kind of wheel smoke test before uploading the built wheel as an artifact.
Advanced helpers
Low-level helpers such as compress_tool_listing, parse_tool_argv, and ToolSpec remain available for tests and advanced integrations, but the primary SDK entry point is CompressorClient.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_compressor-0.21.1.tar.gz.
File metadata
- Download URL: mcp_compressor-0.21.1.tar.gz
- Upload date:
- Size: 126.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4318e3b6d8e4ae2740914f87be419cad6d23bfdf2b07e575a402de7e9a1df3a4
|
|
| MD5 |
57db5f455488e72b3696cb45712398bf
|
|
| BLAKE2b-256 |
3e76429825e71fc66c4b2794112e5d2c055d641cf2d689650a4842d7b1c904e6
|
File details
Details for the file mcp_compressor-0.21.1-cp311-abi3-win_amd64.whl.
File metadata
- Download URL: mcp_compressor-0.21.1-cp311-abi3-win_amd64.whl
- Upload date:
- Size: 6.7 MB
- Tags: CPython 3.11+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6eeafdd63d9129c680046e20193f00eada844f167f0b894540710d5bc7bebbe6
|
|
| MD5 |
22fef1b2c42607df1e11f176c936c74c
|
|
| BLAKE2b-256 |
f11ef193b181dd6312ad405e21c0675e58958e009efcf6fff36c78e8e349c158
|
File details
Details for the file mcp_compressor-0.21.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: mcp_compressor-0.21.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 7.9 MB
- Tags: CPython 3.11+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97a143bbbdee96ca2577b9505e4f76a5cf7c4ab62b1372cea6c25c7671723e23
|
|
| MD5 |
5db431ec2c7ac40cf5157e554748a89a
|
|
| BLAKE2b-256 |
0cfe2b39359bcf3563ecb0ff73181b43059df94e76286e270dd5c2fc26a9113e
|
File details
Details for the file mcp_compressor-0.21.1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: mcp_compressor-0.21.1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 7.6 MB
- Tags: CPython 3.11+, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
935f4642cbb560bc196ce274955c6b9750ddd7fd3e0b64e7765e65be94b6e0d1
|
|
| MD5 |
6ca4a3feede4630b58afff6d0a7feb30
|
|
| BLAKE2b-256 |
1d38dc4162068b13974ea1c07b0ae4ad1eb514f8fe17f4f748c7e4a1453c40ec
|
File details
Details for the file mcp_compressor-0.21.1-cp311-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: mcp_compressor-0.21.1-cp311-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 7.1 MB
- Tags: CPython 3.11+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07ab831d611fa37d5e30a8e2d79dca8018dc56f75a6b5210595595853d6f6400
|
|
| MD5 |
dcd2cd7d7416ad8bc2e0ef6507b37e8b
|
|
| BLAKE2b-256 |
658f5a7c6f0bd6b30fd6815919e8211ae1e7c0a6e1bd221c0940f5dbff410207
|
File details
Details for the file mcp_compressor-0.21.1-cp311-abi3-macosx_10_12_x86_64.whl.
File metadata
- Download URL: mcp_compressor-0.21.1-cp311-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 7.3 MB
- Tags: CPython 3.11+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d2ae6be74c5d0df104369809a5faf7508451f443096501622cb6cfc4bab73ae4
|
|
| MD5 |
f0cfa17254d1dfacfae615b4a7c7c9ef
|
|
| BLAKE2b-256 |
14a4d46aff90c1ba001235a7636f039943ba8e3f998f9c3db8511957ea469b01
|