# now.shiply/shiply

Publish any app in one call: SQL database, functions, email, and a custom domain. Flat price.

- **Type:** MCP server
- **Trust:** 60/100 (B), scored on the content rubric
- **Verification:** community-indexed — nobody has claimed this listing
- **Version:** 1.1.0
- **Author:** now.shiply
- **License:** Unknown
- **Endpoints:** streamable-http https://shiply.now/mcp
- **Source:** https://shiply.now
- **Endpoint health:** reachable (last checked 2026-09-06T15:47:47.791Z, 3 samples) — uptime is not a security property and is not part of the trust score
- **Compatible clients:** claude-code, cursor, copilot, chatgpt, gemini (basis: transport)

## Trust

60/100 (B), scored on the content rubric
- Publisher verified: no
- Install scripts: nothing suspicious found
- Prompt-injection scan: clean
- Obfuscation scan: clean
- Evidence age: 0 days

## Security scan

- **Status:** clean
- **Scanned:** 2026-09-06T15:47:47.791Z
- **Version scanned:** live
- **CVEs:** no coverage — this entry has no package coordinates to query OSV against, so "no known CVEs" is NOT asserted for it.

## Tools

114 declared. Observed from a live `tools/list` probe.
- `publish_site` — Publish files to the web → live URL at <slug>.shiply.now. UPDATING: never create a new site for changes — re-call with claimToken (anonymous sites) or slug (sit
- `site_status` — Check any shiply slug or custom hostname: TLS certificate (issuer, days left) + HTTPS probe. ready=true means live.
- `verify_site` — Edge-check a shiply slug or custom hostname and return a structured readiness report: status (LIVE/PENDING), SSL details (valid, issuer, daysLeft), HTTP probe, 
- `list_sites` — List the sites owned by this API key. Optional clientId filters to one client.
- `get_site` — Site settings + version history for one of my sites.
- `delete_site` — PERMANENTLY delete a site and all stored files. Irreversible — confirm with the user first.
- `rollback_site` — Re-point a site to any finalized version (rollback or roll-forward). Get version ids from get_site. Serving updates immediately.
- `list_versions` — List a site's finalized deploys newest-first (id, createdAt, isLive, fileCount, bytes), capped at 20. Pair with rollback_site: pick a version id from here and r
- `pull_site` — Download the current files of a site you own (or created via a platform connection) so you can edit and republish to the same slug with publish_site. Static sit
- `set_handle` — Give ONE site a vanity URL: rename it to <handle>.shiply.now (3-30 chars, a-z 0-9 -). The old address 301-redirects for 30 days. (For a portfolio page listing a
- `duplicate_site` — Server-side copy of an owned site under a new slug — instantly live. Copies files + title; does NOT copy access settings, domains, or data. Great for iterating 
- `promote_site` — Copy the EXACT live bytes of one owned site (srcSlug — your preview) into another owned site (destSlug — your production site / custom domain), no rebuild. Dest
- `set_link` — Path-mounting: serve an owned target site at a path on an owned host site (host/docs -> target). location is a path like "docs", or "__root__" for the host root
- `set_site_access` — Protect an owned site (paid plans). mode 'public' (anyone), 'password' (supply password), or 'restricted' (supply allowedEmails and/or allowedDomains — only tho
- `get_site_access` — Read an owned site's current access policy (mode: public/password/restricted, allowedEmails, allowedDomains, hasPassword). Read-only counterpart to set_site_acc
- `export_account` — Return a JSON bundle of the user's profile, sites, Site Data, drives, and metadata (secrets excluded). Data portability.
- `whoami` — Who am I? Returns the signed-in account: email, @handle, plan + limits, counts of sites/domains/drives, and connected DNS providers. Call this first to orient b
- `get_account_status` — Get the signed-in account's plan, capabilities, and upgrade URL. Call this FIRST when figuring out what features you have access to — it tells you exactly what'
- `list_drives` — List the user's private cloud Drives (id, name). Optional clientId filters to one client.
- `create_drive` — Create a private cloud Drive (plan-limited). Pass client to file it under a client.
- `drive_list_files` — List files in a Drive (driveId = drv_…, or "default"). Optional prefix filter.
- `drive_put_file` — Write a file into a Drive (driveId = drv_… or "default"). content is utf8 or base64. Use for agent memory, notes, context, assets.
- `drive_delete_file` — Delete a file from a Drive.
- `publish_from_drive` — Snapshot a Drive (or a prefix of it) into a new live site at <slug>.shiply.now. Files copied server-side.
- `set_profile` — Create or update the user's public PORTFOLIO page at shiply.now/@<handle> (handle 3-30 chars a-z0-9-) — a landing page listing the user's sites. This is NOT a s
- `feature_site` — Toggle whether an owned, public site appears in the public shiply Explore gallery (https://shiply.now/explore). Only public-access sites are eligible.
- `set_variable` — Upsert a key/value in the user's encrypted variable store (UPPER_SNAKE name, ≤8 KiB value). Use for API keys the user's sites/agents need, e.g. SUPABASE_URL. NO
- `list_variables` — List the encrypted variables. Values are masked unless reveal=true.
- `delete_variable` — Remove one variable by name.
- `attach_variable` — Expose one saved variable to ONE owned site's Worker env (plain_text binding). Opt-in per site — unattached variables are never injected, because the Worker run
- `detach_variable` — Stop exposing a variable to a site's Worker env. Takes effect on the site's next function deploy.
- `list_site_variables` — Names of the variables attached to an owned site's Worker env (values never shown here).
- `list_databases` — List the SQL databases (D1 or Neon Postgres) on my account, including which owned site (if any) each is attached to. Call this BEFORE db_query/db_schema-style w
- `create_database` — Provision a SQL database — D1 (default, free) or Neon Postgres (--postgres, developer plan). Optionally attach it to an owned site's Worker env in the same call
- `delete_database` — PERMANENTLY delete a database and all its data. Irreversible — confirm with the user first.
- `attach_database` — Bind an existing database to one owned site's Worker env (the binding name chosen at create_database time). Takes effect on the site's next function/publish dep
- `data_list_collections` — List collections declared in an owned site's .shiply/data.json with current record counts. Empty list means the site has no manifest yet — scaffold one with `sh
- `data_query` — Page records from an owned site's collection, newest-first. limit ≤ 200 (default 50). cursor from a previous response's nextCursor.
- `data_insert` — Insert one record into a collection. Goes through the same public visitor endpoint a browser would use — manifest access.insert decides whether it is allowed. U
- `data_export_collection` — Return up to `limit` records (default 1000, max 5000) from a collection — for snapshotting into agent context. For larger sets use the CLI: `shiply data export 
- …and 74 more

## Install

**Verdict: review** — Installable, but 2 things to check first: No CVE coverage: this entry has no npm/PyPI coordinates to query OSV against, so "no known vulnerabilities" is not a claim that can be made about it.
**Cautions** (coverage gaps and advisories — never blocking)
- No CVE coverage: this entry has no npm/PyPI coordinates to query OSV against, so "no known vulnerabilities" is not a claim that can be made about it.
- No publisher has proved control of this listing; it is indexed, not vouched for.
**Config** (claude-code):
```json
"{\n  \"mcpServers\": {\n    \"shiply\": {\n      \"type\": \"http\",\n      \"url\": \"https://shiply.now/mcp\"\n    }\n  }\n}"
```

## Blast radius

Extensive to critical — no credential declaration found, from the publisher, the upstream registry, or the README. Known so far: deletes data; 12 privileged tools.
- Floor 38, ceiling 62 (tier: unknown)
- `unknown` means the floor and ceiling land in different bands — not measured enough to name one. It does not mean low.
- This is impact, not likelihood. A high radius is not a defect: a filesystem server is supposed to write files. It is never part of the trust score.

## Machine-readable views of this entry

- Signed JSON: https://forgeregistry.com/api/v1/packages/now.shiply%2Fshiply
- Install plan: https://forgeregistry.com/api/v1/packages/now.shiply%2Fshiply/install-plan
- Alternatives: https://forgeregistry.com/api/v1/alternatives/now.shiply%2Fshiply
- HTML page: https://forgeregistry.com/registry/now.shiply%2Fshiply
- MCP: POST https://forgeregistry.com/api/mcp → `forge_get_package` / `forge_install_plan`

## About this document

Generated by Forge (https://forgeregistry.com) — a compact rendering of the same record served, signed, at the JSON URL above. Trust and scan facts are the registry's own measurements; anything Forge did not measure is named as unmeasured rather than omitted.
