feat: add application/agent-plugin+json as a recognized catalog entry type - #93
feat: add application/agent-plugin+json as a recognized catalog entry type#93zeroasterisk wants to merge 5 commits into
Conversation
… type Adds the Agent Plugin media type to the list of known ecosystem types in the Catalog Entry 'type' field. This allows publishers to reference Agent Plugins (https://agent-plugins.org/specification) — portable packages containing skills and MCP servers — as first-class entries in an AI Catalog. Changes: - Add 'application/agent-plugin+json' to the Integrated Ecosystem & Third-Party Types list with a link to the Agent Plugins specification - Update the minimal catalog example to include a plugin entry - Add a plugin entry to specification/examples/ai-catalog.json
Replace 'plugin' namespace (which repeats the media type) with 'agent' namespace to follow the convention of describing the functional domain, consistent with other example identifiers in the spec.
Adds the Agent Plugin entry to the 'Choosing a type' reference table in the creating-a-catalog guide — the primary human-facing enumeration of recognized media types. Includes a note explaining the discovery-only semantics of the manifest URL.
|
@zeroasterisk I'm not sure I understand how a consumer will actually be able to use this catalog entry. They may be able to download the plugin manifest, but how can the consumer actually acquire the plugin contents. The readme says that "delivery is out of scope" but what use is discovering a plugin if a consumer has no standard way to acquire it? |
I believe that, similar to an agent card of mcp card, the plugin is a "card" a manifest of it's own contents which need to be hosted somewhere... like github or whatever. A compatible client can read the plugin manifest from source, and can "find" that manifest via the The agent plugin compatible client is responsible for downloading and using the actual plugin. The |
We could look into defining such a card, but right now the only manifest file is I think the right choice here might be for the AI Catalog entry point to an archive (
|
Add `application/agent-plugins+json` to known types
What
Why
Agent Plugins is an emerging standard (TSC: Amazon, Cursor, Microsoft, OpenAI, Vercel) for bundling Agent Skills + MCP servers into a single distributable unit. Both constituent types (`agent-skills+json`, `mcp-server-card+json`) are already in the list; this registers the envelope/manifest type alongside them. `+json` suffix is correct per RFC 6838 — `plugin.json` is a JSON object.
Implementation note: discovery, not delivery
Agent Plugins v1 is a filesystem-only format — no HTTP fetch/install mechanism is defined (distribution is in FUTURE_CONSIDERATIONS). A catalog entry's `url` points to `plugin.json` (the manifest), which is the right analogy: the same as `a2a-agent-card+json` pointing at an agent card rather than a running agent, or `mcp-server-card+json` pointing at a server card rather than a running server. The catalog entry enables discovery (read manifest metadata); full execution requires the whole plugin directory via out-of-band delivery (git clone, zip, registry). This is acceptable for catalog purposes.
Choices made
Non-goals
Open question for WG — resolve before merge
Agent Plugins spec page says "Working Draft"; GitHub README says "Published". These are materially different. Confirm canonical status with the Agent Plugins TSC.
CI: `uv run --locked python tools/build_spec.py` passes. JSON examples validated.