You click allow on a tool call named git_add. What you approved was a name.

What the process got was your filesystem.

A scan published Thursday puts a number on that gap. MCP-FSD (arXiv:2610.22301, 15 October) catalogues 21,097 MCP servers across nine registries, triaged 4,806, and planted credential files outside each tool's inferred least-privilege boundary.

1. 787 of the 4,806 triaged servers (16.4%) showed filesystem capability despite being classified as something else. The authors call this a coarse screening signal, not a vulnerability rate. 2. Running them is what counts: 150 confirmed instances under three-case dynamic validation, 136 on exact credential-marker matching. 3. The cause is structural. The MCP TypeScript SDK ships no path-containment helper, and Node leads every bypass-style rule at 57-63%. 4. Thirteen coordinated disclosures, two of them CVEs in Anthropic's own Git MCP server.

Before filing that last one as news: both CVEs were already patched. git_add's path traversal went in 2026.1.14. git_init was not fixed at all — the tool was removed, because the server was never meant to create repositories. The story is not the bug. It is that the protocol's own reference implementation had this twice.

The mechanism is the part to keep. Nothing was injected. Approving one call grants the server process broad host filesystem permission rather than the declared operation. The name, description and argument schema are documentation. They are enforced nowhere.

The regulatory reflex is the AI Act's value-chain article, Article 25 — and it misses twice. It operates only inside the high-risk regime, which Regulation (EU) 2026/1744 moved to 2 December 2027. And its paragraph 4, the written-agreement duty for supplied tools and components, expressly does not apply to publicly accessible tools under a free and open-source licence. That is most of this catalogue.

What binds you today is GDPR Article 25(2): by default, only data necessary for the purpose is processed — and it names accessibility, not volume alone. A default that hands a narrow tool your home directory is your default, not your vendor's.

Three things I would change Monday:

1. One namespace or user per server process. The paper's own result: OS process isolation held the boundary without breaking benign calls. 2. Inventory which installed servers reach your home directory today. 3. Pin mcp-server-git to 2026.1.14 or newer.

What does your approval dialog actually name — the tool, or the scope?

#AgenticEngineering #MCP #EUAIAct #DSGVO #AppSec