State of MCP servers and agent skills, Q4 2026

Safety checks from the run of 14 October 2026, everything else as of 15 October 2026.

The short version

Why look at this now

When you add an MCP server or a skill, your coding agent loads code and text someone else wrote and acts on it. Three incidents since July 2025:

CVEs in the NVD whose text names an MCP server, by publish quarter: 0 in Q1 2025, 4, 25, 16, 27, 61, then 120 in Q3 2026, and 13 from 1 to 15 October 2026

How many CVEs name an MCP server?

The National Vulnerability Database had 120 CVEs published in the third quarter of 2026 whose text contains the phrase “MCP server”, up from 61 the quarter before and 4 in the second quarter of 2025.

Quarter CVEs
Q1 2025 0
Q2 2025 4
Q3 2025 25
Q4 2025 16
Q1 2026 27
Q2 2026 61
Q3 2026 120
Q4 2026, 1 to 15 October 13

A keyword count is rough. It catches CVEs in MCP servers and in tools that mention one, and it misses records that say “Model Context Protocol” without “MCP server”. The trend is the same with either phrase.

The run of 14 October covered the 65 popular ones listed on Best of Vibe Coding that day (51 skills and plugins, 8 MCP servers, 6 that are both; the smallest has 17k GitHub stars). We run the same 18 checks on every listed MCP server and skill once a week, so the next run picks up projects added since.

18 of the 65 pass every check that applies. A skill has no npm package to trace and a server may have no skill folder to scan, so between 5 and 17 checks apply to each project, 10 on the median.

# Check Fail Applies to
13 A private way to report a vulnerability 19 65
4 No advisories at CVSS 7 or higher with a fix available 18 36
7 No binaries or archives in agent or server folders 9 64
2 Listed in the official MCP Registry under the owner’s name 7 14
9 No download-and-run lines in files the agent reads 7 60
17 No shell commands built from input, no unchecked URL opening 7 14
3 Build provenance on the latest release 5 11
8 No dangerous CI workflow 4 56
12 No override, concealment or secret-file instructions 4 62
5 No install-time scripts 2 11
11 No hidden Unicode in text the agent reads 2 64
14 Maintained 1 65
1 The package points back to its repo 0 11
6 No hardcoded keys or tokens 0 62
10 HTTPS endpoints, no keys in shipped MCP config 0 43
15 No fake prerequisite or installer steps 0 63
18 HTTP endpoints check auth or stay on localhost 0 4
16 No email recipients added since the last version, no hidden BCC 0 0

Check 16 compares a project’s code with the version we checked before it, and this is the first run that records addresses, so it applies to none yet. Eight new results in 6 projects (3 for keys in code, 4 for download-and-run lines, 1 for an installer step) are waiting for us to read them and count as “does not apply” here, as they do on the project pages.

The counts include 4 corrections where a check got it wrong; each project page shows the correction and its reason.

Advisories depend on what we can read. For projects that ship an npm or PyPI package, we read the latest version and the dependencies it installs. For the others we read the lockfile at the repo root, which can hold build and test tools that never reach your machine, and a check 4 fail there may sit in one of those.

19 list no private way to report a vulnerability. No security policy, and GitHub’s private reporting is off, so a person who finds a hole has to open a public issue or go looking for an email address.

Each result names what was read. All 65 results carry the commit and a hash of its files; 11 projects also pin the npm or PyPI version and its hash (18 packages, 15 on npm and 3 on PyPI), and the other 54 publish no package we trace. One project’s result changed against the run before it.

Do MCP servers and skills go quiet?

We list 103 MCP servers and skills today and have commit and release dates for 88 of them; we have not measured the 15 newest yet. Of the 88, 2 have gone 6 months without a commit or a release, none of them from the safety run, and none is archived. Across the 544 projects we have dates for on both lists, 41 have gone quiet (26 on Best of Vibe Coding, 15 on Best of Open-Source AI).

That reflects how we pick: we list projects people already use, and their maintainers keep working on them. We have no numbers for a registry with tens of thousands of entries.

Did any licenses change?

We recorded none. We started storing the license GitHub reports for each repo, every day, on 13 October 2026, so this covers three days. The next edition of this report will cover a full quarter.

How the checks work

What we cannot check

A pass means we did not find that pattern in the files on the day we read them.

About this report

We had no sponsor for this edition. The checks are the public ones on our methodology page, and the numbers come from the same weekly run every project page shows. If a later edition has a sponsor, its cover and the top of the report will name it. A sponsor sees the results when readers do and changes no number and no word of the findings, and a sponsor with a project on our lists gets the same checks as everyone else.

If a result looks wrong, tell us and we’ll fix it. The method, the sources and every check are on the methodology page.