JD Codec — privacy-first local MCP proxy for browser-agent tasks. Compresses page snapshots ~80%+ via a cloud codec; PII never leaves your machine.
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
The jdcodec command exposes three surfaces:
pip install jdcodec
jdcodec # launches the local MCP proxy — point your
# MCP-capable agent client at this command
jdcodec audit # one-shot environment audit (detects langchain /
# playwright / browser-use, posts a telemetry
# ping). `jdcodec-audit` is an alias.
jdcodec start # registers your machine for the alpha waitlist —
# opens browser-based OAuth, captures email,
# attaches it to your audit. `jdcodec login`
# is an alias.
The first MCP-proxy invocation fetches and caches the connector via npx (a few seconds; instant on subsequent runs).
Pinning a specific connector version
By default the wrapper resolves to the latest published connector. To pin:
JDC_CONNECTOR_VERSION=0.3.1 jdcodec
Version pinning only applies to the MCP-proxy path (which shells through to npm). The audit / start / login subcommands are local Python and don't read this variable.
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.5.2.tar.gz.
File metadata
- Download URL: jdcodec-0.5.2.tar.gz
- Upload date:
- Size: 18.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93e9fcf99bfc12768234da5918c5bf9815a855ef1c52b7250390adee0960113a
|
|
| MD5 |
7291135d6feeaad43a306b387628887a
|
|
| BLAKE2b-256 |
9987e63fa54b2d4ba90e4aad0b7944f7f351e78e44855cafd911072c2ba6f858
|
File details
Details for the file jdcodec-0.5.2-py3-none-any.whl.
File metadata
- Download URL: jdcodec-0.5.2-py3-none-any.whl
- Upload date:
- Size: 12.1 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 |
78c090ad56b5a56910dbab930cf42fd97375ebbd354e956ca4a707c6c3147816
|
|
| MD5 |
27a45a85323b0ff3a8461d292f73dc8a
|
|
| BLAKE2b-256 |
625affc4f57791c54bd26902bc5aa0035b5339db4ee4207c9005155ca6fa005d
|