now.shiply/shiply

MCPcomunidaden línea
v1.1.0now.shiplyUnknownActualizado hace 1 m

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

Estado del endpointen línea
comprobado hace 3 h · 3779 ms
100 % de las últimas 3 comprobaciones llegaron a este endpoint
Funciona en
ClaudeCursorCopilotChatGPTGemini

Inferido de los transportes que declara este listado (streamable-http). Que un cliente no aparezca aquí no significa que se haya descartado: simplemente Forge no puede confirmarlo.

Indexado automáticamente desde fuentes públicas. Aún sin verificar por su desarrollador en Forge.Reclamar este listado →
hace 1 mÚltima actualización
Paquete
Autornow.shiply
LicenciaUnknown
Versión1.1.0
Fuentemcp-registry
Estado de confianza
B
60/100Bueno
Listado en el índice de Forge+10/10
Identidad del publicador verificada+0/30
Publicador: este listado no tiene ningún repositorio registrado, así que `forge publish` no puede verificar la propiedad de forma automática. Usa «Reclamar este listado» arriba — en Forge lo revisamos a mano.
Verificación de dominio+0/10
Ahora mismo no está disponible para este tipo de listado: hoy la comprobación de dominio solo se ejecuta para paquetes publicados en npm, así que esta fila todavía no se puede conseguir aquí, sea lo que sea lo que haya alojado en el dominio.
Análisis de inyección de prompts · limpio+30/30
Análisis de ofuscación / exfiltración · limpio+20/20
EstadoIndexado por la comunidad
PublicadorSin verificar
FirmaSin firmar
Dominio
Procedencia
DependenciasSin auditar
Superficie de herramientas114 herramientas · 12 privilegiadas
Análisis de seguridad✓ Limpiovlive · hoy¿Qué tan bien funciona este análisis?
EvaluacionesNinguna
Indexado23 jun 2026

La verificación confirma la identidad del publicador (la propiedad del repo), no la seguridad del código. El análisis de seguridad cubre los CVE conocidos y los scripts de instalación sospechosos.

Herramientas

114 herramientas · 12 privilegiadas
Observado en vivo desde el endpoint del proveedor3h ago

Leído de un handshake MCP real initialize → tools/list contra el endpoint declarado. No se invocó ninguna herramienta: tools/list es la llamada de introspección de solo lectura que el protocolo define para esto. Refleja lo que el servidor anunciaba en ese momento; un endpoint alojado no está fijado a ninguna versión y puede cambiar sin avisar.

  • https://shiply.now/mcp114 herramientas · 3779 ms
