Index / MCP servers / Shiply

Shiply MCP server

Shiply is a remote MCP server that gives an AI agent 114 tools, among them add_custom_domain, add_domain, add_sending_domain. It answers at https://shiply.now/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 12 September 2026; the last check, on 24 October 2026, succeeded.

Status
Answering
Tools
114
Official
yes, served from shiply.now
Reliability
6 of 6 checks
Response time
1777 ms
Transport
streamable HTTP
Last checked
24 October 2026

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

Description as the publisher wrote it.

The 114 tools Shiply offers

ToolWhat it does
add_custom_domainRegister a registrable domain (e.g. example.com) the user owns and detect its DNS provider. Returns the provider and whether one-click connect is available. Then attach sites with add_subdomain.
Inputs: domain
add_domainServe a site on a domain the user owns. Returns the CNAME to add (hostname → cname.shiply.now); the certificate issues automatically once DNS resolves. Poll with check_domain.
Inputs: hostname, slug
add_sending_domainRegister a domain the user owns for outbound demand-test sends. Returns DNS records (SPF, DKIM, MX) to add at the DNS provider. After DNS propagates, call verify_sending_domain. Cannot be a shiply.now subdomain.
Inputs: domain
add_subdomainServe an owned site at <subdomain>.<domain> (use subdomain "@" or "" for the apex — apex needs a provider with CNAME flattening/ALIAS, e.g. Cloudflare). Auto-registers the parent domain. Returns the CNAME record to add (host -> cname.shiply
Inputs: domain, subdomain, slug
add_suppressionAdd an address (or whole domain) to the user's suppression list. Future confirmations and broadcasts will skip it across every test. Use kind='email' for a single address, kind='domain' for everyone @example.com.
Inputs: kind, value, notes
archive_projectMove a project to status='archived'. Hidden from the default dashboard list. Optional reason is shown on the project page. Restore later with restore_project.
Inputs: id, reason
archive_threadSoft-archive the thread (sets archivedAt). Hidden from the default inbox view; surface again with list_inbox filter=archived. Reverse with unarchive_thread.
Inputs: threadId
attach_databaseBind 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 deploy.
Inputs: id, siteSlug
attach_variableExpose 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 runs the site's own code. Takes effect on the site's next function deploy.
Inputs: slug, name
check_custom_domainCheck whether a custom domain's subdomains are live: re-polls Cloudflare cert status + probes DNS/TLS/HTTPS on each subdomain. Poll this after connect_provider / add_subdomain to confirm the domain is serving. Returns per-subdomain status +
Inputs: domain
check_domainRefresh certificate status + live TLS/HTTPS probe for a connected domain (by id from list_domains).
Inputs: id
connect_providerStart one-click DNS connect for a registered custom domain. For Cloudflare-hosted domains this returns an authorize URL — SHOW THE USER the url as a clickable link; after they authorize, records are written automatically. For other provider
Inputs: domain
contract_amendCreate an amendment to a SIGNED parent contract. Scope delta required; fee delta and target date optional. Returns the draft amendment for editing before send — call contract_send with the returned amendment id to fire it. Cannot amend an a
Inputs: parentContractId, scopeDelta, feeDeltaCents, targetCompletionDate
contract_draftDraft a contract from a brief_ready project. Auto-fills 8 fields from the AI brief, Stripe Connect default currency, and dev profile. Returns the contract row with status='draft' so the dev can review fields before sending. After this, edit
Inputs: projectId
contract_pdfGet the signed contract PDF as a base64-encoded download. PDF includes the contract, signature certificate, and any signed amendments. Returns { filename, contentType, base64 }. Errors with conflict:contract_not_signed if the parent contrac
Inputs: contractId
contract_sendSend a draft contract to the customer. Validates all 8 fields are non-empty, computes content_hash, flips project to contract_sent, fires the customer email. Same handler works for amendment drafts — sending an amendment does not move proje
Inputs: contractId
contract_statusRead the current state of a contract: status, sent_at, viewed_at, signed_at, signer info, content_hash, plus any amendments. Use this to check whether a customer has signed yet. Returns { contract, amendments } — the contract row matches GE
Inputs: contractId
create_databaseProvision 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 (siteSlug); otherwise attach it later with attach_database.
Inputs: name, provider, siteSlug, binding
create_driveCreate a private cloud Drive (plan-limited). Pass client to file it under a client.
Inputs: name, client
create_listingPublish (or upsert) a marketplace listing for an owned site. Requires Stripe Connect set up (status='ready' — see get_connect_status). priceCents = whole-dollar between 100 and 999900. termsMode='standard' uses shiply's template; 'custom' r
Inputs: siteSlug, priceCents, pitch, termsMode, termsCustom, jurisdiction
create_projectSpin up a new customer-intake project on the dev's account. Returns the project row plus intakeUrl — the public link the customer fills out (10-step wizard). If customerEmail is provided, shiply also emails them the intake invite. Use origi
Inputs: label, customerName, customerEmail, originatedFromSiteId
create_testProvision a demand test in one call: deploys a landing page with a native email-capture form and creates a confirmed-subscriber segment. Returns testId + live siteUrl. Share the siteUrl to collect signups; each signup gets a double-opt-in c
Inputs: idea, headline, sub, cta, price
data_export_collectionReturn 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 <slug> <collection>`.
Inputs: slug, collection, limit
data_insertInsert one record into a collection. Goes through the same public visitor endpoint a browser would use — manifest access.insert decides whether it is allowed. Use to seed waitlist data, test forms end-to-end, etc.
Inputs: slug, collection, record
data_list_collectionsList 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 `shiply data init`.
Inputs: slug
data_queryPage records from an owned site's collection, newest-first. limit ≤ 200 (default 50). cursor from a previous response's nextCursor.
Inputs: slug, collection, limit, cursor
delete_databasePERMANENTLY delete a database and all its data. Irreversible — confirm with the user first.
Inputs: id
delete_listingTake a listing off the public marketplace by moving it to status='draft'. Marketplace v1 keeps the row so analytics + future re-listing work — there's no hard delete. Sold listings can't be modified. Use to stop accepting offers without los
Inputs: siteSlug
delete_sitePERMANENTLY delete a site and all stored files. Irreversible — confirm with the user first.
Inputs: slug
delete_variableRemove one variable by name.
Inputs: name
deploy_functionDeploy a Worker function to a site. The function runs on every request to <slug>.shiply.now and can receive webhooks, run on cron triggers, and access bindings (D1, secrets, env vars). Requires Developer plan. Use when the user wants webhoo
Inputs: slug, source, lang, crons
detach_variableStop exposing a variable to a site's Worker env. Takes effect on the site's next function deploy.
Inputs: slug, name
drive_delete_fileDelete a file from a Drive.
Inputs: driveId, path
drive_list_filesList files in a Drive (driveId = drv_…, or "default"). Optional prefix filter.
Inputs: driveId, prefix
drive_put_fileWrite a file into a Drive (driveId = drv_… or "default"). content is utf8 or base64. Use for agent memory, notes, context, assets.
Inputs: driveId, path, content, encoding
duplicate_siteServer-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 on variants.
Inputs: slug, title
export_accountReturn a JSON bundle of the user's profile, sites, Site Data, drives, and metadata (secrets excluded). Data portability.
feature_siteToggle whether an owned, public site appears in the public shiply Explore gallery (https://shiply.now/explore). Only public-access sites are eligible.
Inputs: slug, show
forward_threadForward a message from a thread (default: the most recent message) to a NEW recipient with an optional intro note. Body is composed as note + standard '---------- Forwarded message ----------' quote of the original. Goes from the thread's e
Inputs: threadId, to, messageId, subject, note
get_account_statusGet 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's available and what's blocked. The upgrade_url is human-clickable; show it in c
74 more tools

get_analytics, get_connect_status, get_function, get_function_logs, get_project, get_site, get_site_access, get_test_status, list_complaints, list_crons, list_custom_domains, list_databases, list_domains, list_drives, list_inbox, list_listings, list_mailbox_contacts, list_my_orders, list_my_sales, list_project_files, list_projects, list_secrets, list_sending_domains, list_site_inbox, list_site_variables, list_sites, list_suppressions, list_test_inbox_addresses, list_tests, list_unsubscribes, list_variables, list_versions, mark_thread_read, promote_site, publish_from_drive, publish_site, pull_site, read_thread, refund_order, regenerate_brief, remove_cron, remove_custom_domain, remove_domain, remove_function, remove_secret, remove_sending_domain, remove_suppression, reply_to_thread, resend_confirmation, resend_intake_invite, restore_project, rollback_site, send_broadcast, send_email, send_mailbox_broadcast, set_cron, set_handle, set_link, set_mailbox, set_primary_subdomain, set_profile, set_secret, set_site_access, set_variable, site_status, summarize_thread, sync_dns, unarchive_thread, update_brief, update_listing, verify_claim, verify_sending_domain, verify_site, whoami

Add Shiply to your AI client

Every block below points at https://shiply.now/mcp. Pick your client and copy.

Claude Code: one command in your terminal
claude mcp add --transport http shiply https://shiply.now/mcp
Claude Desktop: claude_desktop_config.json
{
  "mcpServers": {
    "shiply": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://shiply.now/mcp"]
    }
  }
}
Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
  "mcpServers": {
    "shiply": {
      "url": "https://shiply.now/mcp"
    }
  }
}
VS Code and GitHub Copilot: .vscode/mcp.json
{
  "servers": {
    "shiply": {
      "type": "http",
      "url": "https://shiply.now/mcp"
    }
  }
}
Zed: Zed settings.json
{
  "context_servers": {
    "shiply": {
      "url": "https://shiply.now/mcp"
    }
  }
}
Windsurf: ~/.codeium/mcp_config.json
{
  "mcpServers": {
    "shiply": {
      "serverUrl": "https://shiply.now/mcp"
    }
  }
}
JetBrains AI Assistant: Settings, Tools, AI Assistant, MCP, New MCP Server, as JSON
{
  "mcpServers": {
    "shiply": {
      "url": "https://shiply.now/mcp"
    }
  }
}
Continue: .continue/mcpServers/neuronto.yaml
name: Shiply
version: 0.0.1
schema: v1
mcpServers:
  - name: Shiply
    type: streamable-http
    url: https://shiply.now/mcp
Gemini CLI: ~/.gemini/settings.json
{
  "mcpServers": {
    "shiply": {
      "httpUrl": "https://shiply.now/mcp"
    }
  }
}
Codex CLI: MCP server config
{
  "mcpServers": {
    "shiply": {
      "type": "http",
      "url": "https://shiply.now/mcp"
    }
  }
}
Warp: MCP servers, + Add, paste JSON
{
  "mcpServers": {
    "shiply": {
      "url": "https://shiply.now/mcp"
    }
  }
}
Goose: a one-click extension link
goose://extension?url=https%3A%2F%2Fshiply.now%2Fmcp&type=streamable_http&id=shiply&name=Shiply

Is Shiply up right now?

It answered our last check on 24 October 2026 in 1777 ms. Over 6 checks since 12 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.

MCP servers similar to Shiply

Questions about Shiply

Is there an official Shiply MCP server?

Yes. It is published by shiply.now and served from shiply.now, the vendor's own domain: https://shiply.now/mcp.

How many tools does Shiply have?

114, as returned by the server's own tools/list on 23 September 2026: add_custom_domain, add_domain, add_sending_domain, add_subdomain, add_suppression, archive_project, archive_thread, attach_database, and 106 more.

Is Shiply down?

It answered our last check on 24 October 2026 in 1777 ms. Over 6 checks since 12 September 2026 it answered 6.

How do I add Shiply to Cursor?

Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://shiply.now/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.

Does Shiply need an API key?

It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.

Where this comes from

Publisher: now.shiply. Endpoint host: shiply.now. ARD identifier: urn:air:now.shiply:mcp:shiply. First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page is inferred from its name. Ranking in Neuronto search is never for sale.

Is this your server? Get a message the day it stops answering or its tools change: monitoring, 14 days free. Or claim the domain to manage how it is listed.