mcpserver.lol
registry/methodology

How this data is produced

Most MCP directories repeat what a server's own description claims. This one connects to each server that exposes an endpoint and records what it actually answers with. That is a narrower claim than a complete catalogue, and the limits are set out below.

12,135
Servers listed
180,054
Tools recorded
8,220
Verified live
636
Confirmed unreachable

Where the listings come from

Three public sources, no scraping of other directories: the official MCP registry, GitHub repositories tagged mcp-server, and npm packages keyworded the same. A server routinely appears in all three, so entries are merged on registry name, normalised repository URL and package name.

How tools are recorded

For every server declaring a remote endpoint, we open a connection, send initialize, and call tools/list — the same handshake any MCP client performs. The returned names, descriptions, input schemas and behavioural hints are stored verbatim.

The limit: only 6,713 of 12,135 listed servers expose a remote endpoint. The rest are distributed as local stdio packages, which cannot be queried over a network without installing and running them. Those are marked local install and carry no tool inventory — 66% of listings have one.

Tool lists read from source, not from the server

Half the catalogue is distributed as local stdio packages that cannot be connected to. For those, tool names are read out of the published npm package instead: the tarball is downloaded from the registry and parsed. Nothing is installed and nothing is run, so no package lifecycle script from any publisher executes here.

This is inference, not observation, and the site says so everywhere it appears. 134,973 tools were returned by a running server; 45,081 were read from source across 1,948 packages, and each of those is labelled from source. A name found in code means the package declares that tool — not that a server answered with it. Descriptions are frequently missing, and packages whose tool names are generated at runtime yield nothing at all.

What “not responding” means

A server is only described that way after failing three separate checks on different runs. A single timeout is not treated as evidence: transient failures are common and a wrong badge on someone's working software is the most damaging mistake this site could make.

A server answering 401 or 403 is recorded as needs a key, never as broken — it is running, it just wants credentials. 3,678 listings are in that state. Rate-limit responses are treated as back-off and never count toward the failure total.

How categories and related servers are decided

Categories are assigned from published tool inventories where one exists, weighted three to one over the server's own description, and from name and description otherwise. Each assignment records which of the two it was.

Related servers are ranked by shared uncommon tools; where neither side exposes an inventory, shared wording is used instead and labelled as such. A tool that nearly every server exposes — get, search — carries no weight.

Duplicate listings

2,129 entries have been collapsed into a canonical one. These are cases where a single publisher registered many differently-described servers that all resolve to one backend and expose an identical tool set. Collapsed entries are unpublished rather than deleted, and their URLs still resolve.

This is only detectable by reading tool inventories, which is why directories working from descriptions list every variant at face value.

Ranking, and what cannot buy it

Ordering comes from stars, install counts, recency of changes and whether the server answered when we connected to it. None of that is purchasable, and there is no paid placement, sponsored slot or featured tier anywhere in the ranking.

The site carries display advertising, which sits in the sidebar and has no bearing on what appears or in what order. If those two ever conflict, the ranking wins.

Context cost

Every tool a server exposes is loaded into the model's context on each request — a name, a description and a JSON schema. Connecting a 143-tool server therefore costs something before you ask anything, and measurably degrades how well an agent picks between tools.

So each listing shows a context cost derived from its tool count. The bands are judgement rather than a benchmark, and the token figure is an order of magnitude at roughly 90 tokens per tool. It is published because a directory that counts tools is the only thing positioned to warn you, and because more tools is usually presented as better when it is a trade-off.

What this data is not

Star counts and download figures come from GitHub and npm and describe the whole repository or package. For a project where an MCP server is one feature among many, they are not a measure of the server.

Nothing here is a security review, an endorsement, or a test that a server does what its tools claim. A recorded tool means the server said it offers that tool.

Figures on this page are generated at build time from the same database that produces every listing.