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. 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 --version
  2. 2.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. 3.Write the Cursor MCP config

    Packaging for Cursor writes .cursor/mcp.json with 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-plugin
  4. 4.Add the plugin manifest

    Create .cursor-plugin/plugin.json with the plugin name. Components are found in their default folders, or you can point the manifest at custom paths.

  5. 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. 6.Add the install block to your README

    hol-guard plugin links --block prints a README block between hol-install-block markers: one hol-guard plugin install command, 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 . --block
  7. 7.Connect the repository on HOL

    Open the connect page with your repository to verify ownership and claim the listing. hol-guard plugin links prints 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

List it on HOL

Connect the repository to verify ownership and claim the listing. New plugins can be submitted for free.