JD Codec — privacy-first local MCP proxy for browser-agent tasks. Compresses page snapshots ~80%+ via a cloud codec; PII never leaves your machine.
Reason this release was yanked:
Fixed a bug where args were dropped when using bypass mode
Project description
jdcodec — Python Distribution
pip install jdcodec
A privacy-first local proxy for browser-agent task pipelines. The Python distribution is a thin wrapper that delegates to the JD Codec connector — it gives you pip install jdcodec ergonomics with the connector running under the hood via Node.
What it does
- Compresses browser-agent page snapshots so your agent's context window goes much further on long tasks.
- Scans every snapshot on your machine for PII (emails, phone numbers, credit cards, API keys, addresses, and more) and replaces them with category tokens before any bytes leave your network.
- Falls back to a local-only mode if the cloud service is unreachable — your agent never blocks on us.
Requirements
- Python 3.8 or newer
- Node.js 22 or newer on your
PATH(install from https://nodejs.org/ orbrew install node/apt install nodejs npm) - An MCP-capable agent client (Claude Code, Cursor, or any client that speaks MCP stdio)
- A JD Codec API key — email
hello@jdcodec.com
Usage
pip install jdcodec
jdcodec --help # general help
jdcodec start # launches the local MCP proxy
jdcodec-audit # environment audit / waitlist tool
The first invocation will fetch and cache the connector via npx — typically a few seconds, then instant on subsequent runs.
Pinning a specific version
By default the wrapper resolves to the latest published connector. To pin:
JDC_CONNECTOR_VERSION=0.2.0 jdcodec start
Wiring it into your agent
The Python wrapper exposes the same jdcodec command as the npm distribution. Point your MCP client config at jdcodec (not npx @playwright/mcp) and the connector takes over. Specific guides for Claude Code, Cursor, and generic MCP clients are available — email hello@jdcodec.com for access.
Configuration
Set your API key either as an environment variable or in a config file:
export JDC_API_KEY='jdck_yourid.yoursecret'
Or:
mkdir -p ~/.jdcodec
cat > ~/.jdcodec/config.json <<EOF
{ "api_key": "jdck_yourid.yoursecret" }
EOF
chmod 600 ~/.jdcodec/config.json
The full env-var reference (JDC_BYPASS, JDC_REGION, JDC_TRACE, etc.) is documented in the npm package's README — npm view jdcodec readme or visit https://www.npmjs.com/package/jdcodec.
Support
Email hello@jdcodec.com for alpha access, API keys, bug reports, or feature requests.
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 Distribution
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 jdcodec-0.3.0.tar.gz.
File metadata
- Download URL: jdcodec-0.3.0.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb79135e6d52344f25604dbe65facb12334e855fd807853e90d137d25beca84f
|
|
| MD5 |
cabb165179123ec2a4a24a42a49fa0b4
|
|
| BLAKE2b-256 |
d8f5ff34c661fa13eb3ccefa626bd4f5df473dddf723579b9560e4883d69a01d
|
File details
Details for the file jdcodec-0.3.0-py3-none-any.whl.
File metadata
- Download URL: jdcodec-0.3.0-py3-none-any.whl
- Upload date:
- Size: 10.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
289ad8962306c41fcfd2c19fcc9d3999b018221a49d58e9fd6ead9b1b97e9e76
|
|
| MD5 |
4f68eb789976eb7d529ebbca21a278da
|
|
| BLAKE2b-256 |
47dc91e95aefdaa33083781de412466c3e83b902cdc2faec4c5fac88f8a0af0f
|