Name your Sume plugin right: claude- and anthropic- prefixes fail
claude plugin validate errors on plugin names that pass as Anthropic's own. Pick a name for a Sume hosted MCP plugin that validates, and see what still loads.

Do not call a Sume plugin claude-sume or anthropic-sume. The plugin manifest reference says claude plugin validate errors on any name that starts with claude-, anthropic-, anthropics- or cc-plugin-, and on the bare names claude, anthropic, anthropics, claude-code and claude-mods. A name such as sume-media or sume-mcp is clear.
The naming rules in one table
These rules come from the name section of the reference.
| Name | Result | Why |
|---|---|---|
| claude-sume | Error | Starts with claude- |
| anthropic-media | Error | Starts with anthropic- |
| official-claude-tools | Error | official beside claude |
| mcp-for-claude | Warning | claude as a whole word elsewhere |
| sume-media | Passes | No reserved word |
| Sume Media (with space) | Invalid | Names may not contain spaces; use kebab-case |
Why the name matters beyond the validator
Claude Code namespaces every component under the plugin name. A skill called render in sume-media shows as sume-media:render, so the name is what your teammates will type. Use displayName for a friendlier label with spaces; it does not affect namespacing or lookup.
The reference adds a detail worth knowing: only the init and tag commands and validate check the reserved names. Claude Code still installs and loads a plugin whose name they refuse. So a bad name may not break your machine, but it will fail CI that runs validate, and it implies an affiliation with Anthropic that Sume does not have.
Steps
Create the directory, add .claude-plugin/plugin.json with "name": "sume-media", and run claude plugin validate. Add --strict in CI so warnings fail the build. Then add the MCP server entry for https://mcp.sume.com/mcp, either inline under mcpServers or in a .mcp.json at the plugin root.
- Kebab-case only, no
@,:or path separators. - Set
displayNametoSume Mediaif you want spaces in the UI. - Declare the Sume URL once; a server name declared later replaces an earlier one.
A quick pre-publish check
Before you share the plugin, read the validator output line by line. The reference separates three results: validation passed, validation passed with warnings, and validation failed. A warning covers things like a name that is not kebab-case or a missing version, description or author. A failure covers type mismatches, paths that escape the plugin root, and unknown keys inside strict objects such as a userConfig option.
Add a version, a description and an author so the warnings stay quiet. Setting version also pins users to that version until you change it, which is useful when a Sume entry changes URL or auth. Anthropic's directory reads listing fields such as documentationUrl and supportUrl only from plugin.json, so keep them there if you plan to submit.
What Sume does not do
This post does not describe an official Sume plugin, and the name you choose implies no endorsement by Sume or Anthropic. The connector itself is the hosted endpoint at https://mcp.sume.com/mcp, which you can reach with OAuth or an API key as described in the Sume hosted MCP docs.
Sources
Related posts
More in Developers
- Plugin lists Sume twice? In Claude Code the later declaration wins
Claude Code loads a plugin's .mcp.json first, then mcpServers from plugin.json; a name declared later replaces an earlier one. Keep one Sume entry.
- claude plugin validate --strict in CI: what it checks in a Sume entry
Run claude plugin validate with --strict so warnings fail the build. The MCP checks that hit a Sume entry: undeclared keys, bad URLs, literal credentials.
- Claude tool search limits: 200-char regex, 500-char BM25, 5 results
Claude's tool search tool has fixed limits on pattern length, results and deferred tools. What they mean for a Sume hosted MCP tool list.
- Cloudflare Queue consumer 15 min wall time: poll a Sume job
A Queue consumer on Cloudflare can run 15 minutes of wall time, but a Sume job can wait longer. Re-enqueue with a delay and honor next_poll_after_seconds.
Written by Sume