Skip to content

Blog

Gasoline v2.0.0 Released

Gasoline v2.0.0 adds MCP protocol support. The implementation is naive and has significant limitations, but it works as a proof of concept.

  • MCP Protocol (Naive) — Basic JSON-RPC 2.0 transport over HTTP
  • Console Logs + Network Errors — Extension captures logs and failed API calls (4xx, 5xx)
  • Simple Resource APIresources/list and resources/read endpoints
  • Multi-tool stub — Four tools defined but only one partially implemented
  • Extension → Go server (HTTP)
  • Go server → MCP client (HTTP polling)
  • Blocking request/response model

This version taught us that:

  • HTTP polling is too slow for real-time telemetry
  • Single-request blocking architecture doesn’t work for streaming data
  • MCP needs bidirectional communication, not request/response
  • Performance — 500ms+ latency due to polling
  • Streaming — Can’t stream data in real-time
  • Single tool — Only observe() partially works
  • Network overhead — Constant polling even with no data
  • Random timeouts on concurrent requests
  • Lost messages during high-frequency events
  • Extension crashes if server is restarted

Lesson learned: HTTP polling doesn’t work for a telemetry system. Next version will use WebSockets.

See [GitHub](https://github.com/brennhill/gasoline-agentic-browser-devtools-mcp for source.

Gasoline v1.0.0 Released

Gasoline v1.0.0 is the first public release. It’s a proof of concept showing a Go server talking to a Chrome extension to capture browser telemetry.

  • Basic Browser Telemetry — Chrome extension captures console logs and sends them to a local Go server
  • HTTP API — Simple REST endpoints to retrieve captured logs
  • Local-only — All data stays on 127.0.0.1, no cloud services
  • Zero dependencies — Go binary with no external packages
  • Chrome extension (MV3) — Listens to console.log() calls
  • Go HTTP server (port 7890) — Receives and stores logs in memory
  • Local persistence — Logs written to disk
  • Console logs only (no network, exceptions, or WebSockets)
  • Single client only
  • No MCP protocol yet
  • Memory-based storage (logs lost on restart)
Terminal window
go build -o gasoline ./cmd/server
./gasoline
# Then load the extension in chrome://extensions/

This is early. Very early. But it works.


Next steps: Add network request capture, implement MCP protocol, persistent storage.

See [GitHub](https://github.com/brennhill/gasoline-agentic-browser-devtools-mcp for source.