You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
mcpdo: add --load (tool load/concurrency test) using the shared core engine #2744
Follow-up to #2439 / #2743, which shipped --load in the one-shot CLI only. That issue was scoped CLI-first ("consider whether to add it to mcpdo later"), so this one is the "later".
What
Give mcpdo a load mode for one tool against a named connection, producing the same summary as mcp-inspector --cli ... --load: ok, toolErrors, errors, errorRate, throughput, latency min/mean/p50/p90/p99/max, and the top error messages.
Why it should be cheap
The engine is already shared. core/cli/handlers/load-test.ts exports runToolLoad(inspectorClient, args, options), resolveLoadOptions, and the flag parsers. It takes an InspectorClient and has no CLI-specific code. The mcpdo work is mostly:
add the flags (--load, --load-concurrency, --load-duration, --load-requests, --load-rate) to mcpdo's tools/call command, with the same rejection rules as the CLI (each --load-* requires --load; --load requires a tool call);
run the load inside the daemon, against the daemon's live connection, and return the LoadSummary to the short-lived mcpdo process, rather than driving many separate daemon round trips from the client;
document it in clients/mcpdo/README.md.
Open question
A long --load-duration holds one daemon request open for the whole run. Check whether the daemon's request/IPC timeouts allow that, and whether other commands on the same connection can still run while a load is in progress.
Priority score
Severity 2 (missing capability; the one-shot CLI works today) + urgency 3 (wanted this milestone) + 1 (milestoned) = 6 → Medium.
Activity