MCP Registry Integrity Report · study · published 2026-09-29 · data to 2026-09-29 · all numbers as JSON

The state of the MCP registry, August 13 to September 29, 2026

Correction, September 30, 2026. 73% of the "high" findings in this study (6,245 of 8,554) are a server's references to its own sibling tools, which is normal behaviour, not a risk. Excluding them, servers with high or critical findings fall from 289 to 193: 9.3% of the 2,073 servers, not 13.9%. At least 118 of 450 "critical" findings are negated phrasings (for example "rather than silently dropping"). Per-server verdicts on this site now exclude sibling references; the detector will be tightened before the next edition.

Summary. We probed every public server in the Model Context Protocol registry every six hours for 47 days (20,285 probes, 2,073 servers that returned tools, 35,815 distinct tools). We hashed each tool's name, description and schema on every probe and ran eleven pattern detectors over the descriptions. Three findings matter to anyone who installs an MCP server from the registry:

13.9%288 of 2,073 servers carry at least one high or critical finding; 66 (3.2%) are critical
14.8%306 servers changed their tool surface within 47 days; 208 changed existing tools
70 serversacquired 994 new high or critical findings more than a week after we first saw them
The registry entry you vetted is not the server you run. 45.7% of all high or critical tool findings were not present when the server was first probed.

1. What the detectors found

A finding is a tool description containing text aimed at the model rather than the user. The critical detectors are instructions hidden from the user, explicit user concealment, exfiltration patterns (send data to an outside destination) and zero-width characters. High-severity detectors are references to secret material (keys, tokens, credentials), instructions directed at the model, mandatory-call directives and cross-tool references. Cross-tool references are often benign orchestration hints, which is why the headline numbers separate critical from high.

detectorseverityserversshare of serverstoolsfindings
cross_tool_referencehigh23511.3%3,2026,090
secret_material_referencehigh1235.9%1,1101,729
user_concealmentcritical552.7%142364
model_directed_instructionhigh532.6%337454
url_in_descriptionlow502.4%8431,702
mandatory_call_directivehigh311.5%3838
oversized_descriptionlow130.6%35120
exfiltration_patterncritical100.5%1841
instruction_hidden_from_usercritical90.4%2121
instruction_overridehigh20.1%55
zero_widthcritical20.1%66

The two servers with zero-width characters are both from one publisher (com.makeupar/beauty, com.makeupar/creators); the characters sit inside tool descriptions where a human reviewer cannot see them.

2. Findings appear after listing

For every high or critical (server, tool, detector) triple we compared the first time the finding was seen with the first time the server was probed.

when the finding first appearedtool-detector pairsservers
present at first probe2,635235
appeared within 7 days1,22385
appeared after 7+ days99470

