My README said 80 tools. My code had 96. Nobody noticed for weeks. An open-source MCP server developer discovered that its README claimed 80 tools while the code actually registered 96, a discrepancy that went unnoticed for weeks. The undocumented tools included four powerful OS-level input tools that were never documented, highlighting how documentation drift tends to hide the most security-relevant features. The developer concluded that hand-maintained facts inevitably drift and should be derived from the source of truth instead. I run an open-source MCP server. It exposes browser-automation tools to AI coding agents — click this, read that page, fill this form. The README has a big proud table: "80 tools." It's in the tagline. It's in the nav anchor. It's in the alt text of the social-preview image. It's in two comparison tables. It's even in the pre-written tweet text for the share button. Eighty. Eighty everywhere. Last week I ran a boring audit — just diffing what the README claims against what the code actually register s at startup. The code registered 96 . Not 80. Ninety-six. The number had been wrong in nine different places, and I'd been the one typing it each time. Nobody decides to lie in their README. Drift happens one merge at a time. You ship a feature. It adds three tools. You update the tool list because that's the part reviewers look at but you forget the count in the tagline. Next release adds four more. Now the list says one thing and the tagline says another, and both are behind reality. A month of "small, fast" releases later, the gap is sixteen. The worst part wasn't even the tagline. When I actually counted the entries in the tool list itself , it documented 83 tools. So I had three different truths living in one file: Thirteen tools existed, worked, shipped to npm, and ran on real users' machines — completely undocumented. They weren't in the README at all. If you only read my docs, you didn't know they existed. Here's the part that turned a docs cleanup into a genuinely uncomfortable afternoon. I expected the undocumented thirteen to be boring helpers — the safari wait for new tab s of the world. Some were. But four of them were the native input tools: synthetic keyboard and mouse events driven through the OS-level event API CGEvent , not through JavaScript injected into the page. Those are the most powerful tools in the whole project. JavaScript-level automation is sandboxed by the page; OS-level input is not. It types into anything that has focus. It's the difference between "fill this