why a separate package?
mcp sdk lives here / cli stays small
corpus-mcp adapts the public --json contract. The CLI keeps its small footprint; the MCP server carries the SDK dependency and process model separately.
This is the “many libraries, not a framework” shape: useful pieces, coupled by public interfaces.