The hook is Claude Code specific. The HTTP API (`POST /message`, `GET /search`) is generic — if your tool can fire a POST on each user/assistant turn, it'll work.
I'll definitely be doing more work on this over the weekend and appreciate any suggestions/recommendations.