gcf-proxy 0.1.0__py3-none-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
gcf_proxy/__init__.py ADDED
@@ -0,0 +1,3 @@
1
+ """gcf-proxy: MCP proxy that re-encodes JSON tool responses as GCF."""
2
+
3
+ __version__ = "0.1.0"
gcf_proxy/__main__.py ADDED
@@ -0,0 +1,34 @@
1
+ """Entry point for `python -m gcf_proxy` and `gcf-proxy` CLI."""
2
+
3
+ import os
4
+ import sys
5
+ import subprocess
6
+
7
+
8
+ def _find_binary():
9
+ """Locate the gcf-proxy binary bundled in this package."""
10
+ pkg_dir = os.path.dirname(os.path.abspath(__file__))
11
+ names = ["gcf-proxy.exe", "gcf-proxy"] if sys.platform == "win32" else ["gcf-proxy"]
12
+ for name in names:
13
+ path = os.path.join(pkg_dir, "bin", name)
14
+ if os.path.isfile(path):
15
+ return path
16
+ return None
17
+
18
+
19
+ def main():
20
+ binary = _find_binary()
21
+ if binary is None:
22
+ print(
23
+ "gcf-proxy: binary not found. This platform may not be supported.\n"
24
+ "Install from https://github.com/blackwell-systems/gcf-proxy/releases",
25
+ file=sys.stderr,
26
+ )
27
+ sys.exit(1)
28
+
29
+ result = subprocess.run([binary] + sys.argv[1:])
30
+ sys.exit(result.returncode)
31
+
32
+
33
+ if __name__ == "__main__":
34
+ main()
Binary file
@@ -0,0 +1,98 @@
1
+ Metadata-Version: 2.4
2
+ Name: gcf-proxy
3
+ Version: 0.1.0
4
+ Summary: MCP proxy that re-encodes JSON tool responses as GCF. Zero code changes.
5
+ License-Expression: MIT
6
+ Project-URL: Homepage, https://github.com/blackwell-systems/gcf-proxy
7
+ Project-URL: Documentation, https://gcformat.com/
8
+ Project-URL: Repository, https://github.com/blackwell-systems/gcf-proxy
9
+ Keywords: gcf,mcp,proxy,llm,tokens,json,wire-format,graph-compact-format,toon-alternative,agent,ai
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Topic :: Software Development :: Libraries
14
+ Requires-Python: >=3.8
15
+ Description-Content-Type: text/markdown
16
+
17
+ # gcf-proxy
18
+
19
+ MCP proxy that re-encodes JSON tool responses as [GCF](https://gcformat.com/) — the most token-efficient wire format for LLMs. Drop-in, zero code changes. A TOON/JSON alternative that saves 63-79% of tokens.
20
+
21
+ **79% fewer tokens than JSON. 34% fewer than TOON. 100% LLM comprehension at scale.**
22
+
23
+ Docs: [gcformat.com](https://gcformat.com/) · [Proxy Guide](https://gcformat.com/guide/proxy.html) · [Playground](https://gcformat.com/playground.html) · [GCF vs TOON](https://gcformat.com/guide/vs-toon.html)
24
+
25
+ ## Install
26
+
27
+ ```bash
28
+ pip install gcf-proxy
29
+ ```
30
+
31
+ ## Setup (one line change)
32
+
33
+ **Before:**
34
+ ```json
35
+ {"mcpServers": {"yours": {"command": "your-mcp-server"}}}
36
+ ```
37
+
38
+ **After:**
39
+ ```json
40
+ {"mcpServers": {"yours": {"command": "gcf-proxy", "args": ["your-mcp-server"]}}}
41
+ ```
42
+
43
+ Your server keeps outputting JSON. The LLM receives GCF. Nothing else changes.
44
+
45
+ Works with Claude Code, Claude Desktop, VS Code, Cursor, and any MCP client.
46
+
47
+ ## What it does
48
+
49
+ ```
50
+ LLM ←── GCF ←── gcf-proxy ←── JSON ←── Your Server
51
+ ```
52
+
53
+ 1. Spawns your MCP server as a subprocess
54
+ 2. Proxies stdin/stdout between client and server
55
+ 3. Detects JSON payloads in tool responses
56
+ 4. Re-encodes as GCF (graph profile for code intelligence, tabular profile for everything else)
57
+ 5. Non-convertible responses (text, HTML, errors) pass through unchanged
58
+
59
+ ## Savings
60
+
61
+ Tested on a real MCP tool response (10 symbols, 8 edges):
62
+
63
+ ```
64
+ JSON 2,506 bytes ~626 tokens
65
+ GCF 916 bytes ~229 tokens
66
+
67
+ Savings: 63% fewer tokens
68
+ ```
69
+
70
+ On a real agent-lsp blast_radius response (7 symbols, 47 callers):
71
+
72
+ ```
73
+ JSON 6,515 bytes ~1,628 tokens
74
+ GCF 4,866 bytes ~1,216 tokens
75
+
76
+ Savings: 25% fewer tokens (generic encoding, no graph profile)
77
+ ```
78
+
79
+ ## When to use
80
+
81
+ - You can't modify the server (third-party binary, another team's code)
82
+ - You want to test GCF savings without writing any code
83
+ - You want zero-effort adoption on any existing MCP server
84
+
85
+ For session deduplication (92.7% savings) and delta encoding (81.2% savings), use the [GCF libraries](https://gcformat.com/ecosystem/implementations.html) directly.
86
+
87
+ ## Also available on
88
+
89
+ - npm: `npm install -g @blackwell-systems/gcf-proxy`
90
+ - Go: `go install github.com/blackwell-systems/gcf-proxy@latest`
91
+
92
+ ## Links
93
+
94
+ - [Full Setup Guide](https://gcformat.com/guide/proxy.html)
95
+ - [GCF Specification](https://gcformat.com/reference/spec.html)
96
+ - [GCF vs TOON](https://gcformat.com/guide/vs-toon.html)
97
+ - [Playground](https://gcformat.com/playground.html)
98
+ - [GitHub](https://github.com/blackwell-systems/gcf-proxy)
@@ -0,0 +1,8 @@
1
+ gcf_proxy/__init__.py,sha256=m19HWzImP7q27mPT9rfel3IxkrfbPq3uJs06F0L-Yy8,94
2
+ gcf_proxy/__main__.py,sha256=p_hS-zjAJIbrwGyep5Di4Num3OItMFFkQan5svuvqHg,912
3
+ gcf_proxy/bin/gcf-proxy.exe,sha256=OOq3QSYLG_VPt5cUlRAVOEQhUu35wjMcZcpESX_JbZg,2517504
4
+ gcf_proxy-0.1.0.dist-info/METADATA,sha256=fGAuQiLh2KoukRHVOa6nRZ-mZE_8fE23GvGqnAcmi0o,3257
5
+ gcf_proxy-0.1.0.dist-info/WHEEL,sha256=QR8DNjG6Lr6bNErJWJgF4dP2dJ2N7NpY-BWly1OvcTM,97
6
+ gcf_proxy-0.1.0.dist-info/entry_points.txt,sha256=5pvH_BpGkA4uLJfEqvr8mECISeMUNPCQR68NlNEtgWE,54
7
+ gcf_proxy-0.1.0.dist-info/top_level.txt,sha256=m77ZdgC0PEweaEArCCDXNDzDS5RRrTyGFPttWPf2byI,10
8
+ gcf_proxy-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (82.0.1)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-win_amd64
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ gcf-proxy = gcf_proxy.__main__:main
@@ -0,0 +1 @@
1
+ gcf_proxy