Most of 19 audited MCP servers keep their context-injection surfaces out of the docs
A census scored 19 widely deployed servers on three disclosure questions drawn from the MCP spec, and the most common answer in every column was undocumented. That is the position agent teams are reviewing from.
The Product Desk
What happened
- A documentation census scored 19 widely deployed MCP servers against the Model Context Protocol specification's own definitions, recording only what each vendor's current docs disclose rather than what its code does.
- Across all three disclosure columns the most common answer was undocumented, which the authors treat as the finding, since a reviewer cannot evaluate a text-injection surface a vendor never mentions.
- The National Vulnerability Database published CVE-2026-75130 on August 18, 2026, a prompt-injection flaw in Context7, Upstash's widely installed MCP documentation server, affecting versions 0 through 2.1.2.
- Per the VulnCheck advisory the disclosed impact includes exfiltration of credentials from environment files and destructive file deletion, classified as CWE-1427 and credited to Eli Ainhorn of Noma Security.
- The two scoring frameworks disagree on the same flaw, with CVSS 3.1 rating it 9.0 critical and CVSS 4.0 rating it 6.4 medium.
Why it matters
- What it limits constraint A rollout review can only work from what the vendor published, so a surface nobody names never gets scoped or signed off, and the server stays connected while the ticket stays open.
- Who's exposed exposure Servers that skip a surface and servers that use it quietly occupy the same undocumented cell, so the operator carries an identical unknown in both cases with no way to tell which is in the config.
- Who has to decide decision Whichever CVSS version your ticketing pipeline was wired to years ago now decides whether flaws of this class page an on-call engineer or sit in a backlog queue.
- What it sets up precedent Because the columns come from spec primitives rather than an attack writeup, anyone can re-run them later, which turns vendor silence into a dated record a buyer can cite.
An engineer asks a coding agent for the current syntax of a library call. The agent queries an MCP documentation server, gets text back, folds it into context, and carries on. That is the shape of the request that carried the Context7 flaw: according to the audit, a free-text "Custom AI Instructions" feature served through the MCP server let unsanitised content reach connected coding agents during what looked like a routine library-documentation lookup [9]. From the operator's chair, nothing in that exchange looks like an attack.
The spec gives you better vocabulary for this than most rollout checklists do. The 2026-07-28 revision defines three server primitives with a control hierarchy attached: prompts are user-controlled to invoke, resources are application-controlled, tools are model-controlled [15]. Read those definitions closely and there are seven separate routes by which server-originated text can reach a model's context [16]. The census turns three of them into questions a reviewer can actually ask a vendor page: is there a server-level instructions field, is there a free-text instruction surface someone can configure, and does the vendor warn that tool output may carry embedded instructions [5].
Nineteen servers against three questions is 57 documentation cells [19], and the modal value in every column is undocumented [6]. Teams often assume they reviewed the MCP server because they read the tool list. But the tool list contains tool names and descriptions, which are one of several surfaces alongside the optional instructions field, resource content, prompt templates, and the tool results themselves [2].
The caveat carries more weight than the tally. Undocumented means the vendor's own public docs do not disclose the surface, not that the surface is absent from the running code, and only a code-level audit could separate the two [7]. A server that genuinely does not use an instructions field and a server that uses one silently land in the same cell. That is the authors' actual finding [4]. They call it a census rather than a ranking because a reviewer cannot evaluate a surface a vendor never mentions [6].
Severity travels badly here too. The same Context7 flaw sits 2.6 points apart depending on which CVSS framework you read [20], and as of the audit's retrieval date of 2026-08-22 the advisory documented no public fix, which the authors state as an absence of documentation rather than a claim about later releases [14].
The forcing function is cheap to run against whatever is already in your config. Score the three census questions from the vendor's documentation alone for each MCP server you have connected, and any cell you cannot resolve stays visible as a dated unknown rather than a guess [18]. Any server that returns silence on all three gets treated as though the answer to all three is yes: scoped credentials that cannot reach an environment file, and output a human reads before it becomes a file operation. The tradeoff is not hidden. You will over-restrict servers that were clean, and you will pay for it in manual steps the demo never had. The alternative is granting file and credential access on the strength of documentation that, by this census's count, mostly declines to say what it puts in your agent's context [3].
What to watch
- An Upstash release above 2.1.2 with a documented fix, which would close the one cell the audit had to record as an absence.
- A re-run of the same three columns on a later date, showing whether any vendor added instructions-field disclosure after the CVE.
- Whether a future MCP revision makes surface disclosure part of the spec rather than leaving it to each vendor's documentation.
Clarity's read
What the record supports and how the coverage leans. The claims behind it follow.
Reality
- Evidence62
- Adoption28
- Hype gap−10
- Incentives35
- Confidence55
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
The audit examined 19 widely deployed MCP servers against the Model Context Protocol specification's own definitions to record what each server's current documentation discloses.
- [2]
MCP servers can put text into an agent's context through several distinct surfaces: tool descriptions, an optional server-level instructions field, resource content, prompt templates, and the tool results themselves.
- [3]
Almost none of the ecosystem's most widely deployed MCP servers document which of those context-injection surfaces they actually use.
- [4]
The authors describe the result as a census, not a ranking.
- [5]
For each server the audit recorded three things: whether its documentation discloses a server-level instructions field, whether it discloses a user- or vendor-configurable free-text instruction surface, and whether it carries an explicit warning that content returned by its tools could contain embedded instructions.
- [6]
The modal answer across all three columns is undocumented, which the authors treat as the finding itself, because a security reviewer cannot evaluate a surface a vendor never mentions.
- [7]
This is a documentation audit, not a source-code audit: undocumented means the server's own public docs do not disclose the surface, and does not mean the surface is absent from the running code, a gap only a code-level audit could close.
- [8]
On August 18, 2026, the National Vulnerability Database published CVE-2026-75130, a prompt-injection vulnerability in Context7, Upstash's widely installed MCP documentation server.
- [9]
A free-text 'Custom AI Instructions' feature served through the Context7 MCP server let unsanitised content reach connected coding agents during what looked like a routine library-documentation request.
- [10]
The disclosed impact of CVE-2026-75130, per the VulnCheck advisory, includes exfiltration of credentials from environment files and destructive file deletion.
- [11]
The weakness is classified as CWE-1427, 'Improper Neutralization of Input Used for LLM Prompting', and is credited to researcher Eli Ainhorn of Noma Security.
- [12]
CVSS 3.1 rates CVE-2026-75130 at 9.0 CRITICAL while CVSS 4.0 rates the same flaw at 6.4 MEDIUM, so quoting either number alone tells half the story.
- [13]
Affected Context7 versions are 0 through 2.1.2.
- [14]
No public fix was documented in the advisory, and none had been documented as of the audit's retrieval date of 2026-08-22, which the authors state as an absence of documentation rather than a claim about later releases.
- [15]
The current MCP revision, 2026-07-28, defines three server primitives with an explicit control hierarchy: prompts are user-controlled to invoke, resources are application-controlled, and tools are model-controlled.
- [16]
Reading the MCP primitive definitions closely yields seven distinct routes by which server-originated text can reach a model's context.
- [17]
The taxonomy was built from the specification's field definitions before opening a single vendor page, which the authors say is what makes the census reproducible column by column.
- [18]
The method extends a companion census on coding-agent data terms: score vendor documentation against a fixed question set, keep the unresolved cells visible, and date everything.
- [19]
Nineteen servers scored against three disclosure questions produces 57 documentation cells.
- [20]
The two CVSS scoring frameworks are 2.6 points apart on CVE-2026-75130.
Get this ledger inside ChatGPT. Ask about any of our stories and the answer brings its figure, each claim’s verdict and the sources. Free, no account.
Sources
1 independent publisher whose own reporting we read for this story.
- We Audited What MCP Servers Put in Your Agent's Context
digitalapplied.com
1 article · August 28, 2026
Topics and entities
Follow any of these and your For You feed starts watching them — no settings page required.
Topics
- Vulnerability DisclosureFollow
- Vendor Documentation TransparencyFollow
- Model Context Protocol SecurityFollow
- Agent ToolingFollow
- Prompt injectionFollow
Entities
- CWE-1427Follow
- Noma SecurityFollow
- Model Context ProtocolFollow
- digitalapplied.comFollow
- UpstashFollow
- Context7Follow
- Eli AinhornFollow
- National Vulnerability DatabaseFollow
- CVE-2026-75130Follow
- VulnCheckFollow