Skip to content

Quickstart: SSH clone URL, a duplicate cd, and a version mismatch in the init sample break the copy-paste path #1654

Description

@Srinivasan-78

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 git@github.com:modelcontextprotocol/quickstart-resources.git

quickstart-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 git@github.com:modelcontextprotocol/quickstart-resources.git
+git clone --depth 1 https://github.com/modelcontextprotocol/quickstart-resources.git

2. 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-typescript

Pasted 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 current v1.8.1 release, including both Windows architectures;
  • weather-server-typescript is still present in quickstart-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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions