Plan / Interface: direct MCP onboarding - #1626
Merged
Merged
Conversation
Propose a host-local lifecycle for direct OAuth MCP servers: URL-first add, offline list, explicit login, and recoverable remove. Keep deployment administration out of HarnessService and require daemon restart for configuration changes. Use hardened same-origin issuer discovery, keyring-first wrapping-key custody with an attended encrypted file-key fallback, strict single-target settings mutation, redacted progress, and a tombstoned DCR removal state so interrupted deletes can resume safely. This revision folds in the post-decision OAuth, architecture, adversarial, and scope reviews. It fixes discovery and RFC 9207 gaps, pins the complete credential-key locator, separates layered reads from the writable settings target, and makes removal crash-recoverable. It also removes work that lacked a current consumer: SDK and JSON output contracts, generic scope-policy redesign, multiple-issuer UI, add-only workflow variants, exact formatting guarantees, and architecture-shaped acceptance tests. Three reduced-scope choices remain explicit for human confirmation before the Plan / Interface PR. Co-Authored-By: mecatl <noreply@mecatl.dev>
Relates to #1613 Co-Authored-By: mecatl <noreply@mecatl.dev>
JAORMX
approved these changes
Sep 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Defines the human-reviewed interface contract for URL-first direct MCP onboarding.
The proposal adds a host-local
mecated mcp add/list/login/removelifecycle, hardened issuer discovery, keyring-first wrapping-key custody with an attended encrypted file-key fallback, narrow atomic settings mutation, observable login, offline status, and crash-recoverable removal. It keeps deployment administration out ofHarnessService, preserves the existing direct-DCRopenid/no-refresh contract, and defers broker changes, SDK helpers, machine-readable output, hot reload, generic scope negotiation, and multiple-issuer UI.Review history
Verification
bash .claude/skills/to-acceptance-plan/scripts/check-acceptance-plan.sh docs/acceptance/direct-mcp-onboarding.mdbash .claude/skills/to-acceptance-plan/scripts/check-acceptance-plan-test.shtask docsgit diff --checkRef: #1613