DocsGetting started
Docs

Getting started

Install the Rendemo plugin for Claude Code, sign in from the terminal with npx rendemo login, and run /rendemo — four commands from nothing to a working setup.

Quickstart

Rendemo’s MCP server has a large tool surface. That is an API, not an interface — you would have to know which tool to call, in what order, with what arguments. The Claude Code plugin ships the workflow instead: you state an intent, and the agent sequences the tools, stops at the checkpoints that matter, and writes the files the MCP cannot touch.

  1. 1

    Add the marketplace and install

    The plugin is its own marketplace, so both commands name rendemo — the marketplace and the plugin inside it share the name.

    shell
    claude plugin marketplace add jakegrepo/rendemo-plugin
    claude plugin install rendemo@rendemo

    Or, in an interactive session, run /plugin and pick it from the marketplace you added. Either way, restart Claude Code afterwards — MCP servers are wired up at startup.

  2. 2

    Sign in

    The Rendemo MCP endpoint authenticates with a per-workspace bearer token, so no token can ship inside the plugin. One command handles it:

    shell
    npx rendemo login

    It prints a short code and a URL, you approve in a browser where you are already signed in, you pick a workspace, and it stores the token in a per-user config file outside every checkout. The token is never printed and never logged.

    OSConfig path
    Windows%APPDATA%\rendemo\config.json
    macOS / Linux$XDG_CONFIG_HOME/rendemo/config.json, else ~/.config/rendemo/config.json

    It is written 0600 inside a 0700 directory wherever the OS has file modes. Windows has no POSIX modes; there the file relies on your user profile’s ACL, and the CLI says so rather than implying a protection it did not apply. rendemo logout deletes it.

    login then offers to declare the MCP server for you, so you do not hand-edit JSON. Confirm the whole setup with:

    shell
    npx rendemo doctor
  3. 3

    State an intent

    Three commands, and the first one exists for when you are not sure which you want.

    claude code
    /rendemo                 pick between the two, if you're not sure which you want
    /rendemo-demo            add our onboarding demo to the pricing page
    /rendemo-tour            onboarding for new users
    • /rendemo runs npx rendemo doctor first and says one line about readiness, then explains demo versus tour and hands off. If what you typed already makes the intent obvious it says which one it picked and why, then goes.
    • /rendemo-demo installs a published demo on your site: it picks the demo, detects the framework from the repo, writes the wrapper, the script tag and the snippet, then runs your typecheck. It will not publish a demo without asking.
    • /rendemo-tour authors a tour: it states what tours do and do not do and waits for a go-ahead, proposes the steps as a table with a file:line per target, writes the data-rendemo markers as a reviewable diff, hands you a preview link and waits while you look at it, then asks before publishing.
    Markers must ship to production — they are what a tour anchors to at runtime. Do not strip them.

Tokens and authentication

What wins, when

RENDEMO_API_TOKEN takes precedence over a stored login. It is the explicit, per-invocation choice, and it is what CI sets:

shell
export RENDEMO_API_TOKEN="…"        # macOS / Linux
$env:RENDEMO_API_TOKEN = "…"        # PowerShell

Get that token from Workspace settings — the same one the browser extension uses. Set it in the shell you launch Claude Code from, before launching, because a ${RENDEMO_API_TOKEN} header in an MCP config resolves from the environment of that shell. Do not commit it. It is also the usual cause of “I logged in but it is using the wrong workspace”; npx rendemo doctor says which source is in play.

Why the plugin declares a headers helper

A plain Bearer ${RENDEMO_API_TOKEN} header cannot see the config file rendemo login writes, so on its own a successful login left every call unauthenticated until you exported the variable by hand — a setup step that reports success and leaves the thing broken. The plugin’s .mcp.json therefore declares both: a Claude Code headersHelper running npx --yes rendemo token, plus the static header as a floor under it. Claude Code merges the two with the helper winning.

rendemo token is not a way to look at your token

It prints the literal credential to stdout — it exists for that one caller. Use npx rendemo doctor to check whether you are signed in; it answers that and prints nothing secret.

Installing from a local checkout

plugin/ in the Rendemo repository is both the plugin root and its own marketplace, so it also installs from a path:

shell
claude plugin marketplace add /path/to/rendemo/plugin
claude plugin install rendemo@rendemo

The plugin manifest deliberately carries no version. Claude Code uses a plugin’s version as its update cache key, so omitting the field means users get updates on every new commit to the plugin’s git source rather than only when someone remembers to bump a number.

Without Claude Code

Nothing above is required to use Rendemo. The embed element is two lines of HTML with no package and no build step — see the embed element. And any MCP-compatible agent can connect to the same endpoint with the same token: connecting directly.

When it does not work

The published CLI can lag the documented one

This repository’s CLI source declares 0.4.0, but npm view rendemo version returned 0.2.0 on 2026-07-26. Because npx rendemo … fetches whatever the registry serves as latest, login, logout, doctor and token may not exist yet on your machine even though they are documented here — they arrived after 0.2.0. An npx cache holding a version too old for a command exits 2 with Unknown command "…".

Check what you can actually run with npm view rendemo version and npx rendemo --version before assuming a command is broken. Until the newer version is published, supply the token with RENDEMO_API_TOKEN as described above — that path never needed the CLI.

  • Is the server connected? Run /mcp. If neither the helper nor the environment variable produced a credential the server is still listed, but every call fails to authenticate — that is what a 401 from these tools means.
  • Signed in, still 401? That is exactly the gap doctor’s MCP headers line exists for: it runs the helper command the config declares, inside the same 10-second budget Claude Code allows, and validates the output the way Claude Code does.
  • could not determine executable to run — your project’s own package.json is named rendemo, so npx resolves it first. Rename it, or install the CLI as a devDependency and call ./node_modules/.bin/rendemo.
  • Wrong workspace. Every tool is scoped to the token’s workspace and no tool accepts a workspace id, so switching workspaces means switching tokens.