-
Notifications
You must be signed in to change notification settings - Fork 85
Description
bug in the LangGraph checkpointing system used by mcp-client-cli.
Here’s what’s happening:
The CLI uses LangGraph’s AsyncPregelLoop for streaming responses.
It tries to use a SQLite checkpointing backend to persist conversation state.
This mcp-client-cli v1.0.5 calls self.conn.is_alive(), but the Connection object from aiosqlite (or the underlying DB driver) does not have that method.
There’s a version mismatch between langgraph and its checkpointing dependencies.
Recent LangGraph releases removed or changed the is_alive() check, but your mcp-client-cli v1.0.5 still expects it.
If you don’t need conversation persistence, you can disable checkpointing. (but if you need, then a fix is needed)
Checkpointing removal patch:
In cli.py, the agent executor is created with a checkpointer. You can override this by patching the code:
async with AsyncSqliteSaver.from_conn_string(SQLITE_DB) as checkpointer:
store = SqliteStore(SQLITE_DB)
memories = await get_memories(store)
formatted_memories = "\n".join(f"- {memory}" for memory in memories)
agent_executor = create_react_agent(
model, tools, state_schema=AgentState,
prompt=prompt, checkpointer=**None**, store=store
)