@blackwell-systems/gcf-proxy 0.5.0 → 0.6.0
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.
- package/README.md +10 -45
- package/package.json +12 -9
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# gcf-proxy
|
|
2
2
|
|
|
3
|
-
MCP proxy that
|
|
3
|
+
Bidirectional MCP proxy that translates between [GCF](https://gcformat.com/) and JSON. Drop-in, zero code changes to your server or client.
|
|
4
4
|
|
|
5
|
-
**79% fewer tokens
|
|
5
|
+
**79% fewer input tokens. 63% fewer output tokens. 90.7% comprehension accuracy across 10 models and 3 providers. 1,300+ LLM evaluations. Zero training.**
|
|
6
6
|
|
|
7
7
|
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)
|
|
8
8
|
|
|
@@ -24,64 +24,30 @@ npm install -g @blackwell-systems/gcf-proxy
|
|
|
24
24
|
{"mcpServers": {"yours": {"command": "gcf-proxy", "args": ["your-mcp-server"]}}}
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
Your server keeps outputting JSON. The LLM receives GCF. Nothing else changes.
|
|
28
|
-
|
|
29
27
|
Works with Claude Code, Claude Desktop, VS Code, Cursor, and any MCP client.
|
|
30
28
|
|
|
31
29
|
## What it does
|
|
32
30
|
|
|
33
|
-
|
|
34
|
-
LLM ←── GCF ←── gcf-proxy ←── JSON ←── Your Server
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
1. Spawns your MCP server as a subprocess
|
|
38
|
-
2. Proxies stdin/stdout between client and server
|
|
39
|
-
3. Detects JSON payloads in tool responses
|
|
40
|
-
4. Re-encodes as GCF (graph profile for code intelligence, generic profile for everything else)
|
|
41
|
-
5. Non-convertible responses (text, HTML, errors) pass through unchanged
|
|
42
|
-
|
|
43
|
-
## Savings
|
|
44
|
-
|
|
45
|
-
Tested on a real MCP tool response (10 symbols, 8 edges):
|
|
31
|
+
Translates in both directions:
|
|
46
32
|
|
|
47
33
|
```
|
|
48
|
-
JSON
|
|
49
|
-
GCF
|
|
50
|
-
|
|
51
|
-
Savings: 63% fewer tokens
|
|
34
|
+
Responses: Your Server (JSON) -> gcf-proxy encodes -> LLM reads GCF (79% input savings)
|
|
35
|
+
Requests: LLM writes GCF -> gcf-proxy decodes -> Your Server (JSON) (63% output savings)
|
|
52
36
|
```
|
|
53
37
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
GCF 4,866 bytes ~1,216 tokens
|
|
59
|
-
|
|
60
|
-
Savings: 25% fewer tokens (generic encoding, no graph profile)
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## When to use
|
|
64
|
-
|
|
65
|
-
- You can't modify the server (third-party binary, another team's code)
|
|
66
|
-
- You want to test GCF savings without writing any code
|
|
67
|
-
- You want zero-effort adoption on any existing MCP server
|
|
68
|
-
|
|
69
|
-
For session deduplication (92.7% savings) and delta encoding (81.2% savings), use the [GCF libraries](https://gcformat.com/ecosystem/implementations.html) directly.
|
|
38
|
+
- **Responses**: JSON tool results from the server are encoded as GCF
|
|
39
|
+
- **Requests**: GCF strings in tool call arguments are decoded to JSON (4-byte prefix check, zero overhead)
|
|
40
|
+
- Non-convertible content passes through unchanged in both directions
|
|
41
|
+
- Neither the server nor the client needs to know about GCF
|
|
70
42
|
|
|
71
43
|
## Benchmarks
|
|
72
44
|
|
|
73
45
|
| Format | Accuracy | Tokens | vs JSON |
|
|
74
46
|
|--------|----------|--------|---------|
|
|
75
|
-
| **GCF** | **90.
|
|
47
|
+
| **GCF** | **90.7%** avg (10 models) | **11,090** | **79% fewer** |
|
|
76
48
|
| TOON | 68.5% avg | 16,378 | 69% fewer |
|
|
77
49
|
| JSON | 53.6% avg | 53,341 | baseline |
|
|
78
50
|
|
|
79
|
-
GCF wins all 6 datasets on TOON's own benchmark. 42% smaller on semi-uniform data, 34% on mixed-structure.
|
|
80
|
-
|
|
81
|
-
Reproduce comprehension eval: `git clone https://github.com/blackwell-systems/gcf-go && cd gcf-go/eval && GOWORK=off go test -run TestComprehension -v -timeout 0`
|
|
82
|
-
|
|
83
|
-
Reproduce token benchmark: `git clone https://github.com/blackwell-systems/toon && cd toon && git checkout gcf-comparison && cd benchmarks && pnpm install && pnpm benchmark:tokens`
|
|
84
|
-
|
|
85
51
|
## Also available on
|
|
86
52
|
|
|
87
53
|
- PyPI: `pip install gcf-proxy`
|
|
@@ -92,5 +58,4 @@ Reproduce token benchmark: `git clone https://github.com/blackwell-systems/toon
|
|
|
92
58
|
- [Full Setup Guide](https://gcformat.com/guide/proxy.html)
|
|
93
59
|
- [GCF Specification](https://gcformat.com/reference/spec.html)
|
|
94
60
|
- [GCF vs TOON](https://gcformat.com/guide/vs-toon.html)
|
|
95
|
-
- [Playground](https://gcformat.com/playground.html)
|
|
96
61
|
- [GitHub](https://github.com/blackwell-systems/gcf-proxy)
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blackwell-systems/gcf-proxy",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "MCP proxy that
|
|
3
|
+
"version": "0.6.0",
|
|
4
|
+
"description": "Bidirectional MCP proxy that translates between JSON and GCF. 79% fewer input tokens, 63% fewer output tokens. Zero code changes.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"gcf-proxy": "bin/gcf-proxy"
|
|
7
7
|
},
|
|
8
8
|
"optionalDependencies": {
|
|
9
|
-
"@blackwell-systems/gcf-proxy-darwin-arm64": "0.
|
|
10
|
-
"@blackwell-systems/gcf-proxy-darwin-x64": "0.
|
|
11
|
-
"@blackwell-systems/gcf-proxy-linux-arm64": "0.
|
|
12
|
-
"@blackwell-systems/gcf-proxy-linux-x64": "0.
|
|
13
|
-
"@blackwell-systems/gcf-proxy-win32-x64": "0.
|
|
14
|
-
"@blackwell-systems/gcf-proxy-win32-arm64": "0.
|
|
9
|
+
"@blackwell-systems/gcf-proxy-darwin-arm64": "0.6.0",
|
|
10
|
+
"@blackwell-systems/gcf-proxy-darwin-x64": "0.6.0",
|
|
11
|
+
"@blackwell-systems/gcf-proxy-linux-arm64": "0.6.0",
|
|
12
|
+
"@blackwell-systems/gcf-proxy-linux-x64": "0.6.0",
|
|
13
|
+
"@blackwell-systems/gcf-proxy-win32-x64": "0.6.0",
|
|
14
|
+
"@blackwell-systems/gcf-proxy-win32-arm64": "0.6.0"
|
|
15
15
|
},
|
|
16
16
|
"keywords": [
|
|
17
17
|
"gcf",
|
|
@@ -20,8 +20,11 @@
|
|
|
20
20
|
"llm",
|
|
21
21
|
"tokens",
|
|
22
22
|
"json",
|
|
23
|
+
"json-alternative",
|
|
23
24
|
"wire-format",
|
|
24
|
-
"toon-alternative"
|
|
25
|
+
"toon-alternative",
|
|
26
|
+
"ai",
|
|
27
|
+
"agent"
|
|
25
28
|
],
|
|
26
29
|
"homepage": "https://gcformat.com/",
|
|
27
30
|
"repository": {
|