Skip to content

v2.1.0 — Pi MCP bridge, sync tool registration, provider exports

Choose a tag to compare

@RohiRIK RohiRIK released this 16 May 16:59
· 203 commits to main since this release

Changes

Pi adapter: complete rewrite — MCP bridge with sync tool registration

The root cause of the Pi LTM tools not appearing was a two-part problem:

  1. Wrong install target: The published 2.0.2 was missing the "pi": { "extensions": [...] } key in package.json — Pi couldn't discover the extension entry point.
  2. Race condition: Tools were registered asynchronously (after MCP handshake), but Pi collects its tool list synchronously right after calling the extension factory. Tools registered asynchronously were invisible to Pi.

Fix: Pre-register all tools synchronously at extension load time with their known schemas. The execute() function awaits the MCP bridge being ready. Pi sees 7 LTM tools immediately.

Also switches from direct @rohirik/ltm-core imports (requires bun:sqlite, unavailable in Pi's Node.js runtime) to an MCP stdio bridge: spawns the ltm-core MCP server as a Bun child process and proxies tool calls via newline-delimited JSON-RPC.

Other fixes

  • ltm-core: export provider factories and setting constants from package root
  • graph-server: import shared-db helpers from @rohirik/ltm-core
  • bunfig.toml: set test timeout to 30s (prevents intermittent failures under load)
  • Fixed Aegis LOW: added allowlist validation for piCmd in pi.ts