Skip to main content

MCP proxy that re-encodes JSON tool responses as GCF. Zero code changes.

Project description

gcf-proxy

MCP proxy that re-encodes JSON tool responses as GCF — the most token-efficient wire format for LLMs. Drop-in, zero code changes. A TOON/JSON alternative that saves 63-79% of tokens.

79% fewer tokens than JSON. 34% fewer than TOON. 100% LLM comprehension at scale.

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"]}}}

Your server keeps outputting JSON. The LLM receives GCF. Nothing else changes.

Works with Claude Code, Claude Desktop, VS Code, Cursor, and any MCP client.

What it does

LLM  ←──  GCF  ←──  gcf-proxy  ←──  JSON  ←──  Your Server
  1. Spawns your MCP server as a subprocess
  2. Proxies stdin/stdout between client and server
  3. Detects JSON payloads in tool responses
  4. Re-encodes as GCF (graph profile for code intelligence, tabular profile for everything else)
  5. Non-convertible responses (text, HTML, errors) pass through unchanged

Savings

Tested on a real MCP tool response (10 symbols, 8 edges):

JSON   2,506 bytes  ~626 tokens
GCF      916 bytes  ~229 tokens

Savings: 63% fewer tokens

On a real agent-lsp blast_radius response (7 symbols, 47 callers):

JSON   6,515 bytes  ~1,628 tokens
GCF    4,866 bytes  ~1,216 tokens

Savings: 25% fewer tokens (generic encoding, no graph profile)

When to use

  • You can't modify the server (third-party binary, another team's code)
  • You want to test GCF savings without writing any code
  • You want zero-effort adoption on any existing MCP server

For session deduplication (92.7% savings) and delta encoding (81.2% savings), use the GCF libraries directly.

Also available on

  • npm: npm install -g @blackwell-systems/gcf-proxy
  • Go: go install github.com/blackwell-systems/gcf-proxy@latest

Links

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

gcf_proxy-0.1.0-py3-none-win_arm64.whl (1.9 MB view details)

Uploaded Python 3Windows ARM64

gcf_proxy-0.1.0-py3-none-win_amd64.whl (1.1 MB view details)

Uploaded Python 3Windows x86-64

gcf_proxy-0.1.0-py3-none-manylinux2014_x86_64.whl (2.1 MB view details)

Uploaded Python 3

gcf_proxy-0.1.0-py3-none-manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded Python 3

gcf_proxy-0.1.0-py3-none-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

gcf_proxy-0.1.0-py3-none-macosx_10_12_x86_64.whl (2.1 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file gcf_proxy-0.1.0-py3-none-win_arm64.whl.

File metadata

  • Download URL: gcf_proxy-0.1.0-py3-none-win_arm64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for gcf_proxy-0.1.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 dbc94568289c623ac5443cf269efb53694fe3243d583346585386d1a69fdefdd
MD5 371ba2c55ede5c2f02309ac3782e69ea
BLAKE2b-256 6f042755b41f3130edf4c25e5b3d059ff8f4f97c287481b767da1843b854da6f

See more details on using hashes here.

File details

Details for the file gcf_proxy-0.1.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: gcf_proxy-0.1.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for gcf_proxy-0.1.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 d84d61c5cce05d3b21c21d648cc149f04f594661b1fe72be61197e430af04439
MD5 8ad35b923d09e9b10de1b905180aa78f
BLAKE2b-256 29bcd2976b2400899933cfb006a7edb24363bf1438729d4a493235c743e98402

See more details on using hashes here.

File details

Details for the file gcf_proxy-0.1.0-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for gcf_proxy-0.1.0-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8625bc420ad626882eb3ec8b5a2c7cbd1fff7f8570a5ef04f6082ccc59b49914
MD5 421f92eca0c6d4a6c883b0843eddfcad
BLAKE2b-256 e8a6874ea554d456d936731e8a564e8ed556f6f0c11f3c95aa60eb04d0891d36

See more details on using hashes here.

File details

Details for the file gcf_proxy-0.1.0-py3-none-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for gcf_proxy-0.1.0-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a04a4fe373e1b3b323baf56bc95a8393b94c738c893bb130e1c5458824277057
MD5 5371a66e8f14f7b6c4744eb2b7052af4
BLAKE2b-256 e368ca4999bd4739b4ef83044251a2dc1c18776bcfc4df53117dd28c26b52988

See more details on using hashes here.

File details

Details for the file gcf_proxy-0.1.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for gcf_proxy-0.1.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 55670c83a75791c4715abce067cb8a8e5de266055f3ca8eb36e8b7bdc5ef5f52
MD5 2f3e86aa530861b672b281886a9964f0
BLAKE2b-256 010612a25474917a00bdf35fd71eed1bed0751c0798043763610d477740cfc26

See more details on using hashes here.

File details

Details for the file gcf_proxy-0.1.0-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for gcf_proxy-0.1.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fedb97097cd58bca5635ade88585cd7bb1ee9523c8c40403adf0b60c9e28630e
MD5 742fbdd5f9ccaae9ac8ed3ac11bd63a1
BLAKE2b-256 39c2c1d4f42609578c0e5c26f0499d274110ef610a0f141cee6aa3d6eef49358

See more details on using hashes here.

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