Bidirectional MCP proxy that translates between JSON and GCF. 79% fewer input tokens, 63% fewer output tokens. Zero code changes.
Project description
gcf-proxy
Bidirectional MCP proxy that translates between GCF and JSON. Drop-in, zero code changes to your server or client.
79% fewer input tokens. 63% fewer output tokens. 90.7% comprehension accuracy across 10 models and 3 providers. 1,300+ LLM evaluations. Zero training.
Docs: gcformat.com · Proxy Guide · Playground · GCF vs TOON
Install
pip install gcf-proxy
Setup (one line change)
Before:
{"mcpServers": {"yours": {"command": "your-mcp-server"}}}
After:
{"mcpServers": {"yours": {"command": "gcf-proxy", "args": ["your-mcp-server"]}}}
Works with Claude Code, Claude Desktop, VS Code, Cursor, and any MCP client.
What it does
Translates in both directions:
Responses: Your Server (JSON) -> gcf-proxy encodes -> LLM reads GCF (79% input savings)
Requests: LLM writes GCF -> gcf-proxy decodes -> Your Server (JSON) (63% output savings)
- Responses: JSON tool results from the server are encoded as GCF
- Requests: GCF strings in tool call arguments are decoded to JSON (4-byte prefix check, zero overhead)
- Non-convertible content passes through unchanged in both directions
- Neither the server nor the client needs to know about GCF
Savings
JSON 2,506 bytes ~626 tokens
GCF 916 bytes ~229 tokens (63% fewer)
With session dedup (92.7% by 5th call) and delta encoding (81.2%), use the GCF libraries directly.
Benchmarks
| Format | Accuracy | Tokens | vs JSON |
|---|---|---|---|
| GCF | 90.7% avg (10 models) | 11,090 | 79% fewer |
| TOON | 68.5% avg | 16,378 | 69% fewer |
| JSON | 53.6% avg | 53,341 | baseline |
Also available on
- npm:
npm install -g @blackwell-systems/gcf-proxy - Go:
go install github.com/blackwell-systems/gcf-proxy@latest
Links
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 Distributions
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 gcf_proxy-0.7.0-py3-none-win_arm64.whl.
File metadata
- Download URL: gcf_proxy-0.7.0-py3-none-win_arm64.whl
- Upload date:
- Size: 5.1 MB
- Tags: Python 3, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d50189c7a3c4db6ea659fe7fef5a9fc6e51558c873de7844e4328d83e077295f
|
|
| MD5 |
6ab445bfc65f84e6e42d8d710a0c6ab7
|
|
| BLAKE2b-256 |
627185f051b6714f289b250a2fddbb7a1ed5faf77bbc330aa7cf38faaae2c95f
|
File details
Details for the file gcf_proxy-0.7.0-py3-none-win_amd64.whl.
File metadata
- Download URL: gcf_proxy-0.7.0-py3-none-win_amd64.whl
- Upload date:
- Size: 2.9 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
719ba473c6378b7f551998d57e179a83786fa8e04d8cffba1a6249b437268dc2
|
|
| MD5 |
ffdd4bbd757bb0e2f00b2a780826e467
|
|
| BLAKE2b-256 |
a9502eeb55d5ba62bf569cc6ec14656c7945f53631d165f3d16846bc9f557a1f
|
File details
Details for the file gcf_proxy-0.7.0-py3-none-manylinux2014_x86_64.whl.
File metadata
- Download URL: gcf_proxy-0.7.0-py3-none-manylinux2014_x86_64.whl
- Upload date:
- Size: 5.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
265deb2b9d13b36552156976a2463622c1abc30d07dd73ae434a472fcd5b2f4b
|
|
| MD5 |
6dc0b7de6d2ee73098b458cebdbb079c
|
|
| BLAKE2b-256 |
cc075f209d60b4413e75a61cc412c80d55ea631d6a16abf9aa54dedbcfaed0ca
|
File details
Details for the file gcf_proxy-0.7.0-py3-none-manylinux2014_aarch64.whl.
File metadata
- Download URL: gcf_proxy-0.7.0-py3-none-manylinux2014_aarch64.whl
- Upload date:
- Size: 5.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3ac7673736bd758227cbbfac524d3c64aaf27f714a331d37722373261fbf419
|
|
| MD5 |
ce287cc92d51b3c6ac882e75238fe75a
|
|
| BLAKE2b-256 |
8bf661bb12608d3ac1697540023f82d4f0a2393a10bda332ecccd40db7bea839
|
File details
Details for the file gcf_proxy-0.7.0-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: gcf_proxy-0.7.0-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 5.5 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
efffa27917be663baec57e509aa6d4b084132f4f792840bddecd7258b9f0abd0
|
|
| MD5 |
54f33791ab8160a460518e3f38b5c73c
|
|
| BLAKE2b-256 |
348d2ad639b88d861a64a70c96a7b324c1482fc57f40daa3311784ce20a593b9
|
File details
Details for the file gcf_proxy-0.7.0-py3-none-macosx_10_12_x86_64.whl.
File metadata
- Download URL: gcf_proxy-0.7.0-py3-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 5.7 MB
- Tags: Python 3, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
321de3c27dda6d5387fe3eb00a44be11593c76d4bd72692880128aaa82286556
|
|
| MD5 |
b98c6e76147d3d4f88fb92f642863962
|
|
| BLAKE2b-256 |
4456b0b3e21f6e15c3a1ddf2aa8b2658c312d600c35ec34e3d57fb1a78225a2d
|