Skip to main content

The context compression layer for AI agents - 60-95% fewer tokens on redundant workloads, reversible via CCR

Project description

  ███████╗ ██╗   ██╗ ██████╗  ██╗
  ██╔════╝ ██║   ██║ ██╔══██╗ ██║
  █████╗   ██║   ██║ ██████╔╝ ██║
  ██╔══╝   ██║   ██║ ██╔══██╗ ██║
   ██║      ╚██████╔╝ ██║  ██║ ███████╗
   ╚═╝       ╚═════╝  ╚═╝  ╚═╝ ╚══════╝
 The context compression layer for AI agents
  

60–95% fewer tokens on redundant workloads · a Claude Code plugin · local-first · reversible

Release License: Apache 2.0

Install · Proof · Library · Community


Furl compresses everything your Claude Code agent reads — tool outputs, logs, web fetches, RAG chunks — before it reaches the model. Same answers, a fraction of the tokens. Every dropped byte stays retrievable on demand.

Furl in action

Install

Two commands inside Claude Code:

/plugin marketplace add omar-y-abdi/furl
/plugin install furl@furl

That's it — this installs the compression hook, the MCP tools, and the skill. No pip install, no setup: Furl fetches itself on first use. Requires uv on your PATH (same as the official serena plugin).

What you get

  • Auto-compression hook — shrinks large Bash / WebFetch / WebSearch / Task outputs before they enter context. Fail-open: never breaks a tool call.
  • Signal-aware offload + sliceable retrieval — a payload too big to compress inline (e.g. a 33 MB trace) comes back as a structured summary (schema, per-field value histograms, example rows) instead of a truncated head/tail, and the agent pulls a narrow slice on demand — retrieve(hash, select_field="name", select_equals="DroppedFrame") or a numeric range — without materializing the whole thing.
  • MCP toolsfurl_compress, furl_retrieve, furl_stats, furl_purge (erase stored originals), furl_search (find by content substring), furl_list (list stored entries). A seventh tool, furl_read, exists but is off by default — enable with FURL_MCP_READ=1.
  • Skill — explains the <<ccr:HASH>> retrieval flow and how to tune or disable it.

Tuning, disabling (FURL_HOOK_ENABLED=0), and the full reference: plugins/furl/README.md.

Proof

Token reduction on real captured data — reproducible, inputs committed under benchmarks/data/. Every number uses the engine's own tokenizer; needle recall is 100% (a known unique row is always recoverable, in the output or via CCR):

Dataset Items Before After Reduction Info retention
code 7 41,025 471 99% 100%
multiturn 135 14,866 2,073 86% 100%
logs 90 8,595 619 93% 100%
search 90 4,102 318 92% 100%
repeated logs 90 3,621 120 97% 100%
disk 9 694 279 60% 100%

Across the corpus: 95% fewer tokens (72,903 → 3,880) at 100% information retention. Full methodology and the 6-seed adversarial sweep: BENCHMARKS.md.

Honest read: the numbers above are best-case, low-entropy ceilings measured on the dev fixtures — two independent, out-of-sample audits show they degrade by 6–43pp on fresh high-entropy / near-unique / realistic data (exactly where real logs and listings live). On genuinely high-entropy content, honest lossless savings sit in the 0–54% band, not 60–95% (code 0%, search 40%, repeated_logs 54%); read every figure here as a ceiling, not a typical, and see the tier-aware breakdown in BENCHMARKS.md.

The code row's 99% is CCR-offload of a large non-file-read tool output (e.g. Bash dumping source text); an agent's own Read/Grep/Glob file access bypasses the compression hook by design and passes through unchanged, at 0%.

Also a Python library

The same engine drops into any Python app or MCP host: from furl_ctx import compress. Install, usage, pipeline internals, prompt-caching contract, and the full FURL_* config reference live in LIBRARY.md.

Community

Questions or bug reports → open a GitHub issue (the surest way to reach us). For chat, there's a Discord.

License

Apache 2.0 — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

furl_ctx-1.0.1.tar.gz (775.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

furl_ctx-1.0.1-cp310-abi3-manylinux_2_28_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ x86-64

furl_ctx-1.0.1-cp310-abi3-manylinux_2_28_aarch64.whl (5.3 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ ARM64

furl_ctx-1.0.1-cp310-abi3-macosx_11_0_arm64.whl (5.2 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

furl_ctx-1.0.1-cp310-abi3-macosx_10_12_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file furl_ctx-1.0.1.tar.gz.

File metadata

  • Download URL: furl_ctx-1.0.1.tar.gz
  • Upload date:
  • Size: 775.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for furl_ctx-1.0.1.tar.gz
Algorithm Hash digest
SHA256 62b3d2f020bd48ee5ba8fb2d61a74b70cf43be3940f0bb8dd130dc039e8b91a3
MD5 25354b2ad0dce07ab8e29126587f33ac
BLAKE2b-256 424ab1f12aa6e256f7ffe566efa4ed8fb022ef7ab6b13b6185501c874da67767

See more details on using hashes here.

Provenance

The following attestation bundles were made for furl_ctx-1.0.1.tar.gz:

Publisher: release.yml on omar-y-abdi/furl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file furl_ctx-1.0.1-cp310-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for furl_ctx-1.0.1-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3bdd1a21d4fd45cf8ccf2b2813e7210c5e40f0ecf64d8895d07a4e190d035b56
MD5 73961d4c1287b6404c3e7a4b59dc8f45
BLAKE2b-256 388b434c9302f7a4876eafce6bb9df13058118d600f6031091f5f9dc9516ac44

See more details on using hashes here.

Provenance

The following attestation bundles were made for furl_ctx-1.0.1-cp310-abi3-manylinux_2_28_x86_64.whl:

Publisher: release.yml on omar-y-abdi/furl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file furl_ctx-1.0.1-cp310-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for furl_ctx-1.0.1-cp310-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1dc855fbe1a74e794d41fef5f1c4417bd8e0f6d5fc6739eedb609687fe88f4a9
MD5 bdcf15d750d21d02ba4861083a6e3a33
BLAKE2b-256 2afa8f85b39c6fe85d8ca6b4570ea17910a7e9a01efe595b54eb8ab028581d42

See more details on using hashes here.

Provenance

The following attestation bundles were made for furl_ctx-1.0.1-cp310-abi3-manylinux_2_28_aarch64.whl:

Publisher: release.yml on omar-y-abdi/furl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file furl_ctx-1.0.1-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for furl_ctx-1.0.1-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4287eebff988d625f594ce6c77209f38cb1d0d0502304f5d232f36f83e7685d7
MD5 731ddc782d50906112e033c5bd2f5e89
BLAKE2b-256 f1308484f2c3f3c3445cdbbc9e47150205c74ea17df0373f379177a6ca991d64

See more details on using hashes here.

Provenance

The following attestation bundles were made for furl_ctx-1.0.1-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on omar-y-abdi/furl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file furl_ctx-1.0.1-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for furl_ctx-1.0.1-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2e3e31779771afb4ebee4aa3783e6e061f3166312f66f39db6f299e6a6844d7e
MD5 2981971195aec90cf5844733174f8d3b
BLAKE2b-256 fe9ac5d87b968c0c9e97526815f0cfa08f9fadbd0bf41b00ccf002b263eda881

See more details on using hashes here.

Provenance

The following attestation bundles were made for furl_ctx-1.0.1-cp310-abi3-macosx_10_12_x86_64.whl:

Publisher: release.yml on omar-y-abdi/furl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page