You get into the Claude plugin directory by submitting from a GitHub repository through the developer portal at claude.ai/directory/manage. Anyone on a paid Claude plan can submit. Anthropic validates and security-scans every version, and a person reviews a new listing before it goes live. Pass those checks, publish, and your plugin shows up across Claude's apps.
Anthropic opened this up fast. The Claude Marketplace went live on September 23, 2026 with more than 2,000 connectors and plugins, and the submission portal followed on September 25. This guide walks the plugin path end to end: who can submit, what belongs in a listable bundle, how to clear validation and the security scan, and how publishing and updates work. Details are current as of October 2026, and the portal is in early rollout, so treat exact labels and limits as current-not-permanent.
What is the Claude plugin directory, and how is it different from the Marketplace?
Three names get thrown around, so pin them down before you start.
- Claude Marketplace (claude.com/marketplace) is the website where people browse plugins, connectors, partner products, and service partners. The storefront.
- The directory (claude.ai/directory) is the catalog people actually install from, inside Claude on web, desktop, mobile, Cowork, and Claude Code.
- The developer portal (claude.ai/directory/manage) is where you submit and manage listings.
There is no separate Marketplace submission. In Anthropic's words, "there's no separate Claude Marketplace submission, and you submit to the directory instead." The Marketplace launched with three sections (connectors and plugins; agents and products; service partners) and partners including Atlassian, Google, Microsoft, Notion, and Salesforce. For a builder, the practical takeaway is simple: the directory is the target, and the portal is the door.
A plugin is Anthropic's main way to package a third-party extension. It can bundle Agent Skills, references to MCP servers, or both, and in Claude Code it can also carry commands, hooks, and agents.
Can you submit? Check your plan and role first
This is the fastest way to get blocked, so confirm it before you touch the portal.
- Plan: Pro, Max, Team, or Enterprise. Free accounts can't submit.
- Role: on Pro and Max you submit from your own account, no role to check. On Team and Enterprise, an Owner submits. On Enterprise, an Owner can grant a custom Directory permission to other members under Organization settings > Roles.
- Organization: the listing belongs to the organization you submit from. For a plugin bundle, the first organization to submit a given repository folder holds that listing, and the portal refuses a second organization's submission of the same one. Submit from the account that should own the listing long term.
You also connect your GitHub account to claude.ai in that same organization. The portal checks that the connected account can push to the repository before it lets you create or submit, so a GitHub connection made in a different Claude organization won't carry over.
Plugin bundle or MCP connector: which are you submitting?
The portal asks "What would you like to submit?" and gives two kinds. Pick based on what you built.
| Plugin bundle | MCP connector | |
|---|---|---|
| What it is | A plugin folder with skills, commands, agents, hooks, and MCP server references | One remote MCP server people connect to for your app or data |
| Where it comes from | A GitHub repository (public before the listing goes live) | The server's URL, no repository needed |
| How it's listed | As a plugin with all its components | As a connector people connect to from the directory |
| Review | Automated validation plus a security scan on every version; a person reviews a new listing | Scanned for policy automatically; listed as Community by default, may be escalated to Verified review |
If you run the remote MCP server your plugin points at, Anthropic recommends submitting both: the server as a connector, and the bundle whose skills teach Claude how to use it. The connector submission gives your organization its own listing, a health-and-usage dashboard broken out by tool, and the option to pair the two listings so people see one set of tools instead of two. Point the bundle's MCP configuration at the same URL.
One deprecation to note: the directory no longer accepts local MCP servers packaged as desktop extensions (the .mcpb format). To distribute a local server, put it inside a plugin bundle.
What goes in a listable plugin bundle
The plugin folder is the folder that contains .claude-plugin/plugin.json, the plugin's manifest. It can sit at the repository root or in a subfolder. People who install the plugin get only that folder, so everything the plugin runs has to live inside it, and every component path in plugin.json has to point inside it.
Before you open the portal, make sure the folder has:
- A valid
plugin.json. Setname,description,author, andversion. Thenameis lowercase letters, digits, and hyphens, up to 64 characters, starting and ending with a letter or digit. Build it around your own product name. Reserved words as the whole name (claude,anthropic,official,plugin,mcp,test) are blocked, as is anything presenting the plugin as official or reusing another organization's name. - A README of at least 40 words in the plugin folder, preferably
README.md. The directory shows it as your listing's description. Words inside code blocks don't count. - A license. Add a
LICENSEfile to the plugin folder or setlicenseinplugin.json. No license, no listing.
Skills alone aren't a submission type. Per the docs, you put them in a bundle. If you've only ever shipped a single SKILL.md, the record-a-skill and how-to-use-skills workflows still apply, but for a public listing you wrap the skill in a plugin folder with a manifest.
How do you pass validation before you submit?
Validation runs twice: a loose local check, then the real one in the portal.
Run the local check first if you have Claude Code installed. From the folder that contains your plugin folder:
claude plugin validate ./your-plugin
A clean plugin prints ✔ Validation passed. This only confirms your files are well-formed. It does not check directory requirements like the README, the license, or whether a name is taken. The portal's Validate button runs every directory check and gives you a report before you submit anything.
The findings that block submission are the ones to fix first. The common ones:
- Unpinned package launchers. Pin every package a launcher runs to an exact version:
npx <package>@1.2.3, not@latestor a range. The same holds foruvx,pnpm dlx,bunx, and friends. - Secrets in files. Keep real credentials out of every file, examples included. Ask for each value through a
userConfigentry inplugin.jsonwithsensitive: true, and refer to it as${user_config.KEY}. - Non-https MCP URLs. A remote MCP server needs a
typeofhttp,sse, orwsand an absolutehttps://orwss://URL. - System-file litter. Strip
.DS_Store,Thumbs.db, and__MACOSXentries from the folder.
A separate class of findings doesn't block but gets held for a reviewer: look-alike names, forks that reuse the upstream name, package launchers and lockfile installs (because their dependencies resolve at install time), and scripts the validator can't read through. A hold isn't a rejection. It just means a human looks before the version goes live. A validation result applies to one commit, so if you push a fix, validate again.
How do you submit through the developer portal?
Once the plugin validates clean, the submission is a short wizard at claude.ai/directory/manage.
- Select Submit new, then choose Plugin bundle.
- On Source, enter the repository (a URL or
owner/repo), an optional plugin path if the folder isn't at the root, and an optional branch or tag to track. Select Validate, fix anything blocking, and validate again. - On Listing details, confirm how the plugin reads from
plugin.jsonand the README. - On Data handling, answer whether the plugin reads or stores personal data, sends data to undeclared services, how long it keeps data, and whether it targets people under 18.
- On Compliance, check the contact email and select all four acknowledgements.
- On Review and submit, choose how new versions arrive (GitHub push webhook, the default, or Scheduled check only), then select Submit for review.
A note on throughput: an organization can create up to 10 submissions in any 24-hour period, and drafts and withdrawn submissions count toward that limit. In a repository with several plugins, each plugin folder is its own submission.
How do the security scan and review work?
When you submit, the directory scans the newest commit on the branch or tag it follows. Each scan re-runs validation and adds a security scan that looks for behavior the plugin doesn't disclose: sending data somewhere undeclared, running hidden code, or changing Claude's permission settings.
Two moves get you through it:
- Describe everything in the README. Document what the plugin runs, sends, and fetches. A complete README doesn't make a behavior allowed, but undisclosed behavior is what the scan flags.
- Commit readable source. Minified, packed, or compiled code the scanner can't read is held for a reviewer.
A finished scan leaves a version in one of three states. It passes every check and can be published. It's held for a reviewer, who reads it before it can go live. Or it doesn't pass, and the portal lists the rules it breaks, including the category of a security finding such as "Sends data to an undisclosed destination." A first submission that fails the security scan is rejected, and only a rejected submission shows Resubmit for review. For a new version of an already-published plugin that fails, the listing keeps serving the last published version.
Review time isn't fixed. The portal shows each submission's status and who acts next, so you don't have to guess.
Publishing, updates, and the analytics you get
A version that passes still isn't live until it's published. By default you select Publish and an Anthropic reviewer publishes it, because a person reviews a new listing before its first version goes live. Anthropic can apply auto-publish settings afterward, so later passing versions go live on their own unless a version is held or you turn it off.
After the first listing, you maintain it the way you already ship. Merge to the tracked branch, and the directory picks up the commit, scans it, and publishes it per your publish setting. You only return to the portal when a version is held or you want to change a setting. Raise version in plugin.json with every release.
The payoff for listing, beyond distribution, is data. A published plugin's Usage tab shows installs, versions, how often each skill and MCP server runs, and error rates. Discovery metrics show listing views and the search terms that lead people to you, which is the same optimization loop that AI visibility work runs on content. A listed MCP connector gets a dashboard with server health and usage by tool.
The short version
If you want a checklist to work down:
- Confirm a paid plan and the right role, and connect GitHub in the submitting organization.
- Build the plugin folder:
plugin.jsonwith a clean name, a README of 40-plus words, a license, pinned package versions, no secrets, https-only MCP URLs. - Run
claude plugin validatelocally, then Validate in the portal, and fix every blocking finding. - Submit, clear the security scan by disclosing behavior and committing readable source, then publish.
- Keep the listing current by merging to the tracked branch and bumping
version.
The directory is young, and the bar is mostly about being honest and well-formed: say what your plugin does, don't hide code, pin your dependencies, and don't squat a name. Clear that bar and you're in the same catalog as the launch partners, with install numbers to show for it.
- https://claude.com/docs/directory/publish
- https://claude.com/docs/plugins/submit
- https://claude.com/docs/plugins/pre-submission-checklist
- https://claude.com/blog/build-plugins-for-claude
- https://www.unite.ai/anthropic-opens-directory-submission-portal-for-claude-plugins/
- https://www.ghacks.net/2026/09/27/anthropic-launches-claude-marketplace-with-more-than-2000-connectors-and-plugins
