How to submit an MCP server to cursor.directory

By Jonah EasePublished Last checked

cursor.directory lists plugins, and an MCP server goes in as a component of one. The way in is the page /plugins/new, which sends you to sign in with GitHub or Google first[9]. Then you paste a repository and let the form detect what is in it, or fill the fields in yourself, and a security scan decides what happens next.

Auto or Manual

The form has two tabs, Auto (GitHub) and Manual[2]. Auto asks for a GitHub URL and a button labelled Scan repo. It looks for these files[1]:

ComponentPath
MCP servers.mcp.json (or mcp.json)
Rulesrules/*.mdc
Skillsskills/*/SKILL.md
Agents, hooks, LSPagents/*.md, hooks/hooks.json, .lsp.json

Detection follows the Open Plugins standard; read [1][3]

Manual asks for a name (at least 2 characters), a description (at least 10), optional repository and homepage URLs and keywords, and at least one component[4][2]. Either way, you click Publish Plugin yourself.

The scan, and what the banner says

Submitted plugins are reviewed by an automated agent against a fresh clone of the repository, which returns a verdict of safe, suspicious or malicious[1]. The plugin page shows the state to its owner[6]:

  • Scanning your plugin… it will appear publicly once the security agent finishes
  • Scan failed. An admin will re-run it shortly
  • Flagged by the security agent, with the plugin hidden pending manual review. The owner can edit the plugin and resubmit to trigger another scan.

The scan's instructions name the categories it looks for: malicious code, prompt injection, spam, NSFW content, impersonation and low quality. It also compares your plugin's name with existing active plugins, and a name collision alone is not disqualifying; it flags a substantive copy, or something that masquerades as an official or well-known plugin[5]. A safe verdict makes the plugin live, and in that code path no person is involved. A flagged new plugin stays hidden until someone reviews it; one that was already live is only taken down for a malicious or high-severity verdict, and lower ones go to the review queue[5].

Messages you can get, and who waited

MessageWhat to do
Invalid GitHub URL. Expected format: https://github.com/owner/repoPaste the repository root, not a subpage
Could not read repository…Make the repository public and check the URL
No plugin components found…Add one of the paths in the table above and push, then scan again, or use Manual
A plugin with this name or repository already existsPick another name, or check whether the repository is already listed
Too many plugin submissions in the last hourWait and try again

Wording from the form's source code[3][4]

The tracker shows the waits. On a submitter had 18 plugins stuck on "Scan failed" with no way to rescan[7], and another plugin sat flagged and hidden from with the author bumping the thread on 22 and 29 Sept[8].

By hand

Sign in, paste the URL, click Scan repo, check the detected components, and click Publish Plugin. If your repository has no .mcp.json, adding one at the root takes a minute; detection looks in a fixed set of paths.

Current status,

The directory's code moved to cursor/community-plugins, where the latest change I saw was merged on and GitHub counted 23 open issues and pull requests[1]. No page I found gives a review time.

Sources

  1. cursor/community-plugins: README (submission and scan) · checked
  2. cursor/community-plugins: the plugin form (plugin-form.tsx) · checked
  3. cursor/community-plugins: repository scan (parse.ts) · checked
  4. cursor/community-plugins: create-plugin action · checked
  5. cursor/community-plugins: the scan (scan.ts) · checked
  6. cursor/community-plugins: scan status banner · checked
  7. cursor/community-plugins issue 436: 18 plugins stuck on Scan failed · checked
  8. cursor/community-plugins issue 433: a plugin flagged and waiting for manual review · checked
  9. cursor.directory: sign in to submit plugins · checked

ManyCP is not affiliated with, endorsed by or sponsored by any directory, Docker, OpenAI, Anthropic or GitHub named here. Names are used to say which service a fact is about.

Or skip all of that

Or let ManyCP fill it in for you

ManyCP fills in every field and links straight to the form. You click send. On Pro, ManyCP files it by hand for you.

ManyCP prepares

  • The .mcp.json for your repo root (Auto) and for the content box (Manual)
  • Every Manual tab field

You do

  • Sign in
  • Commit the .mcp.json to your repo if you use Auto
  • Click Scan repo or Publish Plugin

More directories