# Add nmbr to Claude Code > The nmbr channel plugin for Claude Code — text your session from your phone and approve its permission prompts on nmbr cards. Also a plain MCP server for other hosts. > > Markdown mirror of https://nmbr.ai/developers/docs/quickstart-claude-code/ — part of the nmbr Agent API docs (https://nmbr.ai/developers/docs/). Spec: https://nmbr.ai/developers/openapi.yaml · Site index: https://nmbr.ai/llms.txt **[Beta]** `@nmbrai/claude-code` is new: tested with the MCP client SDK over stdio against a real nmbr server, not yet by many people inside Claude Code itself. Claude Code channels are a research preview: until the plugin is on Anthropic's approved list you load it with `--dangerously-load-development-channels`. If something breaks, tell us at [support@nmbr.ai](mailto:support@nmbr.ai?subject=nmbr%20Claude%20Code%20plugin). Node ≥ 18; no Bun needed. ## Text your Claude Code session in 5 minutes 1. In the nmbr app: **Agents → Yours → Create an agent**. Copy the token (shown once). 2. In the project you want Claude to work in, add the server to `.mcp.json`: ```json { "mcpServers": { "nmbr": { "command": "npx", "args": ["-y", "@nmbrai/claude-code"] } } } ``` 3. Save the token and allow yourself (state lives in `~/.claude/channels/nmbr/`): ```bash mkdir -p ~/.claude/channels/nmbr && chmod 700 ~/.claude/channels/nmbr echo 'NMBR_AGENT_TOKEN=agent:…' > ~/.claude/channels/nmbr/.env && chmod 600 ~/.claude/channels/nmbr/.env echo '{ "dmPolicy": "allowlist", "allowFrom": ["123-456-789"], "pending": {} }' > ~/.claude/channels/nmbr/access.json # your own nmbr ``` 4. Start Claude Code with the channel loaded (development flag while the plugin is not on the approved list): ```bash claude --dangerously-load-development-channels server:nmbr ``` Approve the "new MCP server" and development-channel prompts. The startup notice confirms `server:nmbr` is registered. 5. Text your agent from the phone: "what's in my working directory?". Ask it to run the tests; the Bash permission prompt appears as an **Approve / Reject card in nmbr** — tap it. When the plugin is listed in a marketplace, `/plugin install nmbr@` gives you the `/nmbr:configure ` and `/nmbr:access allow ` commands instead of step 3. ## What you get **As a channel**: messages you send to your agent are pushed into the running session; Claude answers through a `reply` tool; permission prompts become nmbr cards for every allowed sender — Approve → allow, Reject or expiry → deny, first decision wins (typing `yes ` / `no ` in the chat works too). The terminal dialog stays open as well. **As a plain MCP server** (Claude Desktop, Cursor, any MCP host): tools `send_message`, `propose_action`, `list_conversations`, `get_messages`, `whoami`. Pull only — nothing wakes a vanilla MCP host on an inbound message; only Claude Code consumes channel events. **Who can reach the session**: only people who added the agent as a contact *and* are in `access.json`'s `allowFrom`. nmbr authenticates every sender, so there are no pairing codes — an nmbr is the identity. Someone not allowed gets a one-time note and shows up under `pending`. Allowed senders can approve permissions: allow only people you'd trust at your keyboard.