All notable changes to the AgentStack Cursor plugin are documented here. Format: Keep a Changelog.
- Duplicate MCP tools in Cursor: stop registering a plugin-level MCP server (
mcpServersinplugin.json). Auth + MCP config stay in~/.cursor/mcp.jsonfrom Device Code only — avoidsplugin-agentstack-*+user-agentstackdouble registration. - Backend
tools/list: return one tool (agentstack.execute) instead of dot + underscore aliases. Cursor normalizes both toagentstack_execute, which looked like two identical tools.tools/callstill acceptsagentstack_execute.
- README / maintainer docs: Cursor 2.6+ layout (
plugins/agentstack/), accurate layer counts, MCP dedupe contract, docs map.
Fix Cursor plugin load failure ("Unsupported plugin manifest $schema version") and align with current Cursor manifest contract.
- Plugin load blocker: remove
$schemafromplugin.json,marketplace.json, andhooks.json. Current Cursor builds whitelist only internal schema IDs; raw GitHub schema URLs cause hard load failures. agentstack-guidanceskill: inline frontmatterdescription(folded YAML broke validator word count); removedocs/operations/tenant-forbidden path; add liveGET /mcp/actionscatalog pointer.- Backend router: add
agentstack-openapirow.
variablesJSON Schema inplugin.jsonfor${AGENTSTACK_ACCESS_TOKEN}(Cursor Plugins → Configure contract).- Shared
extractMcpActionfor hook event shapes (arguments.params.stepsforagentstack.execute). - Monorepo validators aligned: no
$schemain shipped manifests;variablesrequired. - Runtime:
scripts/refresh-cursor-runtime.mjsdetects/fixes stale Cursor marketplace cache still serving 0.4.14 with$schema(local link alone was not enough).
Marketplace ship wave — self-contained Device Code, schema-valid manifest, listing SoT, hooks lifecycle.
- OAuth Device Code poll: treat HTTP 400
authorization_pending/slow_downas continue (RFC 8628). - Capability snapshot: flatten
GET /mcp/actions{domains}→actions[]forbeforeMCPExecutioncap hints. device-code.mjs --helpexits 0 without starting OAuth (safe smoke).- Lean MCP write path shared via
mcpConfig.mjs(notoolsextras). - Standalone CI: vendor
scripts/lib/stale-actions.mjs+docs/CAPABILITY_MATRIX.md(validate no longer imports monorepo-only paths). - Cursor 2.6+ install: restore schema-valid
.cursor-plugin/marketplace.json+ nest package underplugins/agentstack/(baresource,pluginRoot: plugins). Keeplisting.jsonas AgentStack publisher SoT. - Lean MCP config: strip
toolsextras; sessionStart seeds capability snapshot with Bearer orX-API-Key;scripts/diagnose-local.mjs(--fix,--seed-snapshot). - Layer audit:
scripts/audit-layers.mjs(skills/rules/commands/agents/hooks) wired into smoke + CI.
scripts/install-local.mjs/uninstall-local.mjs— Windows junction / Unix symlink into~/.cursor/plugins/local/agentstack.LOCAL_INSTALL.md,FLOW.md, cross-platformscripts/smoke-local.mjs.smoke-local.ps1 -InstallLayer 0.
- Vendored
lib/plugin-kernel/(self-contained publish artifact;sync-plugin-kernel.mjs --check). .cursor-plugin/listing.jsonAgentStack publisher SoT (replaces false Cursormarketplace.jsonschema).- Hooks:
beforeMCPExecution,sessionEnd,postToolUseFailure. - OSS:
CONTRIBUTING.md,SECURITY.md,CODE_OF_CONDUCT.md; publish-repo.github/workflows/validate.yml. - Marketplace screenshots at 1920×1200 + alts;
generate-marketplace-screenshots.mjs. - Intent-eval collisions (wallet / Stripe webhook vs SDK); expanded CRM/AgentNet/storefront/guidance coverage.
plugin.jsonsanitized to Cursor schema (additionalProperties: false);$schemapin to rawplugin.schema.json.- Telemetry: local buffer only when
agentstack.sendTelemetryis true; version read fromplugin.json. - T0
agentstack-prefertenant-safe (monorepo/founder language stays in T3agentstack-platform-monorepo). - Version line 0.4.14; validators / checklists / diagnose aligned.
- Documented token storage threat model (Bearer in mcp.json; Windows ACL note).
- Opt-in telemetry honesty for marketplace security review.
gen3 — catalog plane, skill split, publication CI, platform 0.4.13 alignment.
- Skills:
agentstack-hosting,agentstack-support,agentstack-storage(split from support-storage). - Skills:
agentstack-messenger,agentstack-integrations,agentstack-discovery,agentstack-commerce-assets,agentstack-capability-tasks,agentstack-sdk. - Rules: platform-monorepo, messenger-tenant, ui-surfaces, agentnet-naming.
- Commands:
/agentstack-host-site,/agentstack-support-setup,/agentstack-integrations-wizard,/agentstack-sdk-surface,/agentstack-discover. - Agents:
@agentstack-oncall,@agentstack-fleet-operator,@agentstack-tenant-builder. - Hooks: capability snapshot refresh on sessionStart;
pre-mcp-cap-check.mjs(optional wire); contract tests. - CI:
audit-cursor-plugin.mjs,.github/workflows/plugin-audit.yml. - Docs:
CANONICAL_COPY.md,PLUGIN_VERSION_POLICY.md,CURSOR_PLUGIN_AUDIT_2026-05.md, ADR gen3.
- Version aligned to platform 0.4.13.
- Marketing copy uses live catalog wording (no hard-coded action counts in plugin tree).
agentstack-initstep 3 title: persist tokens (OAuth primary).- Telemetry batch fields:
plugin_version,layer,gene_tag.
skills/agentstack-support-storage/(decomposed).
Clean break from 0.4.x. OAuth 2.1 Device Code; five-layer architecture. See prior entry in git history.
- Version aligned to global AgentStack 0.4.0.
- Initial release.