Skip to main content
Glama

@nippyhost/cli

Publish websites to nippy.host from the terminal, CI, or Claude. Drop a folder, get a link — photos become a gallery, files become a download page, sites just work. Links don't expire.

npx @nippyhost/cli login                       # one-time: approve in your browser, done
npx @nippyhost/cli deploy ./dist --site demo   # → https://demo.nippy.site

The bin is called nippy, so a global install gives you the short form:

npm i -g @nippyhost/cli
nippy deploy ./photos --site henderson-wedding

Commands

Command

What it does

nippy login

Opens your browser to approve the CLI on nippy.host (OAuth, no copy-paste) and stores the resulting scoped token in ~/.config/nippy/ (chmod 600). --paste for headless/SSH machines

nippy deploy [path] --site <name>

Publish a folder, single file, or zip. Existing site → updated in place, same URL; missing → created. --new forces a fresh site, --json for scripts

nippy sites / nippy sites info <name>

List sites / show one site's files

nippy open <name>

Open https://<name>.nippy.site

nippy whoami

Which credential is active, and does it work

nippy mcp install [--client …]

Add the MCP server to Claude Desktop, Claude Code, or Cursor

nippy mcp serve

Run the MCP server on stdio (assistants call this)

Related MCP server: vibie-mcp

Use from Claude (MCP)

On claude.ai (or any client that takes a remote MCP server): no install. Add a custom connector with the URL https://api.nippy.host/mcp — approval is the same OAuth consent screen as nippy login (Streamable HTTP, OAuth 2.1 + PKCE, dynamic client registration). The remote server has the same tools plus start_upload / start_revision / finalize_upload / abort_upload for files of any type and size.

Claude Desktop, Claude Code, or Cursor (local, stdio):

npx nippy-mcp                       # Claude Desktop
npx nippy-mcp --client claude-code  # Claude Code
npx nippy-mcp --client cursor      # Cursor

Then just ask: "publish this page on Nippy". Tools include publish_site, update_site (same URL, surgical file changes), list_sites, list_permanent_sites, read_site_file, check_site_name, plus paid-plan tools for passwords, SEO meta, search-indexing, and visitor analytics. Small binaries (images, PDFs, fonts) go inline with encoding: "base64" — up to 4 MB per file, 12 MB per call; use nippy deploy for anything bigger.

Previews

Assistants iterate, and most drafts are throwaway — so publishing has two verbs. publish_preview puts a draft at <slug>.preview.nippy.site: it expires 24 hours after its last update, is never indexed, and doesn't use up one of your site slots. update_preview revises it (and resets the clock), list_previews shows what's active with time remaining, and discard_preview throws one away.

When a draft is worth keeping, promote makes it permanent — either as a new site or by replacing an existing site's contents. The preview URL doesn't die: it becomes a permanent redirect to the site, so a link you already shared keeps working.

publish_site is unchanged and still means "permanent, counts against your plan". Free accounts hold 5 active previews at a time; paid plans are unlimited.

Use in CI

# any CI — the token comes from a secret
- run: NIPPY_TOKEN=${{ secrets.NIPPY_TOKEN }} npx @nippyhost/cli deploy ./dist --site docs --json

NIPPY_TOKEN always overrides the stored login.

Tokens & security

  • nippy login uses the same OAuth consent screen as Nippy's AI connectors; the login shows up under Connected apps in Settings → API & MCP, where you can disconnect it any time. For CI, create a token there instead — free account works (1 live site, 25 MB, no card).

  • Tokens are scoped (deploy/read/manage/analytics) and revocable. They can never delete sites, touch billing, or manage your account — those need the dashboard.

  • Plan limits are enforced server-side and reported honestly: hitting one tells you exactly what the limit is.

Notes

  • A folder without index.html becomes a gallery (all images) or a tidy download page (mixed files) automatically.

  • Zips are unpacked locally before upload.

  • Site names are subdomains of nippy.site: lowercase letters, digits, hyphens. If a name's taken you get the next free suffix back.

MIT · nippy.host · help


About this repository

This is the source mirror for @nippyhost/cli and nippy-mcp. Development happens in the Nippy monorepo (where the API client is generated and the test suites run); the source here is published for reading, issues, and releases.

  • cli/ — the nippy command + MCP server (@nippyhost/cli)

  • sdk/ — the publish SDK: init → presigned upload → finalize choreography

  • upload-rules/ — client-side validation rules shared with the platform

Bugs and feature requests → Issues.

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Deploy Claude-generated websites to EliteSpec hosting in one tool call. deploy_site / update_site / list_sites tools give the model a live URL on elitespec.co.nz seconds after writing HTML/CSS/JS.
    3
    9
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Deploy static HTML folders to permanent vibie.page URLs from Claude, Cursor, or any MCP client. One-line auto-install wires up the config, OAuth device-flow handles auth, and a folder marker lets repeat deploys skip the slug.
    4
    86
    1
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    Publishes HTML pages straight from your AI assistant to a shareable URL, then lets you manage them - update, list, search, fetch, and delete pages in a public or private workspace. Turns "share what I just made" into a single tool call from Claude, Cursor, or any MCP client.
    MIT
  • F
    license
    -
    quality
    B
    maintenance
    Enables LLMs and clients to upload, deploy, and manage static websites (HTML/CSS/JS) on a server with Nginx, supporting API key authentication and customizable site TTL with automatic cleanup.

View all related MCP servers

Related MCP Connectors

  • Turn Claude or ChatGPT into a website builder that ships a real site to a live URL you own.

  • Read, edit, publish, and preview your pepita websites from Claude.

  • Publish pages straight from Claude as private, branded, tracked links.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nippyhost/cli'

If you have feedback or need assistance with the MCP directory API, please join our Discord server