Adds a distributable Claude Code plugin so users can install shared-memory instead of running the claude mcp add --client-id ... one-liner by hand.
.mcp.json now accepts an oauth block with a pre-registered clientId, so this no longer depends on Authentik shipping RFC 7591 DCR (goauthentik/authentik#8751, still open, milestoned 2026.8.0).
OIDC_CLIENT_ID_MCP is a Public PKCE client — committing it is safe, no secret involved.
Verified
Both manifests pass claude plugin validate
Local-path marketplace install on Claude Code 2.1.220 preserves the oauth block into the installed cache
Remote clone from this private Gitea repo authenticates fine
Not yet verified
Whether a git-sourced marketplace install preserves the oauth block (anthropics/claude-ai-mcp#359 reports GitHub-sync stripping it). Cannot be tested until marketplace.json is on the default branch — i.e. until this PR merges.
The interactive OAuth handshake itself (needs a browser).
Adds a distributable Claude Code plugin so users can install shared-memory instead of running the `claude mcp add --client-id ...` one-liner by hand.
`.mcp.json` now accepts an `oauth` block with a pre-registered `clientId`, so this no longer depends on Authentik shipping RFC 7591 DCR (goauthentik/authentik#8751, still open, milestoned 2026.8.0).
`OIDC_CLIENT_ID_MCP` is a **Public** PKCE client — committing it is safe, no secret involved.
### Verified
- Both manifests pass `claude plugin validate`
- Local-path marketplace install on Claude Code 2.1.220 preserves the `oauth` block into the installed cache
- Remote clone from this private Gitea repo authenticates fine
### Not yet verified
- Whether a **git-sourced** marketplace install preserves the `oauth` block (anthropics/claude-ai-mcp#359 reports GitHub-sync stripping it). Cannot be tested until `marketplace.json` is on the default branch — i.e. until this PR merges.
- The interactive OAuth handshake itself (needs a browser).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Claude Code's .mcp.json now accepts an `oauth` block with a pre-registered
clientId, so the plugin no longer depends on RFC 7591 Dynamic Client
Registration (still unshipped in Authentik — goauthentik/authentik#8751,
milestoned for 2026.8.0). This lets users install shared-memory as a plugin
instead of running the `claude mcp add --client-id ...` one-liner by hand.
OIDC_CLIENT_ID_MCP is a Public PKCE client, so committing it is safe; no
secret is involved. callbackPort 33418 matches the documented one-liner and
is covered by the loopback redirect regex on the Authentik provider.
Verified: both manifests pass `claude plugin validate`, and a local-path
marketplace install on Claude Code 2.1.220 preserves the oauth block through
to the installed cache. Remote (git-sourced) marketplace install is still
untested — see anthropics/claude-ai-mcp#359.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
jknapp
merged commit 0cb749806c into main2026-07-27 03:21:18 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Adds a distributable Claude Code plugin so users can install shared-memory instead of running the
claude mcp add --client-id ...one-liner by hand..mcp.jsonnow accepts anoauthblock with a pre-registeredclientId, so this no longer depends on Authentik shipping RFC 7591 DCR (goauthentik/authentik#8751, still open, milestoned 2026.8.0).OIDC_CLIENT_ID_MCPis a Public PKCE client — committing it is safe, no secret involved.Verified
claude plugin validateoauthblock into the installed cacheNot yet verified
oauthblock (anthropics/claude-ai-mcp#359 reports GitHub-sync stripping it). Cannot be tested untilmarketplace.jsonis on the default branch — i.e. until this PR merges.🤖 Generated with Claude Code