The code your users copy

A checklist for install commands, MCP configurations and example apps. 17 October 2026.

Most of the code a developer-tool company ships is reviewed, tested and released on purpose. Some of it is not: the one-line install command in the README, the JSON block people paste into Claude Desktop or Cursor, the starter app they clone to get going. Nobody reads that code before running it, because it is meant to be run as written. And it rarely has an owner, so it drifts.

In October 2026 we measured two kinds of it. This page sums up what we found, why it happens, and what to check in your own docs and examples. The detailed numbers and methods are on two separate pages: install commands and example apps.

What we found

None of this comes from careless teams. The repositories were active, several with commits that same week. What was missing is an owner for this kind of code, and a check that fails when it drifts.

Why it happens

npx runs whatever matches the name

Many packages ship a command whose name differs from the package name: the package @acme/mcp installs a command acme-mcp. Inside a project where the package is installed, npx acme-mcp finds that command. On a fresh machine, or inside an MCP client configuration, npx looks for a package called acme-mcp on the registry instead, and with -y installs it without asking. The README was right in the context where it was written, and wrong everywhere it was copied to. uvx has the same behaviour on PyPI.

Placeholders that are real names

Documentation needs example names. A placeholder such as example-mcp-server looks harmless, but it is a valid package name: anyone can publish it, and readers who paste the snippet unchanged will install it. In one hosting platform's docs, that exact name was unregistered on PyPI and already taken on npm by an unrelated personal package. The team is now replacing it with clear placeholders.

Lockfiles keep the past exactly

Committing a lockfile in an example is good practice: a fresh install reproduces a known-good set of versions. It also reproduces their vulnerabilities, for as long as nobody regenerates it. Of the three companies with no affected example, the one we looked at more closely does not commit lockfiles in its templates, so a fresh install picks up fixed releases. Keeping lockfiles and refreshing them works too. A committed lockfile that nobody refreshes does not.

The checklist

Install commands and MCP configurations

Example apps and starters

What fixing it looks like

When maintainers acted, the fix was small and quick: one registered the missing npm name on the day of our report; a workflow engine stopped resolving five Python imports to unclaimed PyPI names in a single pull request, the same day; an MCP server switched its README and plugin configuration to its hosted endpoint within a week. Finding it is the hard part, because the command works on the machine of the person who wrote it.

Check your own

The measurements behind this page, their caveats and the scripts to reproduce them: install commands, example apps, false-positive rates of our checks.