Plugin pre-flight for the Claude, Codex and Cursor directories
Free. Rules last read .
Pre-flight reads a public GitHub repository at its latest commit and checks the plugin folder against the submission rules each directory publishes: manifest, name, README, license, file limits, MCP server URLs, pinned launchers and hooks. Each result says whether the directory would block the submission, may hold it for review, or has nothing to flag, and links the rule it comes from. Pre-flight is free and does not submit anything. Passing it is not an acceptance: every directory also runs its own review.
Results for BSVKey/inference-mcp
Checked repository root at 32165ca on main.
Claude plugin directory
Would blockThe directory rejects submissions with at least one of these issues.
BlocksNo .claude-plugin/plugin.json in the plugin folder
Add .claude-plugin/plugin.json at the root of the plugin folder.
Rule: Plugin pre-submission checklist, read
Not checked here
- Whether another organization already uses the name, and brand look-alikes.
- The security scan that runs after you submit, and the Anthropic Software Directory Policy.
ChatGPT and Codex plugin directory
Would blockThe directory rejects submissions with at least one of these issues.
BlocksNo plugin.json or .codex-plugin/plugin.json
Add plugin.json at the plugin root (or .codex-plugin/plugin.json).
Rule: Build plugins, read
Already listed on HOL? Open a pull request that adds this manifest from your owner page. It is generated from your Claude manifest and you review it before merging.
Not checked here
- Listing fields entered in the portal: display name, short description, category, support and privacy URLs, test cases.
- Domain verification and review of the MCP server.
Cursor Marketplace
Would blockThe directory rejects submissions with at least one of these issues.
BlocksNo .cursor-plugin/plugin.json or plugin.json
Add .cursor-plugin/plugin.json (or a root plugin.json).
Rule: Plugins reference: submission checklist, read
Already listed on HOL? Open a pull request that adds this manifest from your owner page. It is generated from your Claude manifest and you review it before merging.
Not checked here
- Name uniqueness and the manual security review of every version.
How pre-flight works
- It reads the file list of the repository at the latest commit on its default branch, and the manifests, MCP config, hooks file and README in the plugin folder. Nothing is cloned or run, and nothing is stored apart from a daily count of runs.
- Each check comes from a rule a directory publishes. A rule that rejects the submission outright counts as would block; a rule that sends it to a reviewer counts as may block.
- With several plugins in one repository, pick a folder from the list above the results, or type the folder path.
Rules checked
Every rule links the page it comes from. Directories change their rules; the date shows when HOL last read each page.
Claude plugin directory
| Rule | Outcome | Source |
|---|---|---|
| No .claude-plugin/plugin.json in the plugin folder | Blocks | Plugin pre-submission checklist |
| plugin.json is not valid JSON | Blocks | Plugin pre-submission checklist |
| Plugin name has non-ASCII characters | Blocks | Plugin pre-submission checklist |
| Plugin name is not lowercase kebab-case (up to 64 characters) | Warning | Plugin pre-submission checklist |
| Plugin name is a reserved word | Blocks | Plugin pre-submission checklist |
| Plugin name is made only of generic words | Held for review | Plugin pre-submission checklist |
| description, author or version is missing from plugin.json | Warning | Plugin pre-submission checklist |
| README missing or under 40 words | Blocks | Plugin pre-submission checklist |
| No license | Blocks | Plugin pre-submission checklist |
| macOS or Windows system files in the plugin folder | Blocks | Plugin pre-submission checklist |
| Symbolic links or Git submodules in the plugin folder | Blocks | Plugin pre-submission checklist |
| Repository too large to validate | Blocks | Plugin pre-submission checklist |
| Files over 256 KiB that are not images or fonts | Held for review | Plugin pre-submission checklist |
| More than 512 files in the plugin | Held for review | Plugin pre-submission checklist |
| Binary files the validator cannot inspect | Held for review | Plugin pre-submission checklist |
| npx, uvx or another launcher runs an unpinned package | Blocks | Plugin pre-submission checklist |
| A launcher runs a package from a registry | Held for review | Plugin pre-submission checklist |
| Package-manager config sets a custom registry next to a launcher | Blocks | Plugin pre-submission checklist |
| package.json with a lockfile at the plugin root | Held for review | Plugin pre-submission checklist |
| .mcp.json cannot be parsed | Blocks | Plugin pre-submission checklist |
| A remote MCP server URL is not https or wss | Blocks | Plugin pre-submission checklist |
| An MCP server ships as a .mcpb or .dxt bundle | Held for review | Plugin pre-submission checklist |
| hooks/hooks.json is invalid | Blocks | Plugin pre-submission checklist |
ChatGPT and Codex plugin directory
| Rule | Outcome | Source |
|---|---|---|
| No plugin.json or .codex-plugin/plugin.json | Blocks | Build plugins |
| plugin.json is not valid JSON | Blocks | Build plugins |
| Plugin name is missing, over 64 characters or not kebab-case | Blocks | Submit a plugin |
| version, description or author.name is missing | Blocks | Submit a plugin |
| Plugin contains lifecycle hooks | Blocks | Build plugins |
| A remote MCP server is not a public https endpoint | Blocks | Submit a plugin |
| More than one MCP server | Blocks | Submit a plugin |
| No logo in the manifest | Held for review | Submit a plugin |
Cursor Marketplace
| Rule | Outcome | Source |
|---|---|---|
| No .cursor-plugin/plugin.json or plugin.json | Blocks | Plugins reference: submission checklist |
| plugin.json is not valid JSON | Blocks | Plugins reference: submission checklist |
| Plugin name is missing or not lowercase kebab-case | Blocks | Plugins reference: submission checklist |
| No description | Warning | Plugins reference: submission checklist |
| No README.md | Blocks | Plugins reference: submission checklist |
| No open-source license | Blocks | Plugins |
| Manifest paths are absolute or leave the plugin folder | Blocks | Plugins reference: submission checklist |
What pre-flight cannot check
These need the directory's own data or a reviewer, so a clean pre-flight is never an acceptance.
- Claude plugin directory: Whether another organization already uses the name, and brand look-alikes.
- Claude plugin directory: The security scan that runs after you submit, and the Anthropic Software Directory Policy.
- ChatGPT and Codex plugin directory: Listing fields entered in the portal: display name, short description, category, support and privacy URLs, test cases.
- ChatGPT and Codex plugin directory: Domain verification and review of the MCP server.
- Cursor Marketplace: Name uniqueness and the manual security review of every version.
Related
- List your plugin on HOL and claim it to manage the listing from your owner page.
- How the HOL Trust Score is calculated
- What the HOL scan checks, and what it cannot catch