Context
With OAuth 2.1 (#2709) and the default-on MCP surface (#2712) merged, any deployment is self-serve connectable: paste the URL, log in through the browser. The remaining friction is distribution — users shouldn't need to hand-write MCP config or know what a SKILL.md is.
Per ADR-0036 Amendment C, the cross-agent distributable is ONE generic skill (packages/mcp/src/skill.ts, renderSkillMarkdown) — schema-free, valid for every deployment. That makes a single official Claude Code plugin sufficient for all customers, including private deployments: the deployment URL is the only per-customer input, and OAuth + Dynamic Client Registration handle identity against any deployment with no pre-registered credentials.
Deliverable
A public plugin repo (proposal: objectstack-ai/claude-plugin) installable via claude plugin marketplace add objectstack-ai/claude-plugin, containing:
Non-goals
- No per-app or per-customer artifacts (ADR-0036 Amendment C)
- claude.ai web users don't need this plugin (custom connector = paste URL); the plugin serves Claude Code/Desktop users
Refs #2698. Companion: the Setup "Connect an agent" page (objectui) should link to this plugin as the last step of its Claude Code card.
Context
With OAuth 2.1 (#2709) and the default-on MCP surface (#2712) merged, any deployment is self-serve connectable: paste the URL, log in through the browser. The remaining friction is distribution — users shouldn't need to hand-write MCP config or know what a SKILL.md is.
Per ADR-0036 Amendment C, the cross-agent distributable is ONE generic skill (
packages/mcp/src/skill.ts,renderSkillMarkdown) — schema-free, valid for every deployment. That makes a single official Claude Code plugin sufficient for all customers, including private deployments: the deployment URL is the only per-customer input, and OAuth + Dynamic Client Registration handle identity against any deployment with no pre-registered credentials.Deliverable
A public plugin repo (proposal:
objectstack-ai/claude-plugin) installable viaclaude plugin marketplace add objectstack-ai/claude-plugin, containing:.claude-plugin/plugin.json— plugin metadata (nameobjectstack, description, version).mcp.json— bundled MCP server config with env interpolation:{"objectstack": {"type": "http", "url": "${OBJECTSTACK_MCP_URL}"}}— set the env once, connect to your own deploymentskills/objectstack/SKILL.md— the generic skill rendered fromrenderSkillMarkdown()(URL placeholder variant)commands/connect.md—/objectstack:connectguided command: ask for the deployment URL, runclaude mcp add --transport http <name> <url>on the user's behalf (supports multiple environments via distinct server names); OAuth login pops automatically@objectstack/mcp'srenderSkillMarkdown()output —skill.tsstays the single sourceNon-goals
Refs #2698. Companion: the Setup "Connect an agent" page (objectui) should link to this plugin as the last step of its Claude Code card.