Supported Plugin Source Types in marketplace.json
The marketplace.json file in the anthropics/claude-plugins-community repository accepts exactly three plugin source types—github, gitlab, and url—which determine how the platform locates, retrieves, and installs plugin packages.
The anthropics/claude-plugins-community repository uses marketplace.json as the central configuration schema that validates all plugin submissions. This file contains a pluginSourceTypes array that explicitly enumerates the supported plugin source types in marketplace.json, ensuring the ingestion system knows precisely how to fetch each plugin. Developers must specify one of these three valid types within their plugin configuration to pass marketplace validation.
The pluginSourceTypes Array Structure
Inside marketplace.json, the allowed distribution methods are defined within the pluginSourceTypes array. According to the repository source code, this array restricts submissions to three distinct protocols for package retrieval and installation.
GitHub Repositories
The github type supports plugins hosted on GitHub, including both public and private repositories. When a plugin specifies github as its source type, the marketplace clones the repository directly using standard Git protocols. This is the most common source type for community-contributed plugins integrated into the Claude ecosystem.
GitLab Instances
The gitlab type accommodates plugins hosted on GitLab, including both gitlab.com and self-managed GitLab instances. This source type provides flexibility for organizations that maintain internal GitLab servers while still allowing seamless integration with the Claude plugins marketplace.
Direct URL Downloads
The url type enables fetching plugins directly from a web-accessible URL pointing to a zipped package archive. This option is ideal for distributing compiled binaries, private builds, or plugins hosted on version control platforms other than GitHub or GitLab.
JSON Configuration Schema
When defining a plugin entry, the source type must match one of these three string values. Here is the structural representation of the pluginSourceTypes array as implemented in the repository:
{
"pluginSourceTypes": [
"github",
"gitlab",
"url"
]
}
Each plugin submission must reference exactly one of these types to pass schema validation. The marketplace ingestion process uses this field to determine the appropriate fetch strategy—repository cloning for Git-based sources or HTTP download for archived URL packages.
Summary
marketplace.jsoninanthropics/claude-plugins-communitydefines supported plugin source types exclusively through thepluginSourceTypesarray.- Three valid types exist:
githubfor GitHub repositories,gitlabfor GitLab instances, andurlfor direct zip archive downloads. - Source type determines fetch method: Git-based values trigger repository cloning protocols, while
urlinitiates direct download of zipped packages. - Strict validation applies: Every plugin submission must specify exactly one of these three supported types or the marketplace will reject the configuration.
Frequently Asked Questions
What happens if I specify a source type not listed in the pluginSourceTypes array?
The marketplace ingestion system will reject the submission during the validation phase. Only github, gitlab, and url are recognized as valid values according to the schema defined in marketplace.json.
Does the github source type support private repositories?
Yes. The github source type explicitly supports both public and private GitHub repositories. You must configure appropriate authentication credentials to allow the marketplace to access private code.
Is the url source type limited to specific archive formats?
The url type expects a pointer to a zipped package archive, typically a .zip file. The marketplace automatically extracts and installs the contents, so ensure the URL points to a valid, accessible archive format.
Where is the marketplace.json file located within the repository?
The marketplace.json file resides in the root directory of the anthropics/claude-plugins-community repository. This location serves as the primary configuration entry point for the entire Claude plugins ecosystem.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →