Plugin Marketplace Schema
Full JSON schema for .claude-plugin/marketplace.json.
Required Top-Level Fields
| Field |
Type |
Description |
Example |
name |
string |
Marketplace ID (kebab-case, no spaces). Users see: /plugin install tool@name |
"acme-tools" |
owner |
object |
Maintainer info (name required, email optional) |
|
plugins |
array |
List of plugin entries |
|
Reserved Names (Cannot Use)
claude-code-marketplace, claude-code-plugins, claude-plugins-official, anthropic-marketplace, anthropic-plugins, agent-skills, life-sciences. Names impersonating official marketplaces also blocked.
Optional Metadata
| Field |
Type |
Description |
metadata.description |
string |
Brief marketplace description |
metadata.version |
string |
Marketplace version |
metadata.pluginRoot |
string |
Base dir prepended to relative source paths (e.g., "./plugins") |
Plugin Entry — Required Fields
| Field |
Type |
Description |
name |
string |
Plugin ID (kebab-case). Users see: /plugin install name@marketplace |
source |
string|object |
Where to fetch plugin (see plugin-marketplace-sources.md) |
Plugin Entry — Optional Metadata
| Field |
Type |
Description |
description |
string |
Brief plugin description |
version |
string |
Plugin version |
author |
object |
Author info (name required, email optional) |
homepage |
string |
Plugin docs URL |
repository |
string |
Source code URL |
license |
string |
SPDX license ID (MIT, Apache-2.0) |
keywords |
array |
Discovery/categorization tags |
category |
string |
Plugin category |
tags |
array |
Searchability tags |
strict |
boolean |
Default true: merges with plugin.json. false: marketplace entry defines plugin entirely |
Plugin Entry — Component Configuration
| Field |
Type |
Description |
commands |
string|array |
Custom paths to command files/dirs |
agents |
string|array |
Custom paths to agent files |
hooks |
string|object |
Hooks config or path to hooks file |
mcpServers |
string|object |
MCP server configs or path |
lspServers |
string|object |
LSP server configs or path |
Minimal Example
Full Example