MCP 1.0.0: Startup Race Condition Causes “No server info found” and Broken Tool Offerings (Works in 0.49)

Hi all,

I’ve encountered a critical issue upgrading from MCP 0.49 (working fine) to 1.0.0 (broken workflow) when running a custom mcp-memory-server stack with sub-servers. After upgrading, my workspace is repeatedly hit with errors like:

[error] mory: No server info found  

This is followed by multiple failures to fetch tool offerings, and the MCP agent never recovers—certain tools/resources never become available for the session, even though all sub-servers do eventually start.

Key Details:

  • In 0.49, each sub-server is registered and announces its offerings before any client requests are handled. The session proceeds normally.
  • In 1.0.0, the MCP main server starts handling ListOfferings and other client requests before all sub-servers have finished registering, so most early requests fail with “No server info found.”
  • This leads to a race condition where offerings/resources aren’t properly registered, and the session enters a broken state.

Hypothesis:

There’s a missing synchronization step in 1.0.0:

  • The MCP main process should wait for all sub-servers to finish registration and publish their offerings before accepting client requests or handling ListOfferings.
  • In 1.0.0, requests are being processed too early, resulting in a race condition, incomplete tool/resource registration, and unrecoverable session errors.

Has anyone else hit this?
Is there a config workaround, or is a fix needed in the MCP server startup/registration sequence?
Let me know if you want full log files or further details.

Thanks!

what is a sub-server? Do you have something i can repro?

Sure, happy to clarify!

In this context, a sub-server is any auxiliary process or service that the MCP main process starts and registers to provide extra tools or actions. For example, I’m using mcp-memory-server as a sub-server, which adds memory capabilities to the MCP stack.

To make it even clearer, here are screenshots of my MCP server/sub-server setup inside Cursor:

  1. With my top screenshot (v1.0.0), the memory sub-server fails to register its tools/offering before the main server starts handling client requests.

  2. With MCP 0.49, registration happens in the correct order and everything works.

This suggests a startup/race issue affecting the memory sub-server specifically.

Here is the repo of mcp-memory that I’m using (and got the issue):