What I found scanning the top 500 MCP servers for security
Description and use
The author built a scanner to evaluate the top 500 MCP servers, finding 112 unique advisories, with only one server (PraisonAI) still vulnerable in its current version. Most servers scored high on security, though gaps in licensing and maintenance were noted.
Problem
MCP servers run code on the client machine and may expose vulnerabilities or change behavior after installation.
Outcome
The scan found 112 unique advisories across 6 servers, with only one (PraisonAI) still affected by current advisories. Median score 93, mean 92; 477 servers scored 85–100. The process revealed gaps in license visibility and maintenance status for some servers.
Workflow
- 1. Scan the official MCP registry for all server entries.
- 2. Filter entries that ship an npm or PyPI package and rank by last-week downloads.
- 3. For the top 500, collect OSV advisories, GitHub maintenance data, repo and license presence, registry metadata stability, and weekly download counts.
- 4. Score each server on a 0–100 scale based on advisories, maintenance, transparency, metadata stability, and adoption.
- 5. Identify servers with current version advisories and highlight them.
- 6. Generate nightly snapshots of registry metadata and diff for changes that affect code or data flow.
- 7. Alert only on changes that alter remote hosts, package identifiers, runtime commands, or required secrets.
- 8. Provide a checklist for users to follow before installing a server: check advisories, inspect command and args, limit secrets, verify public repo and license, confirm maintenance status, monitor remote hosts, and watch for post-install changes.
Evidence
Across all 500 servers, OSV returned 112 unique advisories. They hit only 6 servers.
The one server still affected is PraisonAI (io.github.MervinPraison/praisonai). OSV lists 104 unique advisories against its package, and 80 of them include the current registry version (2.3.42) in their affected range.
For the 500 servers, the median score is 93 and the mean is 92. 477 land in the "strong" band (85–100), 22 are "good" (70–84), 1 is "fair" (50–69), and none are poor.
- Record date: 2026-10-21T01:41:40.249Z