Since Claude Desktop has worked well with my Home Assistant mcp, i decided to give this a try. I used the github connection for the install and ran into a problem with the SDK mismatch. Claude straighten it out but gave the warning that any updates i would run into the same problem. are there any plans to use the later SDK? Here is what was reported.
What was wrong
bi-mcp wasn't actually "still connecting" — it was crash-looping on startup, so Claude Code never got a tool list and it never showed up under Developer.
Root cause: bi-mcp declares its dependency as mcp>=1.2.0 with no upper bound. When the binary was rebuilt this morning (05:47), it pulled the latest SDK, mcp 2.1.1, which removed the low-level @server.list_tools() / @server.call_tool() decorator API the code is written against. The server died instantly with:
What I did
Pinned the SDK back to 1.x inside bi-mcp's pipx venv (using uv):
Then verified directly: the server now completes the initialize handshake and returns its full Blue Iris tool list (bi_get_actionset, bi_get_alert_image, …), clean exit, no stderr.
What you need to do
Restart Claude Code so it relaunches the MCP process — the current session already has the crashed instance cached. After restart, bi-mcp should appear under Developer with its tools.
Heads-up — it'll break again on the next rebuild
The venv is fixed, but the unbounded mcp>=1.2.0 in the source repo (git+GitHub - whoamiTM/bi-mcp: MCP server for Blue Iris NVR — exposes the Blue Iris JSON API and .reg config to LLM agents.) means any future pipx reinstall/rebuild will re-pull mcp 2.x and reintroduce this. Durable fix is to pin mcp>=1.2.0,<2 in that repo's pyproject.toml. Want me to note the exact change for when you next touch that repo?
Let me save this so it's on record for next time:
Recalled a memory, saved 2 memories
Saved to memory so this is a fast diagnosis next time.
Summary: bi-mcp was crashing on launch because a rebuild pulled the incompatible mcp 2.1.1 SDK. I pinned it back to mcp 1.29.1 in its venv and verified the server now handshakes and lists tools correctly. Restart Claude Code and it'll show up under Developer.
What was wrong
bi-mcp wasn't actually "still connecting" — it was crash-looping on startup, so Claude Code never got a tool list and it never showed up under Developer.
Root cause: bi-mcp declares its dependency as mcp>=1.2.0 with no upper bound. When the binary was rebuilt this morning (05:47), it pulled the latest SDK, mcp 2.1.1, which removed the low-level @server.list_tools() / @server.call_tool() decorator API the code is written against. The server died instantly with:
What I did
Pinned the SDK back to 1.x inside bi-mcp's pipx venv (using uv):
Then verified directly: the server now completes the initialize handshake and returns its full Blue Iris tool list (bi_get_actionset, bi_get_alert_image, …), clean exit, no stderr.
What you need to do
Restart Claude Code so it relaunches the MCP process — the current session already has the crashed instance cached. After restart, bi-mcp should appear under Developer with its tools.
Heads-up — it'll break again on the next rebuild
The venv is fixed, but the unbounded mcp>=1.2.0 in the source repo (git+GitHub - whoamiTM/bi-mcp: MCP server for Blue Iris NVR — exposes the Blue Iris JSON API and .reg config to LLM agents.) means any future pipx reinstall/rebuild will re-pull mcp 2.x and reintroduce this. Durable fix is to pin mcp>=1.2.0,<2 in that repo's pyproject.toml. Want me to note the exact change for when you next touch that repo?
Let me save this so it's on record for next time:
Recalled a memory, saved 2 memories
Saved to memory so this is a fast diagnosis next time.
Summary: bi-mcp was crashing on launch because a rebuild pulled the incompatible mcp 2.1.1 SDK. I pinned it back to mcp 1.29.1 in its venv and verified the server now handshakes and lists tools correctly. Restart Claude Code and it'll show up under Developer.
