Skip to content

LangGraph removed or changed the is_alive() check, but your mcp-client-cli v1.0.5 still expects it. #38

@raf-per

Description

@raf-per

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
    )  

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions