Gcf Proxy

io.github.blackwell-systems由 GitHub 帳號 blackwell-systems 發布v0.10.2更新於 Oct 24, 2026

Drop-in MCP proxy. 71% fewer tokens. Session dedup compounds to 92%. Zero code changes.

已驗證STDIO僅桌面開發者工具AI 與機器學習

概覽

AI 產生的概覽

可直接插入的 stdio 代理,置於任意 MCP 伺服器之前,把 JSON 工具回應重新編碼為精簡的 GCF 格式以減少 token 用量。

可以做什麼
  • 包裝任意本機 MCP 伺服器指令或遠端 HTTP MCP 端點,原樣轉送其流量。
  • 將結構化的 JSON 工具回應重新編碼為 GCF,並在日誌中輸出每次呼叫節省的位元組與 token。
  • 把工具呼叫參數中的 GCF 字串解碼回 JSON 後再轉送給上游。
  • 可選用工作階段去重、回應快取、增量更新、大小門檻與統計檔案。
  • 可作為 Streamable HTTP 服務執行並提供健康檢查端點,也可串接遠端上游。
適用情境
適用於現有 MCP 伺服器回傳大量結構化 JSON、希望在不必修改伺服器或客戶端的情況下減少輸入 token 的情境。適合伺服器為第三方或由其他團隊維護、且能接受一行設定變更的情況。
執行需求
以本機 stdio 程序執行,可從 npm、PyPI 或 Go 安裝。需要被包裝的 MCP 伺服器指令或上游 HTTP 位址。未宣告任何驗證、環境變數或標頭。
安裝前請注意
它位於所有 MCP 流量中間,會看到每個請求與回應,包括其中攜帶的憑證或資料。它會改寫回應並解碼參數,可能改變模型或伺服器看到的內容;在依賴它之前請用自己的伺服器驗證行為。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Gcf Proxy,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[Playground] [Benchmarks] [License]

gcf-proxy

Bidirectional MCP proxy that translates between JSON and GCF. Drop-in, zero changes to your server or client. Works with any structured data format.

100% comprehension on every frontier model. 29% fewer tokens than TOON, 56% fewer than JSON (2,400+ evals, 11 models, 3 providers). Nested object flattening with opt-out for open-weight models. One line change in your MCP config.

Install

bash
pip install gcf-proxy                                         # PyPInpm install -g @blackwell-systems/gcf-proxy                   # npmgo install github.com/blackwell-systems/gcf-proxy@latest      # Go

Try it (30 seconds, no auth)

bash
gcf-proxy --verbose uvx yfinance-mcp

Use it with any MCP client. When tools return structured JSON, the proxy re-encodes to GCF and logs savings to stderr:

gcf-proxy: get_price_history              54.0KB -> 28.1KB (48% saved)gcf-proxy: get_ticker_info                10.0KB -> 7.4KB (26% saved)gcf-proxy: get_price_history              53.8KB -> 27.9KB (48% saved)
--- gcf-proxy session stats ---Tool calls rewritten:  3JSON bytes in:         117.8KBGCF bytes out:         63.4KBBytes saved:           54.4KB (46.2%)Est. tokens saved:     ~13.6K-------------------------------

Real live stock data from Yahoo Finance. 118KB of JSON reduced to 63KB. ~13,600 tokens saved in 3 tool calls.

Usage

Local server (stdio)

Add gcf-proxy in front of any MCP server command:

json
{  "mcpServers": {    "memory": {      "command": "gcf-proxy",      "args": ["npx", "-y", "@modelcontextprotocol/server-memory"]    }  }}

Remote server (HTTP)

Point --upstream at any Streamable HTTP MCP server:

json
{  "mcpServers": {    "remote": {      "command": "gcf-proxy",      "args": ["--upstream", "http://host:3000/mcp"]    }  }}

Supports JSON and SSE responses. Session ID tracking via Mcp-Session-Id is automatic.

Deploy as HTTP service

--http turns the proxy into a remote Streamable HTTP server:

bash
gcf-proxy --http :9090 --session your-mcp-server

Any MCP client that supports HTTP transport connects directly. Health check at /health. Chains with --upstream for fully remote deployments.

Both modes are bidirectional: server responses are encoded to GCF, GCF in tool call arguments is decoded to JSON. Neither side needs to change.

Flags

FlagDescription
--sessionEnable session dedup (bare refs for previously-transmitted symbols)
--cacheCache encoded responses for identical tool calls
--deltaSend only changed symbols when a tool's response changes slightly
--no-flattenUse expanded encoding for nested objects (open-weight models currently comprehend this form better; GCF still outperforms JSON either way)
--min-size NSkip encoding for responses smaller than N bytes (default: 100)
--stream-threshold NMin symbols before streaming mode activates (default: 5)
--stats-file PATHWrite JSON stats to file after each call
--upstream URLConnect to a remote MCP server over HTTP
--http ADDRServe MCP over Streamable HTTP
--no-progressDisable progress notifications
--verboseLog per-call savings to stderr

Responses: Server (JSON) -> LLM (GCF)

Before: {"tool":"context_for_task","symbols":[{"qualified_name":"pkg.Auth","kind":"function","score":0.78,...},...]}After:  GCF profile=graph tool=context_for_task budget=5000 tokens=1900 symbols=50 edges=20        ## targets        @0 fn pkg.Auth 0.78 lsp_resolved        ...

53-71% fewer input tokens.

Requests: LLM (GCF) -> Server (JSON)

If the LLM produces GCF in a tool call argument (63% fewer output tokens), the proxy decodes it to JSON before forwarding:

LLM sends:    {"tool": "process", "arguments": {"data": "GCF profile=generic\nname=Alice\nage=30\n"}}Server gets:  {"tool": "process", "arguments": {"data": {"name": "Alice", "age": 30}}}

Detection is a 4-byte prefix check (GCF ). Zero overhead. Non-GCF strings pass through untouched.

How it works

  1. Spawns your MCP server as a subprocess
  2. Proxies stdin/stdout between client and server
  3. Responses: intercepts JSON-RPC responses, re-encodes structured JSON as GCF
  4. Requests: scans tool call arguments for GCF strings, decodes to JSON
  5. Passes everything else through unchanged in both directions

Why not modify the server?

Sometimes you can't. The server is a third-party binary, or it's maintained by another team, or you just don't want to add a dependency. gcf-proxy gives you the token savings without touching server code.

If you control the server, use the GCF libraries directly for better control over session deduplication and delta encoding.

Benchmarks

100% general comprehension on every frontier model. 91.2% on adversarial code graphs (vs TOON 68.8%, JSON 54.1%). Wins 15/16 datasets on token benchmark.

EvalGCFTOONJSON
General comprehension100%100%100%
Adversarial code graphs (500 symbols)91.2%68.8%54.1%
Token efficiency (16 datasets)15/16 wins1/16baseline

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

Reproduce token benchmark: git clone https://github.com/blackwell-systems/toon && cd toon && git checkout gcf-comparison && cd benchmarks && pnpm install && pnpm benchmark:tokens

Links

More links

License

MIT - Dayna Blackwell / GCF

來源:README.md,提交 d912add

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.10.2最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分