How we rate servers
Every server in this catalogue carries a maintenance label. It answers one question: is anyone still working on this? That is the first thing you want to know before you wire a server into your editor, and no other MCP directory tells you.
The label
The label comes from the date of the most recent commit, recalculated daily.
- Active — a commit within the last 60 days.
- Slow — a commit within the last 180 days.
- Dormant — older than that, or the repository is archived, or the registry marks it deprecated.
A stale package release on an otherwise active repository is flagged separately rather than counted against it. A project that commits every week but has not cut a release since spring is being maintained; treating it as stale would rank it below something that has genuinely stopped.
What we deliberately leave out
Stars do not affect the rating. Popularity is not maintenance, and weighting by stars would push this list back into the same order every other directory already shows you. The whole point of sorting by maintenance is that it produces a different answer.
Where the data comes from
Server metadata comes from the official MCP registry, which is a metaregistry: it holds pointers to npm, PyPI and container images rather than code, and it applies minimal moderation by design. Everything that arrives from it is a candidate, not an endorsement. Commit dates, stars, licences and archive status come from GitHub; package versions from npm and PyPI.
Where the configs come from
Configuration blocks are generated from hard fields — package name, registry, transport, environment variable names — using fixed rules. No language model touches them. A config that looks plausible but is wrong costs you half an hour of debugging, which is worse than showing nothing at all.
The written summaries are generated from each project's README, then filtered: anything too short, anything that reads like marketing copy, and any tool name that does not appear in the package data is discarded. Where a summary was rejected, the page falls back to the registry description.
Something wrong?
If a server is mislabelled or a config does not work, the fastest fix is to open an issue against the entry. Corrections propagate on the next daily run.