Examples of findings that appeared 45 days or more after the server was first listed (each links to the server's full history):

servertooldetectorfirst probefirst finding
co.lovie/company-formationapproval_session_get_approval_session_statuscross_tool_reference2026-08-132026-09-28
co.lovie/company-formationcap_table_get_list_cap_table_securitiesmodel_directed_instruction2026-08-132026-09-28
co.lovie/company-formationcommit_transfercross_tool_reference2026-08-132026-09-28
co.lovie/company-formationrequest_transfer_approvalcross_tool_reference2026-08-132026-09-28
cloud.theprotocol/registrytheprotocol_disable2FASelfsecret_material_reference2026-08-132026-09-27
cloud.theprotocol/registrytheprotocol_regenerateBackupCodessecret_material_reference2026-08-132026-09-27
cloud.theprotocol/registrytheprotocol_requestSelfRevocationsecret_material_reference2026-08-132026-09-27
cloud.theprotocol/registrytheprotocol_setup2FAsecret_material_reference2026-08-132026-09-27
com.meta-council/decision-intelligencecreate_portfolio_report_sharecross_tool_reference2026-08-132026-09-28
com.meta-council/decision-intelligenceget_portfolio_report_share_receiptcross_tool_reference2026-08-132026-09-28
com.meta-council/decision-intelligencesave_attention_notification_rulesecret_material_reference2026-08-132026-09-28
com.meta-council/decision-intelligenceticket_authoritycross_tool_reference2026-08-132026-09-28

3. How fast servers change

Of the 208 servers that changed an existing tool, 39 did so within a day of first being seen, 92 within a week, 75 within a month. Churn is concentrated: the ten most active servers account for 60.7% of all 37,597 change events, and 4,620 of them belong to io.github.Hlobo-dev/tengu-firm alone. Tool removals (18,286) come from just 19 servers that publish and withdraw large tool sets.

kindseverityeventsservers
removedinfo18,28619
mutatedmedium8,707186
mutatedhigh4,930169
addedinfo3,492150
addedhigh1,781135
mutatedcritical32342
addedcritical7825
ISO weekchange eventsservers changing
2026-324,397191
2026-337,782138
2026-342,75640
2026-357,451151
2026-363,70940
2026-377,03244
2026-383,62442
2026-3984625

4. Registry health

state at last probeservers
reachable, tools listed2,043
auth required25
server error (5xx/52x)9
other/timeout5
reachable, zero tools4
gone (404/410)4

11 servers that once listed tools have been failing for seven days or more. Servers average 17.3 tools; 131 expose 50 or more and the largest (io.github.davidmosiah/delx-mcp-a2a) exposes 1,082. 800 tool descriptions exceed 2,000 characters and the longest is 23,132 characters, which is where instructions hide. Only 2 servers answer with HTTP 402 (payment required).

5. Servers with the most critical and high findings

servercriticalhighdetectorsfirstlast
io.github.WellApp-ai/well-mcp93347exfiltration_pattern,user_concealment,model_directed_instruction,cross_tool_reference,secret_material_reference2026-08-142026-09-28
app.flaim/mcp52474user_concealment,cross_tool_reference,secret_material_reference,model_directed_instruction2026-08-132026-09-29
io.github.hermoso-ai/hermoso33378user_concealment,exfiltration_pattern,secret_material_reference,cross_tool_reference,model_directed_instruction2026-08-182026-09-01
com.gribstream/mcp2622user_concealment,cross_tool_reference,model_directed_instruction2026-08-132026-08-20
com.meta-council/decision-intelligence23213user_concealment,cross_tool_reference,secret_material_reference2026-08-132026-09-28
cloud.dchub/mcp-server16832user_concealment,cross_tool_reference,secret_material_reference,model_directed_instruction2026-08-132026-09-29
ing.crank/crank14297user_concealment,cross_tool_reference,secret_material_reference,model_directed_instruction2026-08-142026-09-24
dev.busymate/busymate-devtools1249user_concealment,cross_tool_reference,secret_material_reference2026-08-142026-09-06
io.github.cnghockey/sats4ai11166user_concealment,cross_tool_reference,secret_material_reference,model_directed_instruction2026-08-152026-09-28
ai.dreamlit/mcp110instruction_hidden_from_user2026-08-132026-08-13
io.github.Hlobo-dev/tengu-firm9175user_concealment,cross_tool_reference,model_directed_instruction,secret_material_reference2026-08-142026-09-14
com.local-mcp/local-mcp9173exfiltration_pattern,user_concealment,cross_tool_reference,secret_material_reference2026-08-132026-09-12
dev.primitive/email958exfiltration_pattern,user_concealment,secret_material_reference,cross_tool_reference2026-08-142026-08-20
io.github.BigRedCloud/red-mcp-server7295user_concealment,exfiltration_pattern,secret_material_reference,cross_tool_reference,model_directed_instruction2026-08-142026-08-14
app.railway.up.engine-production-3bdc/vhgengine7180user_concealment,secret_material_reference,cross_tool_reference,model_directed_instruction2026-08-132026-09-18
com.newscatcherapi/catchall6175user_concealment,exfiltration_pattern,secret_material_reference,cross_tool_reference,model_directed_instruction2026-08-132026-09-22
io.github.TotesMagotes/mcp-server-auth691user_concealment,cross_tool_reference,model_directed_instruction2026-08-142026-09-10
io.github.DigbyO/colour-memory689user_concealment,cross_tool_reference,secret_material_reference2026-08-142026-09-29
co.lovie/company-formation581instruction_hidden_from_user,user_concealment,cross_tool_reference,model_directed_instruction,secret_material_reference2026-08-132026-09-28
com.a2awire/a2awire534user_concealment,secret_material_reference,cross_tool_reference2026-08-132026-09-26

Method and caveats

Sources: registry.modelcontextprotocol.io (server list), our six-hourly probes (raw counts at /v1/summary.json). Population: every server entry in the public MCP registry with a reachable remote endpoint (2,090 probed, 2,073 returned tools). Cadence: one tools/list call per server every six hours from 2026-08-13 to 2026-09-29. Fingerprint: SHA-256 over name, description and input/output schemas. Detectors are regular-expression and heuristic patterns; they flag text, not intent, so individual findings can be false positives and every row above links to its evidence. Servers requiring authentication (25) have no fingerprints and are excluded from prevalence rates. Counts are point-in-time as of 2026-09-29 03:18 UTC; the live report on the front page updates every six hours. Data and this text are CC BY 4.0; cite as "agentexchange.work, The state of the MCP registry, Aug 13 to Sep 29 2026, https://drift.agentexchange.work/study/2026-09".

If your agents depend on a listed server, watch it. ToolDrift re-probes every six hours and alerts you when a server you use changes a tool or trips a detector: tooldrift.agentexchange.work, $29/month, card or USDC. Free per-server history: https://drift.agentexchange.work/server/<name>.

agentexchange.work · study JSON · live summary JSON · llms.txt