Skip to content

blackwell-systems/agent-lsp

v0.13.0 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

agentskills ai-agents ai-tooling claude claude-code code-intelligence
+13 more
code-quality coding-agent developer-tools go language-server-protocol lsp mcp mcp-server model-context-protocol python rust static-analysis typescript

Summary

AI summary

Broad release touches Other changes Added:, https://github.com/blackwell-systems/gcf, http.Handler, and string.

Changes in this release

Feature Medium

agent-lsp now defaults to GCF output encoding, reducing token usage 30-51% per response

agent-lsp now defaults to GCF output encoding, reducing token usage 30-51% per response

Source: llm_adapter@2026-06-04

Confidence: high

Feature Low

Added `AGENT_LSP_OUTPUT_FORMAT` environment variable to control output format (GCF or JSON)

Added `AGENT_LSP_OUTPUT_FORMAT` environment variable to control output format (GCF or JSON)

Source: llm_adapter@2026-06-04

Confidence: high

Feature Low

Introduced enum constraints on `direction`, `detail_level`, and `level` parameters for MCP clients

Introduced enum constraints on `direction`, `detail_level`, and `level` parameters for MCP clients

Source: llm_adapter@2026-06-04

Confidence: high

Feature Low

Added standalone `mcp-assert` dispatch workflow for independent CI testing

Added standalone `mcp-assert` dispatch workflow for independent CI testing

Source: llm_adapter@2026-06-04

Confidence: high

Feature Low

New documentation pages: MCP Client Configs, Troubleshooting, Common Workflows, Environment Variables

New documentation pages: MCP Client Configs, Troubleshooting, Common Workflows, Environment Variables

Source: llm_adapter@2026-06-04

Confidence: high

Dependency Low

Added dependency `github.com/blackwell-systems/gcf-go` v0.1.1 (zero transitive dependencies)

Added dependency `github.com/blackwell-systems/gcf-go` v0.1.1 (zero transitive dependencies)

Source: llm_adapter@2026-06-04

Confidence: high

Refactor Low

Restructured documentation into `getting-started/`, `guide/`, `reference/`, `architecture/` directories for clearer navigation

Restructured documentation into `getting-started/`, `guide/`, `reference/`, `architecture/` directories for clearer navigation

Source: llm_adapter@2026-06-04

Confidence: high

Full changelog

v0.13.0: 30-51% fewer tokens on every tool response

agent-lsp now ships with GCF (Graph Compact Format) as the default output encoding. Every tool response uses 30-51% fewer tokens than JSON, with zero configuration.

Most MCP servers return raw JSON. agent-lsp now returns 30-51% fewer tokens out of the box.

How it works

GCF replaces JSON's per-record field name repetition with a single header declaration and positional pipe-delimited rows:

JSON (334 tokens):

[
  {"name": "AuthMiddleware", "kind": "Function", "detail": "func(http.Handler) http.Handler", "file": "middleware.go", "start_line": 45, "end_line": 78},
  {"name": "ValidateToken", "kind": "Function", "detail": "func(string) (*Claims, error)", "file": "token.go", "start_line": 23, "end_line": 56},
  {"name": "Claims", "kind": "Struct", "detail": "struct", "file": "token.go", "start_line": 10, "end_line": 18}
]

GCF (165 tokens):

## [3]{detail,end_line,file,kind,name,start_line}
func(http.Handler) http.Handler|78|middleware.go|Function|AuthMiddleware|45
func(string) (*Claims, error)|56|token.go|Function|ValidateToken|23
struct|18|token.go|Struct|Claims|10

Same data. 50.6% fewer tokens. Savings grow with record count.

Measured savings on real tool responses

| Tool | JSON | GCF | Savings |
|------|------|-----|---------|
| list_symbols (10 symbols) | ~334 tokens | ~165 tokens | 50.6% |
| find_references (50 locations) | ~858 tokens | ~437 tokens | 49.1% |
| get_diagnostics (5 diagnostics) | ~213 tokens | ~133 tokens | 37.6% |
| blast_radius (5 symbols, 6 callers) | ~526 tokens | ~365 tokens | 30.6% |

Benchmark: go run scripts/gcf-benchmark.go

What this means for you

Every tool call returns more information per token budget. On a typical code exploration session (blast_radius, explore_symbol, find_callers, inspect), the cumulative savings compound across calls. Your agent sees more context, makes better decisions, and costs less.

Configuration

GCF is enabled by default. To revert to JSON:

export AGENT_LSP_OUTPUT_FORMAT=json

Why GCF over JSON or TOON?

JSON repeats field names on every record. TOON improves on JSON but still carries per-record overhead. We tested GCF against both on TOON's own benchmark, using TOON's own datasets and tokenizer:

| Track | GCF | TOON | JSON |
|-------|-----|------|------|
| Mixed-structure (nested, semi-uniform) | 169,554 | 227,896 (+34%) | 291,620 (+72%) |
| Semi-uniform event logs | 107,269 | 154,032 (+44%) | N/A |
| Flat tabular (TOON's home turf) | 66,026 | 67,837 (+3%) | 198,560 |

GCF wins all three tracks. The gap on structured data (34-44%) is not marginal; it's architectural. TOON is a general-purpose format that repeats field names and type annotations per record. GCF uses positional encoding, abbreviated kinds, local ID references, and distance-tier grouping to eliminate per-record overhead that TOON cannot.

On real code intelligence payloads (500 symbols), GCF uses 32% fewer tokens than TOON at identical 100% comprehension accuracy. JSON drops to 66.7% accuracy at this scale.

What is GCF?

GCF (Graph Compact Format) is a token-optimized wire format for LLM tool responses.


Other changes

Added:

  • AGENT_LSP_OUTPUT_FORMAT environment variable for format control
  • Enum constraints on direction, detail_level, and level parameters (improves schema quality for MCP clients)
  • Standalone mcp-assert dispatch workflow for independent CI testing
  • New documentation:

Changed:

  • Documentation restructured into getting-started/, guide/, reference/, architecture/ for clearer navigation

Dependencies:

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track blackwell-systems/agent-lsp

Get notified when new releases ship.

Sign up free

About blackwell-systems/agent-lsp

Stateful MCP server over real language servers. 50 tools, 30 CI-verified languages, 20 agent workflows. Persistent sessions keep the index warm across files and projects. Speculative execution simulates edits in memory before writing to disk.

All releases →

Related context

Earlier breaking changes

  • v0.16.0 `rename_symbol` now applies edits itself and returns a summary, removing caller-side application.
  • v0.11.0 `get_change_impact` renamed to `blast_radius`. Same handler, same parameters, new name.

Beta — feedback welcome: [email protected]