Skip to content

v6.4.0 — Bundled stdio↔HTTPS Proxy for Claude Desktop

Choose a tag to compare

@joergs-git joergs-git released this 24 May 10:12
· 60 commits to main since this release

Claude Desktop now just works — no Node, no settings clicks, no manual paste workarounds.

v6.3.0 shipped HTTPS but tried to wire Claude Desktop with a {"url": ...} config entry. That doesn't fly — Claude Desktop silently rejects URL entries in claude_desktop_config.json (only stdio configs are accepted; URL endpoints have to go via the Settings → Connectors UI). v6.4.0 fixes this by bundling a tiny stdio↔HTTPS proxy inside the .app.

Setup (60 seconds)

  1. Open AstroBlink → Window → MCP Connector (Claude)…
  2. Click Install to Claude Desktop — the stdio snippet goes to your clipboard, the Claude config file opens in TextEdit.
  3. Paste (⌘V), save (⌘S), Cmd+Q Claude Desktop and re-open it.
  4. Done. Tools-icon shows 13 AstroBlink tools.

Architecture

  • AstroBlinkMCPProxy — 120-line Swift CLI bundled at Contents/Helpers/AstroBlinkMCPProxy. Reads JSON-RPC from stdin, POSTs to https://127.0.0.1:8765/mcp, forwards SSE responses to stdout. Zero app state, no DB access, no business logic — just byte forwarding. Accepts the self-signed cert for localhost only.
  • In-app HTTPS MCP server (from v6.2.0) unchanged. The 13 tools still call FrameHistoryDatabase / TriageViewModel / ArchiveScanner directly with no intermediate layer.
  • JSON envelope cleaned up — tools return {"ok": true, "data": …} with single-level nesting now (v6.3.0 accidentally double-wrapped).

Heads-up for App Store users

The proxy ships only in this GitHub Developer ID build. App Store enforces app-sandbox=true on every embedded exec, but sandboxed standalone CLIs get rejected by AMFI when launched by foreign apps like Claude Desktop. App Store users can:

  • Use this build (same bundle id, overrides the App Store install), or
  • Use Claude Code with the URL endpoint directly, or
  • Add the URL via Claude Desktop's Settings → Connectors UI manually.

The decision is documented in CHANGELOG.md and CLAUDE.md.

Privacy

Server binds to 127.0.0.1 only — never reachable from the LAN, never reachable from the internet. The TLS cert is scoped to localhost. Proxy accepts the cert only on localhost.

See the README MCP section.