Skip to content

Some MCP tool calls hang indefinitely after v0.113.0 #364

@lgustafson

Description

@lgustafson

Since eca 0.113.0, when using the official GitHub MCP server (the compiled Go binary) 0.32.0, making tool calls through eca hangs indefinitely. The agent logs that it is calling the tool, but never receives the response.

Expected Behavior

When the agent executes an MCP tool call (e.g., search_repositories), eca should read the JSON-RPC result from the server's stdout and return it to the agent so the conversation can continue.

Actual Behavior

The eca logs show the tool being called:

:eca/chat-tool-call-approve 0ms
[TOOLS] Calling tool 'github__search_repositories' with args '{"query" "user:YOUR_USER is:private", "perPage" 100}'
👤📤   -->MCP:Request [a880abc9-0a7f-4fb2-8eda-ae7f91312c16] tools/call

After this, the agent UI is stuck on Calling tool indefinitely. No timeout or error is ever surfaced in the eca logs.

How to reproduce

Steps to Reproduce

  1. Install eca version 0.113.0 or newer.
  2. Configure the official Go-based github-mcp-server in config.json:
    "github": {
      "command": "github-mcp-server",
      "args": [
        "stdio", "--read-only", "--toolsets=repos,issues,pull_requests"
      ]
    }

3.Prompt the agent to trigger a tool call against GitHub (e.g., searching repositories).
4.Observe the indefinite hang.

What I tried/workaround

I rolled back to eca 0.112.1 and it the github MCP server works again.

Perhaps it's related to the plumcp change in 0.113.0. Specifically, the github MCP server interleaves unprompted server notifications (like list_changed) into stdout, and eca may not be expecting it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    Status

    In progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions