Home · Guides

Count the competition for a name before you pick it

Registry search matches a substring of the server name and returns matches sorted by that name. So the useful question about a candidate name is not whether it is taken, it is how many rows already match the word you want and where your namespace would land among them. Both are one API call.

curl -s 'https://registry.modelcontextprotocol.io/v0/servers?search=<token>&limit=100&version=latest' \
  | python3 -c 'import json,sys; d=json.load(sys.stdin); print(d["metadata"]["count"])'

version=latest matters. Without it the endpoint returns one row per published version, not one per server, and the count is meaningless. One publisher in this registry holds 739 version rows for a single server.

29 tokens, measured 2026-09-09

"Servers" is the count at version=latest; a plus sign means the page of 100 was full and the true count is higher. The last three columns are the position of the first row in each namespace family, which is what your own rank would be bounded by.

TokenServersFirst ai.First com.First io.github.
github100+1410
search100+146none on page 1
memory100+11340
agent100+1none on page 1none on page 1
crypto100+1929
pdf100+1428
email931527
late841422
weather791315
invoice73none3246
browser571514
aws491510
calendar381712
postgres341none15
database251512
figma22none13
schedule22none18
docker211none3
slack20135
delivery18none14
jira16123
stripe13none13
notion12124
filesystem11none12
excel11none24
sqlite91none3
linear8nonenone2
milestone3none12
kubernetes2nonenone1

Three things the table says

The spread is two orders of magnitude. kubernetes returns 2 servers and github fills a page of 100 with the cursor still set. A word that feels equally obvious to you can be uncontested or hopeless, and there is no way to guess which.

An ai. namespace holds first place on 19 of the 29 tokens. That is not a quality signal, it is the alphabet. Anything published under ai.something sorts before every com., dev. and io. row that matches the same word.

The crowded tokens are crowded at the top. On search the first com. row is 46th and no io.github row reaches page one at all. Choosing a narrow word is the only move available to a publisher who cannot change namespace, and it works: on milestone, 3 servers match and everybody is visible.

How to use this when naming

  1. Write down the two or three words a person would actually type. Not your product name, the noun for the job.
  2. Run the count on each. Under about 20 matches, everyone on the list is reachable. Over 100, assume your rank is decided by your namespace and nothing else.
  3. Prefer a compound that keeps the common word and adds a rare one, so you match the broad query and rank inside the narrow one. A name containing both delivery and milestone appears in an 18-row list and a 3-row list.
  4. Check the whole list, not the count. Two of the tokens above return a handful of servers that are all abandoned, which the count alone will not tell you.

What no naming choice can fix is the namespace prefix, which is compared before your first character. That is measured separately in how MCP registry search actually works.

Source: the live registry API at registry.modelcontextprotocol.io/v0/servers, one call per token at limit=100&version=latest on 2026-09-09. Every result set was checked against its own byte-order sort and every one matched. This project publishes its own catalogue of MCP servers and chose their names before measuring any of this, which is how the gaps in the table were found.

Questions

Why does the count stop at 100?

That is the maximum page size. When metadata carries a next cursor the real count is higher, and you have to paginate to learn it. For naming purposes a full page already answers the question: the token is crowded.

Does a low count mean the word is available?

It means few names contain it. Nothing stops someone else publishing the same word tomorrow, and nothing reserves it for you. The count is a measurement of a moment, which is why it is worth rerunning before you commit.

Should I put mcp or server in the name?

Both are near-universal, so they add nothing to a search that is already restricted to MCP servers, and they consume characters. The one case for them is a package name that will also appear on npm or PyPI, where the context is missing.

Does the description help me get found?

Not through this endpoint. Search matches the name only. A description is what a person or a model reads once you are on the list, which makes it decisive for selection and irrelevant for retrieval.

How stable are these numbers?

The registry is growing, so counts drift upward and ranks drift downward. A measurement filed on the registry's issue tracker on 2026-09-07 put the whole table at 28,139 entries. Rerun the call rather than quoting this table back at yourself in six months.

Related

All MCP servers and prices · All guides · Buy the bundle $39