add the serper key flow to mcp (#3230)
* add the serper key flow to mcp The /mcp view gains the api-key credential class: the daemon's get_mcp_connections serves a credentials section (the api-key catalog), the view renders 'Serper (web search)' alongside the MCP connections, and Enter runs the paste-the-key prompt that stores AuthCredential::ApiKey at the 'serper' slot - the exact contract the websearch runtime reads. The /login-is-providers-only removal left no home for the key; /mcp is it. The SKILL.md (repo + installed) and the runtime's missing-key message now point at the new flow; the existing auth.json reading path is unchanged (a stored key keeps working, and the /logout row pairs with the new entry). File-size compliance: the view's row model moved to mcp_view/rows.rs and provider_login.rs's tests moved beside it (the additions pushed both files over the 1,000-line cap). * reload the auth store at the mcp view open The daemon's get_mcp_connections serves the api-key credential rows (and the roster) from the manager's cached AuthStorage copy; the interactive client's /mcp key flow stores through its own storage instance in its own process, so the row kept reading 'Not configured' until a daemon restart. The open now reloads the shared store first (TS buildServiceCatalogViews re-reads the store on every open) - the Macroscope finding on the first push. * retrigger ci: the synchronize push fired no ci run --------- Co-authored-by: kt <kt@users.noreply.github.com>