Quickstart: SSH clone URL, a duplicate `cd`, and a version mismatch in the `init` sample break the copy-paste path
Three small things in docs/modelcontextprotocol-io/quickstart.mdx break the copy-paste path for a first-time publisher. Each has a one-line fix.
1. The clone command uses SSH, in a tutorial that never establishes SSH
git clone --depth 1 [email protected]:modelcontextprotocol/quickstart-resources.gitquickstart-resources is public, and the only authentication this tutorial sets up is the browser device flow in Step 5. A reader who has a GitHub account but no SSH key registered — which the prerequisites explicitly allow, they ask for "a GitHub account" and nothing more — hits Permission denied (publickey) on the very first command, before they have learned anything about the registry.
-git clone --depth 1 [email protected]:modelcontextprotocol/quickstart-resources.git
+git clone --depth 1 https://github.com/modelcontextprotocol/quickstart-resources.git2. Step 2 re-enters a directory the reader is already in
The prerequisites block ends with cd weather-server-typescript. Step 2 then opens with:
# Navigate to project directory
cd weather-server-typescriptPasted in sequence, that is cd: weather-server-typescript: No such file or directory, and the reader is left wondering whether they lost the directory. The line is only correct for someone who brought their own server and skipped the prerequisites block — the opposite of who the numbered path is written for. Dropping it (or moving it into the bring-your-own note) resolves it.
3. The mcp-publisher init sample output contradicts the state the tutorial just created
The prerequisites have the reader edit package.json to "version": "1.0.1", and Step 2 publishes that version to npm. Step 4 then shows init generating:
"version": "1.0.0",
...
"version": "1.0.0",followed by a diff bumping both back to 1.0.1.
Since the surrounding prose says init generates the template "with some information derived from your project", a reader reasonably expects 1.0.1 in that output and is then unsure whether they mis-edited something, or whether init ignores the version deliberately. Either the sample output predates the 1.0.1 edit, or init genuinely does not read version from package.json — in which case one sentence saying so would turn a confusing diff into an obvious one.
Minor: the Homebrew tab in Step 3 is unlabeled
The CodeGroup labels its first two tabs macOS/Linux and Windows, but the third (```bash, brew install mcp-publisher) has no title, so it renders as bash beside them. A macOS reader sees two tabs that both apply and no signal which is preferred.
Checked while writing this, all correct, so no action needed on them:
- every release asset name matches the
mcp-publisher_$(uname -s)_$(uname -m)URL pattern in Step 3, on the currentv1.8.1release, including both Windows architectures; weather-server-typescriptis still present inquickstart-resources;/v0.1/servers?search=in Step 6 resolves and returns the expected{"servers":[...]}shape.
Happy to open a PR with 1, 2 and 4 if that is easier than patching them yourselves — 3 needs someone who knows what init is supposed to do with version.
Source: modelcontextprotocol/registry