Skip to content

Plugin manifest

Every Agent Plugin contains exactly one portable manifest at plugin.json in the plugin root. The document must be a JSON object and must declare the canonical schema identifier and a plugin name.

plugin.json
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "deployment.tools"
}

The manifest schema is closed. Portable top-level fields are limited to:

Field Required Purpose
$schema Yes Selects the complete Agent Plugins validation and interpretation contract.
name Yes Human-readable plugin name and package identifier.
version No Plugin version; Semantic Versioning is recommended.
description No Short description of the plugin.
author No Object containing optional name, email, and url strings.
homepage No Documentation or homepage string.
repository No Source repository string.
license No License string; an SPDX license identifier is recommended.
keywords No Array of search and discovery strings.
extensions No Client-owned data keyed by reverse-domain namespace.

Metadata strings are not rejected merely because they fail URL, email, Semantic Versioning, or SPDX syntax. Their JSON types remain mandatory.

Plugin names are 1–64 characters and use only lowercase ASCII letters, digits, hyphens, and periods. They begin and end with an alphanumeric character and cannot contain -- or ...

Valid: my-plugin, acme.tools, lint3r

Invalid: My-Plugin, -start, has--double, too.many..dots

Unknown and invalid fields [#unknown-and-invalid-fields]

Section titled “Unknown and invalid fields [#unknown-and-invalid-fields]”

An unknown top-level field is a schema violation, but it does not invalidate an otherwise valid plugin: a client reports and ignores that field. Client-specific data belongs under extensions.

Other manifest schema violations are fatal. A client rejects the plugin without discovering or executing its components.

Download plugin.schema.json. The normative specification text governs if it conflicts with the machine-readable schema.


For a semantic overview of all documentation, see /sitemap.md

For an index of all available documentation, see /llms.txt