Methodology
MCP Morning ranks MCP servers once a day from public data only. We never run or test servers, and rankings are never for sale.
Sources
- Official MCP Registry (registry.modelcontextprotocol.io): the catalog, packages, remote endpoints and first publish date.
- GitHub: stars, forks, creation date, last push, archived flag, license and topics.
- npm (api.npmjs.org) and PyPI (pypistats.org): downloads over the last 7 days and the 7 days before.
Registry entries pointing at the same GitHub repository are merged into one server.
Most used
Each signal is log-scaled and turned into a percentile across all servers:
usage = 0.55 x downloads_7d + 0.35 x stars + 0.10 x forks
Servers without a package on npm or PyPI use 0.80 x stars + 0.20 x forks. A server is ranked only if it is not archived,
was pushed to within the last year, and has at least 10 stars or 200 weekly downloads.
Rising
rising = 0.5 x star gain over 7 days + 0.5 x week-over-week download growth (percentiles). Until we have a week of daily
snapshots, only download growth is used. A server needs at least 20 stars or 200 weekly downloads to qualify.
New
Servers whose GitHub repository was created in the last 30 days (or, without a repository, first published to the registry in
the last 14 days), ranked by 0.6 x stars + 0.4 x downloads percentiles.
Health labels
- active: pushed in the last 90 days
- at-risk: last push 90 to 365 days ago
- stale: no push for over a year
- archived: the repository is archived
Limitations
Stars can be gamed and downloads include CI traffic. A high score means popular, not safe or correct. Always review a server's code and permissions before connecting it to your agent.