feat: conform packaging to agent-plugins.org v1.0.0 - #5
Merged
Merged
Conversation
Add a portable Agent Plugins v1 manifest at the repo root and align the root mcp.json with the AP-v1 schema, so a strict AP-v1 client (the standard Cursor recommends) finds a conformant root manifest and a valid transport. - Add root plugin.json with $schema first, portable fields from .cursor-plugin/plugin.json (repository points at descript-mcp). - Add $schema to mcp.json. - Change the descript server transport from "http" to "streamable-http". Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DokQCcnFTDAK959sE2cWDa
elrolio
previously approved these changes
Sep 10, 2026
elrolio
left a comment
Collaborator
There was a problem hiding this comment.
updated to include critical fixes from guidance in the agent plugins spec
elrolio
marked this pull request as ready for review
September 10, 2026 17:39
elrolio
enabled auto-merge
September 10, 2026 17:39
Resolve mcp.json conflict: keep AP-v1 $schema and streamable-http transport from this branch, adopt main's oxfmt 2-space formatting. Reformat root plugin.json to match the oxfmt convention main introduced. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DokQCcnFTDAK959sE2cWDa
Keep the root AP-v1 manifest's license consistent with the Descript legal review (Apache-2.0) regardless of which PR lands first. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DokQCcnFTDAK959sE2cWDa
elrolio
approved these changes
Sep 11, 2026
auto-merge was automatically disabled
September 11, 2026 01:14
Merge commits are not allowed on this repository
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.
Requested by Matthew Scott · Slack thread
TL;DR
Before, a tool that follows the Agent Plugins v1.0.0 standard strictly (the standard Cursor recommends) would look at the repo root, find no plugin manifest there, and treat this as not a conformant plugin — even though
.cursor-plugin/and.claude-plugin/manifests exist for Cursor and Claude Code. After, the repo root carries a portable AP-v1plugin.jsonand the rootmcp.jsonmatches the AP-v1 schema, so a strict AP-v1 client discovers a conformant plugin with a valid MCP transport.The three must-do conformance fixes:
plugin.json— a new portable AP-v1 manifest at the repo root, with"$schema"as its first field and portable fields (name,version,description,author,homepage,repository,license,keywords) copied from.cursor-plugin/plugin.json.repositorypoints atdescript-mcp;licenseleft as the existingMIT(unchanged — the team is still deciding).mcp.json$schema— added the AP-v1mcp.schema.jsonreference.mcp.jsontransport — changed thedescriptserver's"type"from"http"to"streamable-http", the AP-v1 transport enum value.The tool-specific
.cursor-plugin/plugin.jsonand.claude-plugin/plugin.json(what Cursor and Claude Code read today) are untouched, and no fields were moved intoextensions— that was a separate should-do, out of scope here.node scripts/validate-plugin.mjspasses.Schemas confirmed: The requester (Matthew Scott) confirmed both
$schemaURLs against the live v1.0.0 schemas —plugin.schema.jsonandmcp.schema.json— and they match, including thestreamable-httptransport enum value. Both root manifests were verified against the schemas'additionalProperties: falseconstraint: rootplugin.jsoncarries only the allowed top-level keys ($schema,name,version,description,author,homepage,repository,license,keywords), itsnamematches the required pattern, andauthorhas onlyname/email; rootmcp.jsoncarries only$schema+mcpServers, with thedescriptserver using only the schema-permitted keys (type,url).🤖 Generated with Claude Code
https://claude.ai/code/session_01DokQCcnFTDAK959sE2cWDa
Generated by Claude Code