Why Your MCP Server Is Slow (and How to Fix Latency)
Slow MCP tool calls usually trace to cold npx starts, too many tools in context, or a chatty remote server. Four fixes.
If MCP tool calls feel sluggish, the cause is almost always one of four things: a cold npx start, a bloated tool list, an over-eager remote server, or the model itself re-reading a huge context each turn.
1. Cold npx / uvx starts
npx -y pkg downloads and resolves the package on first run. The first call after launch is slow; later calls are warm. To avoid it, install the package globally (or pin a version) so the runtime does not re-resolve every start.
2. Too many tools in context
Every connected server adds its tool definitions to each turn. With 80+ tools the model spends time (and tokens) just choosing. Disconnect servers you are not using, or route through a gateway so only a couple of meta-tools sit in context.
3. A chatty remote server
Remote servers add a network round-trip. If one returns huge payloads, every call drags. Prefer servers that return compact, structured results; paginate large reads.
4. Context re-reading
If your conversation is long, the model re-processes it each turn — unrelated to the server, but it feels like tool lag. Start a fresh session for a new task.
Quick wins
Warm the runtime, keep the tool count under ~40, and gateway the long tail. Most "MCP is slow" reports are really "twenty servers are always on" — thin that out and it snaps back.