publish_sitePublish 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 (sites you own with a Bearer key) and the SAME URL gets the new version. Unchanged files are hash-skipped server-side, so re-publishing (includ…

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 (sites you own with a Bearer key) and the SAME URL gets the new version. Unchanged files are hash-skipped server-side, so re-publishing (includ…

ParámetroTipoDescripción
files*arraysite files; index.html required for a homepage
spaModebooleanserve index.html for unknown paths (client-side routing)
claimTokenstringUPDATE an existing anonymous site (from the original publish result)
slugstringUPDATE an existing site you own (requires Bearer key)
titlestringdisplay title for the site
agentNamestringlabel shown during the automatic account re-auth flow
clientobjectoptional: file this under a client (the publish/site is grouped in their customer view)
site_statusCheck any shiply slug or custom hostname: TLS certificate (issuer, days left) + HTTPS probe. ready=true means live.

Check any shiply slug or custom hostname: TLS certificate (issuer, days left) + HTTPS probe. ready=true means live.

ParámetroTipoDescripción
target*stringslug (my-site) or hostname (www.example.com)
verify_siteEdge-check a shiply slug or custom hostname and return a structured readiness report: status (LIVE/PENDING), SSL details (valid, issuer, daysLeft), HTTP probe, and a presigned thumbnail URL when available. Use this after publishing to confirm the site is reachable.

Edge-check a shiply slug or custom hostname and return a structured readiness report: status (LIVE/PENDING), SSL details (valid, issuer, daysLeft), HTTP probe, and a presigned thumbnail URL when available. Use this after publishing to confirm the site is reachable.

ParámetroTipoDescripción
target*stringslug (my-site) or hostname (www.example.com)
list_sitesList the sites owned by this API key. Optional clientId filters to one client.

List the sites owned by this API key. Optional clientId filters to one client.

ParámetroTipoDescripción
clientIdstringonly sites filed under this client
get_siteSite settings + version history for one of my sites.

Site settings + version history for one of my sites.

ParámetroTipoDescripción
slug*stringsite slug, e.g. my-site
delete_siteprivilegiadaPERMANENTLY delete a site and all stored files. Irreversible — confirm with the user first.

PERMANENTLY delete a site and all stored files. Irreversible — confirm with the user first.

ParámetroTipoDescripción
slug*stringsite slug to delete
rollback_siteRe-point a site to any finalized version (rollback or roll-forward). Get version ids from get_site. Serving updates immediately.

Re-point a site to any finalized version (rollback or roll-forward). Get version ids from get_site. Serving updates immediately.

ParámetroTipoDescripción
slug*stringsite slug to re-point
versionId*stringfinalized version id from get_site
list_versionsList 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 re-point the site to it.

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 re-point the site to it.

ParámetroTipoDescripción
slug*stringsite slug to list deploys for
pull_siteDownload 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 sites return editable source; framework/SSR sites return the built bundle (`.shiply/bundle/*`), not original source.

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 sites return editable source; framework/SSR sites return the built bundle (`.shiply/bundle/*`), not original source.

ParámetroTipoDescripción
slug*stringsite slug to pull files for
set_handleGive 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 all your sites, use set_profile instead — that lives at shiply.now/@<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 all your sites, use set_profile instead — that lives at shiply.now/@<handle>.)

ParámetroTipoDescripción
slug*stringcurrent site slug
handle*stringnew vanity handle, 3-30 chars a-z 0-9 -
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.

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 on variants.

ParámetroTipoDescripción
slug*stringsite slug to copy
titlestringdisplay title for the new copy (defaults to source title)
promote_siteCopy the EXACT live bytes of one owned site (srcSlug — your preview) into another owned site (destSlug — your production site / custom domain), no rebuild. Dest keeps its slug, domains, and access settings; only the served bytes change.

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 keeps its slug, domains, and access settings; only the served bytes change.

ParámetroTipoDescripción
srcSlug*string
destSlug*string
set_linkPath-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. Both sites must be owned by you. Pass remove=true to unmount.

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. Both sites must be owned by you. Pass remove=true to unmount.

ParámetroTipoDescripción
hostSlug*stringslug of the owned host site
location*stringpath to mount at, e.g. "docs", or "__root__" for the host root
targetSlugstringslug of the owned site to serve there (required unless remove=true)
removebooleanunmount instead of mounting
set_site_accessProtect an owned site (paid plans). mode 'public' (anyone), 'password' (supply password), or 'restricted' (supply allowedEmails and/or allowedDomains — only those can request a login code). Changing any setting signs out existing visitors.

Protect an owned site (paid plans). mode 'public' (anyone), 'password' (supply password), or 'restricted' (supply allowedEmails and/or allowedDomains — only those can request a login code). Changing any setting signs out existing visitors.

ParámetroTipoDescripción
slug*stringowned site slug to protect
mode*stringpublic = anyone; password = supply password; restricted = supply allowedEmails/allowedDomains
passwordstringrequired when mode='password'
allowedEmailsarrayallowlisted emails when mode='restricted'
allowedDomainsarrayallowlisted email domains when mode='restricted'
get_site_accessRead an owned site's current access policy (mode: public/password/restricted, allowedEmails, allowedDomains, hasPassword). Read-only counterpart to set_site_access — check before changing it.

Read an owned site's current access policy (mode: public/password/restricted, allowedEmails, allowedDomains, hasPassword). Read-only counterpart to set_site_access — check before changing it.

ParámetroTipoDescripción
slug*stringowned site slug
export_accountReturn a JSON bundle of the user's profile, sites, Site Data, drives, and metadata (secrets excluded). Data portability.

Return a JSON bundle of the user's profile, sites, Site Data, drives, and metadata (secrets excluded). Data portability.

No se publicó ningún esquema de entrada para esta herramienta.

whoamiWho 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 before managing sites or domains.

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 before managing sites or domains.

No se publicó ningún esquema de entrada para esta herramienta.

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 chat when a feature requires a higher plan. Returns plan id…

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's available and what's blocked. The upgrade_url is human-clickable; show it in chat when a feature requires a higher plan. Returns plan id…

No se publicó ningún esquema de entrada para esta herramienta.

list_drivesList the user's private cloud Drives (id, name). Optional clientId filters to one client.

List the user's private cloud Drives (id, name). Optional clientId filters to one client.

ParámetroTipoDescripción
clientIdstringonly drives filed under this client
create_driveCreate a private cloud Drive (plan-limited). Pass client to file it under a client.

Create a private cloud Drive (plan-limited). Pass client to file it under a client.

ParámetroTipoDescripción
name*stringdisplay name for the new drive
clientobjectoptional: file this under a client (the publish/site is grouped in their customer view)
drive_list_filesList files in a Drive (driveId = drv_…, or "default"). Optional prefix filter.

List files in a Drive (driveId = drv_…, or "default"). Optional prefix filter.

ParámetroTipoDescripción
driveId*stringdrive id (drv_…) or "default"
prefixstringonly list files under this path 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.

Write a file into a Drive (driveId = drv_… or "default"). content is utf8 or base64. Use for agent memory, notes, context, assets.

ParámetroTipoDescripción
driveId*stringdrive id (drv_…) or "default"
path*stringdestination path inside the drive, e.g. notes/context.md
content*stringfile contents (utf8 text, or base64 when encoding=base64)
encodingstringdefault utf8; base64 for binary
drive_delete_fileprivilegiadaDelete a file from a Drive.

Delete a file from a Drive.

ParámetroTipoDescripción
driveId*stringdrive id (drv_…) or "default"
path*stringpath of the file to delete
publish_from_driveSnapshot a Drive (or a prefix of it) into a new live site at <slug>.shiply.now. Files copied server-side.

Snapshot a Drive (or a prefix of it) into a new live site at <slug>.shiply.now. Files copied server-side.

ParámetroTipoDescripción
driveId*stringdrive id (drv_…) or "default"
titlestringdisplay title for the new site
prefixstringonly snapshot files under this path prefix
set_profileCreate 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 site's address: to give one site a vanity URL like <handle>.shiply.now, use set_handle instead. enable shows the profile; autoAdd auto-lists…

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 site's address: to give one site a vanity URL like <handle>.shiply.now, use set_handle instead. enable shows the profile; autoAdd auto-lists…

ParámetroTipoDescripción
handlestringpublic portfolio handle, 3-30 chars a-z 0-9 -; portfolio lives at shiply.now/@<handle> (a page listing your sites — not a site URL; for a site vanity URL use s…
enablebooleanshow (true) or hide (false) the public profile
autoAddbooleanauto-list newly published sites on the profile
feature_siteToggle whether an owned, public site appears in the public shiply Explore gallery (https://shiply.now/explore). Only public-access sites are eligible.

Toggle whether an owned, public site appears in the public shiply Explore gallery (https://shiply.now/explore). Only public-access sites are eligible.

ParámetroTipoDescripción
slug*stringowned, public site slug
show*booleantrue to feature on Explore, false to remove
set_variableUpsert 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. NOTE: saving alone does NOT expose it to any site Worker's env — attach it to a specific site with attach_variable (takes effect on that site…

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. NOTE: saving alone does NOT expose it to any site Worker's env — attach it to a specific site with attach_variable (takes effect on that site…

ParámetroTipoDescripción
name*stringvariable name, UPPER_SNAKE_CASE, e.g. SUPABASE_URL
value*stringvalue to store (encrypted, ≤8 KiB)
list_variablesList the encrypted variables. Values are masked unless reveal=true.

List the encrypted variables. Values are masked unless reveal=true.

ParámetroTipoDescripción
revealbooleanreturn plaintext values instead of masked
delete_variableprivilegiadaRemove one variable by name.

Remove one variable by name.

ParámetroTipoDescripción
name*stringvariable name to delete
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.

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 runs the site's own code. Takes effect on the site's next function deploy.

ParámetroTipoDescripción
slug*stringowned site slug
name*stringvariable name to attach, e.g. SUPABASE_URL
detach_variableStop exposing a variable to a site's Worker env. Takes effect on the site's next function deploy.

Stop exposing a variable to a site's Worker env. Takes effect on the site's next function deploy.

ParámetroTipoDescripción
slug*stringowned site slug
name*stringvariable name to detach
list_site_variablesNames of the variables attached to an owned site's Worker env (values never shown here).

Names of the variables attached to an owned site's Worker env (values never shown here).

ParámetroTipoDescripción
slug*stringowned site slug
list_databasesList 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 work to discover a databaseId — those live on a per-database MCP server reached via GET /api/v1/databases/{id} (see llms.txt), which this id…

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 work to discover a databaseId — those live on a per-database MCP server reached via GET /api/v1/databases/{id} (see llms.txt), which this id…

No se publicó ningún esquema de entrada para esta herramienta.

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.

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 (siteSlug); otherwise attach it later with attach_database.

ParámetroTipoDescripción
name*stringdatabase name, a-z 0-9 -, 2-63 chars
providerstringdefaults to d1
siteSlugstringowned site slug to attach immediately
bindingstringWorker binding name, UPPER_SNAKE (defaults to a name derived from `name`)
delete_databaseprivilegiadaPERMANENTLY delete a database and all its data. Irreversible — confirm with the user first.

PERMANENTLY delete a database and all its data. Irreversible — confirm with the user first.

ParámetroTipoDescripción
id*stringdatabase id (from list_databases)
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.

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 deploy.

ParámetroTipoDescripción
id*stringdatabase id (from list_databases)
siteSlug*stringowned site slug
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`.

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 `shiply data init`.

ParámetroTipoDescripción
slug*stringowned site slug
data_queryPage records from an owned site's collection, newest-first. limit ≤ 200 (default 50). cursor from a previous response's nextCursor.

Page records from an owned site's collection, newest-first. limit ≤ 200 (default 50). cursor from a previous response's nextCursor.

ParámetroTipoDescripción
slug*stringowned site slug
collection*stringcollection name from data_list_collections
limitintegermax records to return, ≤200 (default 50)
cursorstringnextCursor from a previous response's page
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.

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. Use to seed waitlist data, test forms end-to-end, etc.

ParámetroTipoDescripción
slug*stringowned site slug
collection*stringcollection name to insert into
record*objectthe record fields to insert as key/value pairs
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>`.

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 <slug> <collection>`.

ParámetroTipoDescripción
slug*stringowned site slug
collection*stringcollection name to export
limitintegermax records to return (default 1000, max 5000)
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.

Serve 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.

ParámetroTipoDescripción
hostname*stringfull hostname to serve, e.g. www.example.com
slug*stringowned site slug to serve there
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.

Register 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.

ParámetroTipoDescripción
domain*stringregistrable domain you own, e.g. example.com
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.now); the certificate issues automatically once DNS resolv…

Serve 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.now); the certificate issues automatically once DNS resolv…

ParámetroTipoDescripción
domain*stringregistrable parent domain, e.g. example.com
subdomain*stringsubdomain label, or "@"/"" for the apex
slug*stringowned site slug to serve there
set_primary_subdomainMark a hostname as the primary (canonical) URL for its site. Sibling hostnames (apex + www both pointed at the same site) start 301-redirecting to it, preserving path + query. The host-side fix for the duplicate-content SEO problem. The first subdomain you add for a site is primary by default; call…

Mark a hostname as the primary (canonical) URL for its site. Sibling hostnames (apex + www both pointed at the same site) start 301-redirecting to it, preserving path + query. The host-side fix for the duplicate-content SEO problem. The first subdomain you add for a site is primary by default; call…

ParámetroTipoDescripción
domain*stringregistered custom domain, e.g. example.com
hostname*stringfull hostname to make primary, e.g. www.example.com
list_custom_domainsList registered custom domains grouped with their subdomains, each subdomain's site and status, and the detected provider.

List registered custom domains grouped with their subdomains, each subdomain's site and status, and the detected provider.

No se publicó ningún esquema de entrada para esta herramienta.

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 providers, add the records manually.

Start 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 providers, add the records manually.

ParámetroTipoDescripción
domain*stringregistered custom domain to connect, e.g. example.com
sync_dnsFor a connected custom domain, (re)write the CNAME records for all its subdomains automatically and report what changed. For unconnected domains, returns the records to add manually.

For a connected custom domain, (re)write the CNAME records for all its subdomains automatically and report what changed. For unconnected domains, returns the records to add manually.

ParámetroTipoDescripción
domain*stringregistered custom domain to sync, e.g. example.com
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 + tls + http + ready.

Check 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 + tls + http + ready.

ParámetroTipoDescripción
domain*stringregistered custom domain to check, e.g. example.com
remove_custom_domainprivilegiadaRemove a registered custom domain and all its subdomains; they stop serving immediately.

Remove a registered custom domain and all its subdomains; they stop serving immediately.

ParámetroTipoDescripción
domain*stringregistered custom domain to remove, e.g. example.com
list_domainsList connected custom domains with status.

List connected custom domains with status.

No se publicó ningún esquema de entrada para esta herramienta.

check_domainRefresh certificate status + live TLS/HTTPS probe for a connected domain (by id from list_domains).

Refresh certificate status + live TLS/HTTPS probe for a connected domain (by id from list_domains).

ParámetroTipoDescripción
id*stringconnected domain id from list_domains
remove_domainprivilegiadaRemove a connected domain (by id). It stops serving immediately.

Remove a connected domain (by id). It stops serving immediately.

ParámetroTipoDescripción
id*stringconnected domain id from list_domains
get_analyticsDaily page views per site for the last 30 days.

Daily page views per site for the last 30 days.

No se publicó ningún esquema de entrada para esta herramienta.

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 confirmation. Read progress with get_test_status.

Provision 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 confirmation. Read progress with get_test_status.

ParámetroTipoDescripción
idea*stringthe product/idea name
headline*stringlanding-page headline
substringsubheadline / supporting line
ctastringcall-to-action button label
pricestringprice to display, e.g. "$29/mo"
list_testsList your demand tests with signups + confirmed counts.

List your demand tests with signups + confirmed counts.

No se publicó ningún esquema de entrada para esta herramienta.

get_test_statusONE consolidated object: page funnel (views, signups, confirmed, conversion) ⊕ email events (delivered/opened/clicked/bounced) ⊕ a computed verdict. The single place to check progress — never query email separately.

ONE consolidated object: page funnel (views, signups, confirmed, conversion) ⊕ email events (delivered/opened/clicked/bounced) ⊕ a computed verdict. The single place to check progress — never query email separately.

ParámetroTipoDescripción
testId*stringdemand test id from create_test / list_tests
send_broadcastSend a campaign to this test's confirmed (double-opt-in) subscribers — the "we're live" email. An unsubscribe link is added automatically. Fails if there are no confirmed subscribers yet.

Send a campaign to this test's confirmed (double-opt-in) subscribers — the "we're live" email. An unsubscribe link is added automatically. Fails if there are no confirmed subscribers yet.

ParámetroTipoDescripción
testId*stringdemand test id whose confirmed subscribers to email
subject*stringemail subject line
html*stringemail HTML body (unsubscribe link added automatically)
textstringplain-text fallback body
resend_confirmationRe-send the double-opt-in confirmation to a signup that has not confirmed yet.

Re-send the double-opt-in confirmation to a signup that has not confirmed yet.

ParámetroTipoDescripción
testId*stringdemand test id the signup belongs to
email*stringthe unconfirmed signup email to re-send to
verify_claimConfirm a pairing code shown in the user's browser at https://shiply.now/claim/<slug>?pair=1. Use ONLY in the agent session that originally published the site — it reads the claimToken from .shiply.json in the current working directory and proves to Shiply that this agent session is authorised to c…

Confirm a pairing code shown in the user's browser at https://shiply.now/claim/<slug>?pair=1. Use ONLY in the agent session that originally published the site — it reads the claimToken from .shiply.json in the current working directory and proves to Shiply that this agent session is authorised to c…

ParámetroTipoDescripción
code*stringthe SHIPLY-XXXXXXXX code in the user's browser
list_inboxList the user's email inbox threads (outbound demand-test sends + inbound replies / unsubscribes / complaints / bounces). Filter by tag.

List the user's email inbox threads (outbound demand-test sends + inbound replies / unsubscribes / complaints / bounces). Filter by tag.

ParámetroTipoDescripción
filterstringdefault all
limitintegermax threads to return, ≤200
offsetintegernumber of threads to skip (pagination)
read_threadReturn the thread metadata + all messages in chronological order. Use list_inbox first to get a threadId.

Return the thread metadata + all messages in chronological order. Use list_inbox first to get a threadId.

ParámetroTipoDescripción
threadId*stringthread id from list_inbox
summarize_threadOne-paragraph summary of the thread, oriented to the most actionable signal (interest, complaint, question, unsubscribe).

One-paragraph summary of the thread, oriented to the most actionable signal (interest, complaint, question, unsubscribe).

ParámetroTipoDescripción
threadId*stringthread id from list_inbox
reply_to_threadSend an email reply on an existing thread. Goes FROM the original recipient address (the <slug>@shiply.now alias the sender used) and TO the original sender. Threaded via RFC 5322 In-Reply-To so Gmail/Outlook group it with the original. Subject defaults to 'Re: <original>' when omitted. Cap at 20,0…

Send an email reply on an existing thread. Goes FROM the original recipient address (the <slug>@shiply.now alias the sender used) and TO the original sender. Threaded via RFC 5322 In-Reply-To so Gmail/Outlook group it with the original. Subject defaults to 'Re: <original>' when omitted. Cap at 20,0…

ParámetroTipoDescripción
threadId*stringthread id from list_inbox to reply on
body*stringreply body, ≤20,000 chars
subjectstringsubject; defaults to 'Re: <original>'
mark_thread_readZero the unread counter for a thread. Useful after the agent has read but not acted. read_thread already calls this implicitly; use this explicitly when you want to clear unread without re-fetching the thread body.

Zero the unread counter for a thread. Useful after the agent has read but not acted. read_thread already calls this implicitly; use this explicitly when you want to clear unread without re-fetching the thread body.

ParámetroTipoDescripción
threadId*stringthread id from list_inbox to mark read
archive_threadSoft-archive the thread (sets archivedAt). Hidden from the default inbox view; surface again with list_inbox filter=archived. Reverse with unarchive_thread.

Soft-archive the thread (sets archivedAt). Hidden from the default inbox view; surface again with list_inbox filter=archived. Reverse with unarchive_thread.

ParámetroTipoDescripción
threadId*stringthread id from list_inbox to archive
unarchive_threadRestore an archived thread (clears archivedAt). It reappears in the default inbox list. Pair with list_inbox filter=archived to find archived threadIds first.

Restore an archived thread (clears archivedAt). It reappears in the default inbox list. Pair with list_inbox filter=archived to find archived threadIds first.

ParámetroTipoDescripción
threadId*stringarchived thread id to restore
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 existing shiply alias so replies still route through the inb…

Forward 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 existing shiply alias so replies still route through the inb…

ParámetroTipoDescripción
threadId*stringthread id from list_inbox to forward from
to*stringnew recipient email address
messageIdstringspecific message to forward (default: most recent)
subjectstringsubject; defaults to 'Fwd: <original>'
notestringintro note prepended above the forwarded quote
list_test_inbox_addressesReturn every active demand test's reply / inbound address (<slug>@<sitesDomain>). Use this when you need to TELL someone where to email — e.g. drafting a reply or sharing a test's contact address. Mail sent to these aliases lands in /dashboard/inbox tied to the test.

Return every active demand test's reply / inbound address (<slug>@<sitesDomain>). Use this when you need to TELL someone where to email — e.g. drafting a reply or sharing a test's contact address. Mail sent to these aliases lands in /dashboard/inbox tied to the test.

No se publicó ningún esquema de entrada para esta herramienta.

list_unsubscribesShortcut for list_inbox with filter=unsubscribes — shows every thread tagged as an opt-out request.

Shortcut for list_inbox with filter=unsubscribes — shows every thread tagged as an opt-out request.

ParámetroTipoDescripción
limitintegermax threads to return, ≤200
list_suppressionsReturn the user's suppression list — addresses (and full domains) that shiply skips when sending. Bounces, complaints, manual user adds, and AI-detected unsubscribes all land here.

Return the user's suppression list — addresses (and full domains) that shiply skips when sending. Bounces, complaints, manual user adds, and AI-detected unsubscribes all land here.

No se publicó ningún esquema de entrada para esta herramienta.

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.

Add 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.

ParámetroTipoDescripción
kind*string'email' for one address, 'domain' for everyone @example.com
value*stringe.g. 'spammy@example.com' or 'competitor.com'
notesstringoptional reason / note for the suppression
remove_suppressionprivilegiadaDelete one suppression by id. Use list_suppressions first to find the id.

Delete one suppression by id. Use list_suppressions first to find the id.

ParámetroTipoDescripción
suppressionId*stringsuppression id from list_suppressions
list_complaintsReturn threads tagged as complaints (spam reports) OR bounces (recipient rejected). Read these before any further sending.

Return threads tagged as complaints (spam reports) OR bounces (recipient rejected). Read these before any further sending.

No se publicó ningún esquema de entrada para esta herramienta.

list_projectsList the dev's customer-intake projects (newest first). Optional filters: status (draft|intake_open|brief_ready|brief_failed|archived), q (case-insensitive match on label or customer email), limit (default 100). Use to triage what's in flight before opening a specific project.

List the dev's customer-intake projects (newest first). Optional filters: status (draft|intake_open|brief_ready|brief_failed|archived), q (case-insensitive match on label or customer email), limit (default 100). Use to triage what's in flight before opening a specific project.

ParámetroTipoDescripción
statusstringfilter by project status
qstringcase-insensitive match on label or customer email
clientIdstringonly projects filed under this client
limitintegermax projects to return (default 100)
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 originatedFromSiteId to link a project to an existing site (e.g.…

Spin 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 originatedFromSiteId to link a project to an existing site (e.g.…

ParámetroTipoDescripción
label*stringproject name shown in the dev dashboard
customerNamestringthe customer's name
customerEmailstringcustomer email; if set, shiply emails them the intake invite
originatedFromSiteIdstringlink this project to an existing site (e.g. a redesign)
get_projectRead one of the dev's projects by id — includes label, status, customer details, intake responses, AI brief, drive folder. Use before update_brief / regenerate_brief.

Read one of the dev's projects by id — includes label, status, customer details, intake responses, AI brief, drive folder. Use before update_brief / regenerate_brief.

ParámetroTipoDescripción
id*stringproject id
update_briefOverwrite the project's working brief (jsonb). Hard-capped at 500 KB. Use to revise the AI-generated brief by hand; the original AI output is preserved separately in briefAiOriginal so you can always compare. Does not change status.

Overwrite the project's working brief (jsonb). Hard-capped at 500 KB. Use to revise the AI-generated brief by hand; the original AI output is preserved separately in briefAiOriginal so you can always compare. Does not change status.

ParámetroTipoDescripción
id*stringproject id
brief*objectthe full replacement brief object (jsonb, ≤500 KB)
regenerate_briefRe-run the MiniMax/Anthropic brief generator from the project's current intake_responses and persist the result. Flips status to brief_ready on success or brief_failed on error. Use after the customer edits answers post-submit, or when the first AI attempt failed.

Re-run the MiniMax/Anthropic brief generator from the project's current intake_responses and persist the result. Flips status to brief_ready on success or brief_failed on error. Use after the customer edits answers post-submit, or when the first AI attempt failed.

ParámetroTipoDescripción
id*stringproject id to re-run the brief for
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.

Move a project to status='archived'. Hidden from the default dashboard list. Optional reason is shown on the project page. Restore later with restore_project.

ParámetroTipoDescripción
id*stringproject id to archive
reasonstringoptional reason shown on the project page
restore_projectMove an archived project back to status='draft' so it reappears in the active list. Idempotent on non-archived projects? No — server rejects the transition unless the project is currently archived.

Move an archived project back to status='draft' so it reappears in the active list. Idempotent on non-archived projects? No — server rejects the transition unless the project is currently archived.

ParámetroTipoDescripción
id*stringarchived project id to restore
list_project_filesReturn the customer-uploaded files for one project (path, size, contentType, createdAt). Empty when no drive folder exists yet (no uploads). Use to inspect what intake assets the customer attached.

Return the customer-uploaded files for one project (path, size, contentType, createdAt). Empty when no drive folder exists yet (no uploads). Use to inspect what intake assets the customer attached.

ParámetroTipoDescripción
id*stringproject id whose uploaded files to list
resend_intake_inviteRe-fire the 'your developer sent you a project intake' email to the project's customer. Throws invalid_request if the project has no customerEmail (the dev needs to set one via the dashboard first — customer email isn't agent-patchable). Use when the customer says they didn't receive the link.

Re-fire the 'your developer sent you a project intake' email to the project's customer. Throws invalid_request if the project has no customerEmail (the dev needs to set one via the dashboard first — customer email isn't agent-patchable). Use when the customer says they didn't receive the link.

ParámetroTipoDescripción
id*stringproject id to re-send the intake invite for
list_listingsReturn every marketplace listing the seller owns (any status: draft, live, paused, sold). Includes site slug and current price. Use to see what's for sale across the account.

Return every marketplace listing the seller owns (any status: draft, live, paused, sold). Includes site slug and current price. Use to see what's for sale across the account.

No se publicó ningún esquema de entrada para esta herramienta.

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' requires termsCustom ≥50 chars. jurisdiction is required (e.…

Publish (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' requires termsCustom ≥50 chars. jurisdiction is required (e.…

ParámetroTipoDescripción
siteSlug*stringslug of the owned site to list
priceCents*integerwhole-dollar price in cents, 100–999900
pitchstringshort sales pitch, ≤280 chars
termsMode*string'standard' uses shiply's template; 'custom' requires termsCustom
termsCustomstringcustom terms text, ≥50 chars, required when termsMode='custom'
jurisdiction*stringgoverning jurisdiction, e.g. 'California, USA'
statusstringpublish state (default draft)
update_listingPatch a listing by siteSlug — change price, pitch, terms, jurisdiction, or status (draft|live|paused). Sold listings cannot be edited. Status transitions enforced server-side. Use to pause sales or drop the price.

Patch a listing by siteSlug — change price, pitch, terms, jurisdiction, or status (draft|live|paused). Sold listings cannot be edited. Status transitions enforced server-side. Use to pause sales or drop the price.

ParámetroTipoDescripción
siteSlug*stringslug of the listed site to patch
priceCentsintegernew whole-dollar price in cents, 100–999900
pitchnew sales pitch (null to clear)
termsModestring'standard' template or 'custom' terms
termsCustomnew custom terms text (null to clear)
jurisdictionstringgoverning jurisdiction, e.g. 'California, USA'
statusstringnew listing status
delete_listingprivilegiadaTake 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 losing pricing history.

Take 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 losing pricing history.

ParámetroTipoDescripción
siteSlug*stringslug of the listed site to unpublish
list_my_salesReturn every marketplace order for sites the user sold (incl. pending, paid, refunded, failed, disputed). Most recent first. Use to surface revenue + which orders are still inside the 30-day refund window (refundExpiresAt > now).

Return every marketplace order for sites the user sold (incl. pending, paid, refunded, failed, disputed). Most recent first. Use to surface revenue + which orders are still inside the 30-day refund window (refundExpiresAt > now).

ParámetroTipoDescripción
limitintegermax orders to return (default 100, max 500)
list_my_ordersReturn every marketplace order the user PURCHASED. Most recent first. Shows the acquired site, paid amount, and whether the order is still inside the 30-day refund window. Use to recap what the user owns by purchase.

Return every marketplace order the user PURCHASED. Most recent first. Shows the acquired site, paid amount, and whether the order is still inside the 30-day refund window. Use to recap what the user owns by purchase.

ParámetroTipoDescripción
limitintegermax orders to return (default 100, max 500)
refund_orderIssue a full refund on a paid order the user sold. Must be inside the 30-day refund window (server enforces). Triggers a Stripe refund; the webhook flips the order to 'refunded' and reverts site ownership to the seller. Idempotent on already-refunded orders.

Issue a full refund on a paid order the user sold. Must be inside the 30-day refund window (server enforces). Triggers a Stripe refund; the webhook flips the order to 'refunded' and reverts site ownership to the seller. Idempotent on already-refunded orders.

ParámetroTipoDescripción
orderId*stringid of the paid order to refund (from list_my_sales)
reasonstringoptional refund reason
get_connect_statusReturn the seller's Stripe Connect state: not_started | in_progress | pending_verification | ready | disabled. When status != 'ready' the user can't list sites. Includes a one-shot onboardingUrl (if not_started or in_progress) and dashboardUrl (if ready). Refreshes from Stripe on every call.

Return the seller's Stripe Connect state: not_started | in_progress | pending_verification | ready | disabled. When status != 'ready' the user can't list sites. Includes a one-shot onboardingUrl (if not_started or in_progress) and dashboardUrl (if ready). Refreshes from Stripe on every call.

No se publicó ningún esquema de entrada para esta herramienta.

list_sending_domainsReturn every BYO sending domain the user has added (id, domain, fromAddress, status: pending|verified|failed, DNS records). Use to inspect verification state or find the id of a domain to verify/remove.

Return every BYO sending domain the user has added (id, domain, fromAddress, status: pending|verified|failed, DNS records). Use to inspect verification state or find the id of a domain to verify/remove.

No se publicó ningún esquema de entrada para esta herramienta.

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.

Register 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.

ParámetroTipoDescripción
domain*stringe.g. mail.yourbrand.com
verify_sending_domainTrigger Resend to re-check the domain's DNS records, persist the new status. Call after adding the DNS records returned by add_sending_domain. Status flips to 'verified' once SPF + DKIM + MX all check out.

Trigger Resend to re-check the domain's DNS records, persist the new status. Call after adding the DNS records returned by add_sending_domain. Status flips to 'verified' once SPF + DKIM + MX all check out.

ParámetroTipoDescripción
id*stringsending domain id from list_sending_domains
remove_sending_domainprivilegiadaDelete a BYO sending domain. Any demand tests bound to it fall back to the managed shiply sender. Also GCs the underlying Resend domain. Irreversible — re-adding requires re-verifying DNS.

Delete a BYO sending domain. Any demand tests bound to it fall back to the managed shiply sender. Also GCs the underlying Resend domain. Irreversible — re-adding requires re-verifying DNS.

ParámetroTipoDescripción
id*stringsending domain id from list_sending_domains
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 fields via PATCH /api/v1/contracts/{id} (no MCP edit tool…

Draft 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 fields via PATCH /api/v1/contracts/{id} (no MCP edit tool…

ParámetroTipoDescripción
projectId*stringProject to draft a contract for
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 project state.

Send 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 project state.

ParámetroTipoDescripción
contractId*stringdraft contract id to send (from contract_draft)
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 amendment (amend the parent instead).

Create 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 amendment (amend the parent instead).

ParámetroTipoDescripción
parentContractId*stringid of the SIGNED parent contract to amend
scopeDelta*stringWhat's changing — visible to customer.
feeDeltaCentsintegerOptional fee adjustment in cents. Can be negative for descope.
targetCompletionDatestringOptional ISO date (YYYY-MM-DD) for revised completion.
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 contract has not been signed yet.

Get 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 contract has not been signed yet.

ParámetroTipoDescripción
contractId*stringsigned contract id (parent or amendment) to render as PDF
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 GET /api/v1/contracts/{id}.

Read 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 GET /api/v1/contracts/{id}.

ParámetroTipoDescripción
contractId*stringcontract id to read state for
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 webhook receivers, cron jobs, or a backend for their site.

Deploy 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 webhook receivers, cron jobs, or a backend for their site.

ParámetroTipoDescripción
slug*stringsite slug to deploy the function to
source*stringthe Worker source code
langstringsource language (default js)
cronsarraycron triggers to register, ≤20
get_functionReturn the deployed function source + metadata for a site, or null if no function deployed.

Return the deployed function source + metadata for a site, or null if no function deployed.

ParámetroTipoDescripción
slug*stringsite slug whose function to fetch
remove_functionprivilegiadaRemove the deployed Worker function from a site (and all its routes, secrets, and cron triggers). Site falls back to static-only serving. Irreversible.

Remove the deployed Worker function from a site (and all its routes, secrets, and cron triggers). Site falls back to static-only serving. Irreversible.

ParámetroTipoDescripción
slug*stringsite slug whose function to remove
set_secretSet a CF Worker secret on a site's deployed function. Value is encrypted-at-rest and accessible as env.<NAME> inside the worker. Use for Stripe keys, Resend API keys, etc.

Set a CF Worker secret on a site's deployed function. Value is encrypted-at-rest and accessible as env.<NAME> inside the worker. Use for Stripe keys, Resend API keys, etc.

ParámetroTipoDescripción
slug*stringsite slug whose function gets the secret
name*stringsecret name, UPPER_SNAKE_CASE; available as env.<NAME>
value*stringsecret value (encrypted at rest), ≤8 KiB
list_secretsList secret names (values not returned) for a site's deployed function.

List secret names (values not returned) for a site's deployed function.

ParámetroTipoDescripción
slug*stringsite slug whose secret names to list
remove_secretprivilegiadaRemove a secret from a site's deployed function. The binding disappears on next request.

Remove a secret from a site's deployed function. The binding disappears on next request.

ParámetroTipoDescripción
slug*stringsite slug whose function holds the secret
name*stringsecret name to remove
list_cronsList cron triggers for a site's deployed function. Each cron is (path, schedule, lastRunAt).

List cron triggers for a site's deployed function. Each cron is (path, schedule, lastRunAt).

ParámetroTipoDescripción
slug*stringsite slug whose cron triggers to list
set_cronSet or update a cron trigger on a site's deployed function. Schedule is crontab syntax (UTC). Path is the URL the cron handler should fire on (for the worker's scheduled() handler context).

Set or update a cron trigger on a site's deployed function. Schedule is crontab syntax (UTC). Path is the URL the cron handler should fire on (for the worker's scheduled() handler context).

ParámetroTipoDescripción
slug*stringsite slug whose function gets the cron
path*stringURL path the cron handler fires on
schedule*stringcrontab schedule in UTC, e.g. "0 * * * *"
remove_cronprivilegiadaRemove a cron trigger from a site's deployed function.

Remove a cron trigger from a site's deployed function.

ParámetroTipoDescripción
slug*stringsite slug whose cron to remove
path*stringURL path of the cron to remove
get_function_logsRead recent runtime logs for a site's per-site Worker (console output, request summaries, exceptions) from Cloudflare Workers Observability — 7-day retention, newest first. Use this to debug a deployed function: each event has timestamp, level, message, outcome, statusCode, requestId, and CPU/wall…

Read recent runtime logs for a site's per-site Worker (console output, request summaries, exceptions) from Cloudflare Workers Observability — 7-day retention, newest first. Use this to debug a deployed function: each event has timestamp, level, message, outcome, statusCode, requestId, and CPU/wall…

ParámetroTipoDescripción
slug*stringsite slug whose function logs to read
limitintegermax events to return (default 50)
sinceintegerlook back this many minutes (default 60, max 10080 = 7 days)
send_emailSend an email from <slug>.shiply.now's managed sender. The site can send transactional/notification email — no SMTP setup. Rate-limited and spam-checked; replies route back to the site inbox.

Send an email from <slug>.shiply.now's managed sender. The site can send transactional/notification email — no SMTP setup. Rate-limited and spam-checked; replies route back to the site inbox.

ParámetroTipoDescripción
slug*stringsite slug to send from (<slug>.shiply.now sender)
to*stringrecipient email address
subject*stringemail subject line
html*stringemail HTML body
textstringplain-text fallback body
list_site_inboxRead the email threads (received, sent, web captures) for the agent's sites. Optionally scoped to one site by slug.

Read the email threads (received, sent, web captures) for the agent's sites. Optionally scoped to one site by slug.

ParámetroTipoDescripción
slugstringlimit to one site by slug; omit for all sites
set_mailboxTurn a Site Data collection into a mailbox: double opt-in, owner notifications, sending domain, branding. Call once per (site, collection) to configure how captured leads are handled.

Turn a Site Data collection into a mailbox: double opt-in, owner notifications, sending domain, branding. Call once per (site, collection) to configure how captured leads are handled.

ParámetroTipoDescripción
slug*stringsite slug the collection belongs to
collection*stringSite Data collection to turn into a mailbox
doubleOptInbooleanrequire email confirmation before a contact is active
notifyOwnerbooleanemail the owner on each new capture
notifyTostringaddress to send owner notifications to
sendingDomainIdstringBYO sending domain id to send from
brandingobjectbranding applied to mailbox emails
list_mailbox_contactsList captured contacts for a (site, collection) mailbox, optionally filtered by status (signed_up/confirmed/unsubscribed). Returns email, status, confirmedAt, createdAt, and captured fields.

List captured contacts for a (site, collection) mailbox, optionally filtered by status (signed_up/confirmed/unsubscribed). Returns email, status, confirmedAt, createdAt, and captured fields.

ParámetroTipoDescripción
slug*stringsite slug the mailbox belongs to
collection*stringmailbox collection name
statusstringfilter contacts by status
send_mailbox_broadcastSend a one-shot broadcast to the confirmed (double-opt-in) subscribers of a (site, collection) mailbox. Spam-checked; unsubscribe footer auto-added. Fails if no confirmed subscribers exist yet.

Send a one-shot broadcast to the confirmed (double-opt-in) subscribers of a (site, collection) mailbox. Spam-checked; unsubscribe footer auto-added. Fails if no confirmed subscribers exist yet.

ParámetroTipoDescripción
slug*stringsite slug the mailbox belongs to
collection*stringmailbox collection whose confirmed audience to email
subject*stringemail subject line
html*stringemail HTML body (unsubscribe footer added automatically)
textstringplain-text fallback body

114 de 114 herramientas publicaron una descripción.

Los nombres y descripciones de las herramientas los escribe el publicador y se muestran literalmente como texto inerte. Son las cadenas que un cliente MCP pasa al modelo, así que Forge las analiza en busca de patrones de inyección de prompts — cualquier hallazgo aparece junto al análisis de seguridad de arriba. «Privilegiada» es una coincidencia de palabra clave en el nombre de la herramienta, no una auditoría de lo que hace: un nombre inofensivo puede hacer cualquier cosa.

Acerca de

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

Palabras clave
mcp
Alternativas
Comparando superficies de herramientas…

Sin cobertura de dependencias

Esta entrada no publica ningún paquete de npm, así que Forge no tiene un árbol de dependencias para ella. Es una carencia de cobertura, no una afirmación de que no tenga dependencias.