Skip to main content
Glama
shiply — Static Site Hosting & Deployment

shiply — Static Site Hosting & Deployment

by stevejford

shiply — MCP server

shiply is the production backend for anything an agent builds — not just static hosting. An agent can publish any app in a single call — no account, no config — and then give it a real backend over the same MCP server: a SQL database, server functions, SSR, email (send and receive), custom domains, SSL, environment variables, site data, lead capture, and a marketplace to sell the site it built. Flat price, no usage meter.

The recommended way to use shiply is the hosted, remote MCP endpoint — connect to the live URL, nothing to run. This repo also ships a small local stdio MCP server (npx shiply-mcp / node index.mjs) that wraps shiply's public REST API directly (it is a real local server, not a proxy), for clients or hosts that prefer a local process. Listed on the Official MCP Registry as now.shiply/shiply.

Connect

Remote MCP endpoint (Streamable HTTP):

https://shiply.now/mcp

Add it to an MCP client (Claude Desktop, Cursor, Claude Code, etc.):

{
  "mcpServers": {
    "shiply": {
      "url": "https://shiply.now/mcp"
    }
  }
}

Local (stdio)

Prefer a local process? Run the bundled server — it calls shiply's public REST API directly (no proxy to the hosted endpoint):

{
  "mcpServers": {
    "shiply": {
      "command": "npx",
      "args": ["-y", "shiply-mcp"]
    }
  }
}

Or clone this repo and run npm install && node index.mjs. Set SHIPLY_API_KEY (shp_…) for owned-site operations; publish_site works without it. Local tools: publish_site, site_status, rollback_site, add_custom_domain, check_custom_domain.

Related MCP server: Netlify MCP Server

Auth

Auth is optional. publish_site works anonymously — anonymous sites go live instantly and can be claimed into an account later. Pass a Bearer API key (Authorization: Bearer shp_…) to manage owned sites and unlock variables, custom domains, databases, and analytics. Mint a key from the email-code flow in llms.txt.

Tools

The live, authoritative tool list + JSON schemas are always at /.well-known/mcp.json. By area:

  • Publish & versions — publish_site (files → live *.shiply.now URL), update an existing site, rollback, delete_site

  • Status & verify — site_status, list_sites, verify_site (status + SSL + thumbnail in one call)

  • Domains & SSL — add_domain, check_domain, set_handle (vanity subdomain)

  • Config — set_variable (encrypted per-user env), site access (password / invite-only)

  • Site Data — read/write/export visitor records and collections

  • Databases — per-site SQL: Cloudflare D1 and Neon Postgres (provision, query, branch)

  • Edge functions — deploy serverless functions alongside the static site

  • Email & inbox — send_email, list_site_inbox, set_mailbox, forward

  • Contracts — create, send, and track e-sign contracts

  • Analytics — get_analytics (views, referrers)

Examples

Publish a folder, get a live URL (anonymous, no account):

// tool: publish_site
{ "files": [ { "path": "index.html", "content": "<h1>Hi</h1>" } ] }
// → { "url": "https://merry-maple-3kf2.shiply.now", "claimUrl": "..." }

Confirm it's live (status + SSL + screenshot) before reporting done:

// tool: verify_site
{ "slug": "merry-maple-3kf2" }
// → { "status": "LIVE", "ssl": { "valid": true }, "thumbnailUrl": "..." }

Pricing

Flat $0 / $8 / $24 — no usage meter, no surprise overage bill. See https://shiply.now/pricing.

License

MIT — see LICENSE. (This repo is a metadata-only descriptor; the shiply product source is not included.)

Available Tools

5 tools
add_custom_domainAdd a custom domainA

Attach a custom domain to a site. Returns the domain record; point the hostname at cname.shiply.now and the certificate auto-issues. Poll readiness with check_custom_domain. Requires an API key.

Inputs: hostname (required), slug (required), apiKey.

check_custom_domainCheck custom-domain readinessA
Read-onlyIdempotent

Check whether a custom domain has finished provisioning (DNS + SSL). Returns ready:true once the site is serving on the domain. Read-only. Requires an API key.

Inputs: domainId (required), apiKey.

publish_sitePublish a siteA

Publish a website to shiply.now and get back a live URL — in one call, no account needed to start. Pass files (inline) or a local dir. Anonymous sites go live instantly and last 24 hours; the response includes a claimUrl to keep the site forever on a free account. NEVER create a new site to update an existing one — re-publish to the SAME site by passing its claimToken (anonymous) or slug (owned, requires an API key).

Inputs: files, dir, slug, claimToken, +3 more.

rollback_siteRoll back a siteA
Idempotent

Flip a previously-published version of a site live again, instantly. Every publish is a version; pass the versionId to roll back to. Requires an API key (owned sites only).

Inputs: slug (required), versionId (required), apiKey.

site_statusGet site statusA
Read-onlyIdempotent

Look up a published shiply.now site by slug: whether it is live, anonymous vs owned, when it expires, and its public URL. Read-only.

Inputs: slug (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.4/5.0

    Scored across 5 tools

    Disambiguation5/5

    Each tool serves a unique function: adding/checking custom domains, publishing, rolling back, and checking site status. No two tools have overlapping purposes.

    Naming Consistency4/5

    Most tools follow a verb_noun pattern (e.g., publish_site, rollback_site), but 'site_status' is noun_noun, which is a minor inconsistency.

    Tool Count5/5

    Five tools cover the core deployment and domain management workflow without being excessive or insufficient.

    Completeness4/5

    The tools cover essential operations (publish, rollback, custom domain, status), but missing delete or list functionalities, which are minor gaps.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      The Hostinger MCP server enables seamless integration of Hostinger’s API with AI tools. This server exposes Hostinger API endpoints as callable tools, allowing AI models to fetch live data or perform real-time actions on hosting infrastructure.
      3
      237,141 npm
      171
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      Enables code agents to interact with Netlify services through the Model Context Protocol, allowing them to create, build, deploy, and manage Netlify resources using natural language prompts.
      10
      61,636 npm
      72
      ISC
    • A
      license
      Not graded
      quality
      D
      maintenance
      Turns any static website into an MCP-searchable knowledge base by deploying a Cloudflare Worker that provides full-text search tools, enabling AI assistants to search and retrieve content from your site.
      3
      MIT