add managed auth tools (manage_auth_connections, manage_credentials, manage_credential_providers)#104
add managed auth tools (manage_auth_connections, manage_credentials, manage_credential_providers)#104masnwilliams wants to merge 8 commits into
Conversation
…manage_credential_providers) Closes the largest agent-facing capability gap in the MCP server: setting up an authenticated browser session for a third-party site. Agents can now drive Kernel's managed auth flow end-to-end. - manage_auth_connections: create/list/get/delete connections; start login flows (returns hosted_url + live_view_url); submit MFA codes or SSO selections when a flow is awaiting input. - manage_credentials: read-only (list, get, totp_code). Credentials are created by humans via dashboard/CLI so the agent never sees raw secrets in its context — it references credentials by name. - manage_credential_providers: read-only (list, get) for external providers like 1Password. Same human-creates / agent-consumes pattern.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Monitoring Plan: Add managed-auth and credentials MCP toolsWhat this PR does: Registers three new MCP tool handlers — Intended effect: After deploy, AI agents using the MCP server can invoke these three tools. Successful calls will appear as spans on the already-active Kernel API backend endpoints ( Risks:
Status updates will be posted automatically on this PR as monitoring progresses. |
Cursor Bugbot caught that we were sending invalid credential payloads when only credential_path or credential_auto was provided without credential_provider. Add upfront validation so the agent gets a clear MCP-level error instead of a generic API rejection.
Cursor Bugbot follow-up: credential_auto=false was treated as a valid provider variant, and credential_path + credential_auto: true were silently allowed together. Only credential_auto: true now counts as a provider mode, and path/auto are enforced as mutually exclusive.
…providers also expose list_items and test on credential providers. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…t empty credential values Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
dcruzeneil2
left a comment
There was a problem hiding this comment.
LGTM! Clean PR, follows existing codebase patterns well. One nit:
nit: submit in manage_auth_connections lets fields: {} through the validation guard since !params.fields is falsy for empty objects. The API will likely reject it anyway, but manage_credentials create already handles the equivalent case with Object.keys(params.values).length === 0. Worth adding the same check here for consistency.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 79bcb13. Configure here.

Summary
Closes the largest agent-facing capability gap in the MCP server: setting up an authenticated browser session for a third-party site. Agents can now drive Kernel's managed auth flow end-to-end without a human in the loop (beyond the one-time hosted login).
What's added
manage_auth_connections(full surface)create— start managing auth for a profile + domain (optionally referencing a pre-stored credential by name, or an external provider like 1Password)list/get/deletelogin— kicks off a hosted login flow. Returnshosted_url(share with the user to sign in) andlive_view_url(agent can watch). Triggers automatic re-auth if credentials are saved.submit— provide field values, an MFA option ID, or an SSO button selector when the flow isawaiting_input. Agent inspectsdiscovered_fields/mfa_optionsfromgetto know what's needed.manage_credentials(full CRUD)list/get(SDK never returns values) /totp_code(current 6-digit code)create/update/delete— agents can store and rotate credentials directly. Values, sso_provider, and totp_secret are all settable.manage_credential_providers(full CRUD)list/get/create/update/deletefor external providers (e.g. 1Password)list_itemsto enumerate available items from the provider, andtestto validate the token and list accessible vaultsAgent flow
manage_credentials create).manage_auth_connections create domain=netflix.com profile_name=mason credential_name=netflix-masonmanage_auth_connections login id=<conn_id>→ shareshosted_urlwith user, or proceeds via re-auth.manage_auth_connections getuntilflow_status=SUCCESS(orflow_step=AWAITING_INPUTfor MFA).manage_credentials totp_code <name>→manage_auth_connections submit fields={mfa_code: "123456"}.manage_browsers create profile_name=masongets a logged-in session.Test plan
manage_auth_connections listreturns existing connections for the authed usermanage_auth_connections create+loginreturns a working hosted URLmanage_credentialsround-trip:create→list→get→update→deletemanage_credentials totp_codereturns a 6-digit code for a TOTP-enabled credentialmanage_credential_providersround-trip:create→test→list_items→update→deleteTool count
Bumps from 10 → 13.
Note
High Risk
Exposes credential CRUD, TOTP codes, provider tokens, and login/MFA submission over MCP—security-sensitive auth surfaces that agents can invoke with a valid API token.
Overview
Adds managed auth to the Kernel MCP server so agents can set up and maintain logged-in browser profiles without manual dashboard work. The public tool count goes from 10 → 13 via three new
manage_*tools wired to@onkernel/sdkinroute.ts, with matching README entries.manage_auth_connectionscovers the full connection lifecycle: create (profile + domain, optional Kernel credential or 1Password-style provider), list/get/delete,login(hosted URL + live view), andsubmitfor MFA fields, MFA option selection, or SSO button XPath—with client-side validation so credential reference modes are mutually exclusive.manage_credentialsadds list/get/create/update/delete plustotp_codefor stored secrets; create/update can setvalues,sso_provider, andtotp_secret(get is documented as not returning secret values).manage_credential_providerssupports 1Password-style providers: CRUD,list_items, andtest(token/vault validation). Providercreate/updateaccept service-account tokens.The diff also includes minor
computer_actionformatting and a few error-message layout tweaks elsewhere—no behavior change called out for those.Reviewed by Cursor Bugbot for commit 7d19430. Bugbot is set up for automated code reviews on this repo. Configure here.