-
Notifications
You must be signed in to change notification settings - Fork 11
Closed
Labels
architectureArchitectural improvementsArchitectural improvements
Description
Summary
shutdown and exit are not matched in the dispatch loop and fall through to METHOD_NOT_FOUND (-32601), violating the MCP spec.
Details
shutdown(request with id): MCP spec requires the server to respond{}then stop accepting new requests. Currently returns -32601.exit(notification): MCP spec requires unconditional process exit. Currently silently ignored.notifications/cancelledis already handled (silently dropped, correct per JSON-RPC). The in-progress scan is not aborted, which is acceptable for sync transport where scans are <500ms.- Fix: add
"shutdown"arm returning{}then break the serve loop; add"exit"arm callingprocess::exit(0). Apply to both sync and async transports. - Gate: E2E test verifies
shutdown→{}+ clean exit;exit→ process terminates.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
architectureArchitectural improvementsArchitectural improvements