Plugin developer guide
Submit a Cursor plugin for marketplace review
By HOL · Reviewed by Michael Kantor on
Direct answer
A Cursor plugin needs a .cursor-plugin/plugin.json with at least a name; its rules, skills, agents, commands, MCP servers and hooks are found in their default folders. Use hol-guard plugin package --runtimes cursor to write the MCP config from an existing plugin, check it, then submit at cursor.com/marketplace/publish. Every plugin and every update is reviewed by hand, and plugins must be open source.
Who this is for
Authors of an MCP server or agent plugin who want it listed in the Cursor marketplace.
Good fit
- An MCP server that already ships for Claude Code or Codex
- A plugin bundling rules and MCP servers for one team
- A maintainer preparing a first marketplace submission
Not a fit
- Closed-source plugins, which the Cursor marketplace does not accept
Steps
1.Install HOL Guard
The Plugin Kit ships inside HOL Guard. It needs Python 3.10 or newer and pipx. If Guard is already installed, upgrade it so the Kit commands below are available.
pipx install hol-guard pipx upgrade hol-guard hol-guard --version2.Check the plugin
The check detects every manifest in the folder, lists skills and MCP servers, and reports what each runtime would reject. It exits 0 when the plugin passes, 1 when it has errors and 2 when it could not run. It reads only the folder, runs no commands and makes no network calls.
hol-guard plugin check .3.Write the Cursor MCP config
Packaging for Cursor writes
.cursor/mcp.jsonwith each MCP server in Cursor syntax. Environment variables become${env:NAME}references and values are never copied. The Kit does not write rules, agents or the plugin manifest.hol-guard plugin package . --runtimes cursor --out dist/hol-plugin4.Add the plugin manifest
Create
.cursor-plugin/plugin.jsonwith the pluginname. Components are found in their default folders, or you can point the manifest at custom paths.5.Submit for review
Submit the public repository at cursor.com/marketplace/publish. Each plugin is reviewed by hand before it is listed, and each update is reviewed before it is published. Teams and Enterprise plans can also run a private team marketplace with Default Off, Default On or Required installs.
6.Add the install block to your README
hol-guard plugin links --blockprints a README block betweenhol-install-blockmarkers: onehol-guard plugin installcommand, how to get HOL Guard, and each runtime's own install commands for the runtimes the repository already supports. Paste it into the README; HOL finds it on its next scan and shows the install count on your listing once enough installs are reported.hol-guard plugin links . --block7.Connect the repository on HOL
Open the connect page with your repository to verify ownership and claim the listing.
hol-guard plugin linksprints the same link with the repository filled in.hol-guard plugin links .
Limitations
- The Kit writes Cursor MCP config only. Rules, agents, commands and hooks are yours to add.
- Cursor decides what it lists; a clean Kit check does not guarantee approval.
- A listing, a passing check or a marketplace review is not a safety guarantee. HOL shows its scan evidence on the listing so users can judge for themselves.
Questions
Does my plugin have to be open source?
Yes. The Cursor marketplace accepts only open-source plugins and reviews each update before it is published.
Can I offer the plugin to my team without a public listing?
Yes. Team marketplaces on the Teams and Enterprise plans let an admin choose who sees a plugin and whether it installs by default.
Sources
Related guides
List it on HOL
Connect the repository to verify ownership and claim the listing. New plugins can be submitted for free.