mctxdocs
mctxdocs

Deleting Your Server

How to permanently delete your MCP server from mctx, including the 72-hour wind-down period for servers with active subscribers and emergency immediate deletion.

When you delete an MCP server from mctx, all server data, deployments, and subscriber access are permanently removed. This guide explains how deletion works and what to expect.

How Deletion Works

Server deletion follows one of two paths depending on whether you have active subscribers:

Path 1: Zero Subscribers (Instant Deletion)

If your server has no active subscribers, deletion happens immediately:

  1. Server is marked as deleted and taken offline
  2. All worker deployments are removed from infrastructure
  3. Configuration data is removed from storage
  4. Environment variables are deleted (legal requirement)
  5. Server appears in your dashboard with a deletion confirmation
  6. No subscriber notifications are sent (there are none)

Timeline: Complete within seconds

Path 2: Active Subscribers (72-Hour Wind-Down)

If your server has active subscribers, deletion follows a wind-down period:

  1. Server status changes to pending_deletion
  2. Subscribers receive notification emails with 72-hour notice
  3. Countdown timer appears on server info page
  4. Server remains accessible during the 72-hour window
  5. New subscriptions are blocked immediately
  6. After 72 hours, full deletion cascade executes automatically
  7. Subscribers receive final shutdown notification

Timeline: 72 hours from deletion request to finalization

What happens during wind-down:

  • Existing subscribers retain full access
  • Server continues processing requests normally
  • Billing continues for active usage
  • You can accelerate deletion using emergency deletion (see below)

Deleting Your Server (Standard)

Dashboard → Servers → [Your Server] → Danger Zone → Delete Server

  1. Navigate to your server's detail page
  2. Scroll to the "Danger Zone" section
  3. Click "Delete Server"
  4. Review confirmation modal (shows subscriber count and timeline)
  5. Confirm deletion

Result:

  • Zero subscribers: Instant deletion
  • Active subscribers: 72-hour wind-down begins

Emergency Immediate Deletion

Use emergency deletion to bypass the 72-hour wind-down and delete immediately, even with active subscribers.

When to use:

  • Critical security incident (exposed credentials, data breach)
  • Legal requirement to remove content immediately
  • Unrecoverable bug causing harm to subscribers
  • Server must be taken offline with no delay

Dashboard → Servers → [Your Server] → Danger Zone → Emergency Delete (secondary link)

  1. Click the "Emergency Delete" link below the primary delete button
  2. Read the warning modal (explains subscriber impact)
  3. Confirm immediate deletion

What happens:

  • Server taken offline instantly
  • All subscriptions canceled in Stripe
  • Subscribers receive immediate shutdown notification
  • Full deletion cascade executes (workers undeployed, data removed)
  • Environment variables deleted immediately

Subscriber impact:

  • Access ends immediately (no grace period)
  • Active subscriptions are canceled
  • No refunds for metered billing (subscribers only pay for usage up to cancellation)
  • Notification email sent explaining immediate shutdown

Note: If you initiated a 72-hour wind-down and later use emergency deletion, the wind-down is superseded. Subscribers receive an acceleration notification instead of a second 72-hour notice.

What Gets Deleted

When deletion finalizes (instant or after 72 hours), the following resources are permanently removed:

Infrastructure

  • All deployed workers removed from Cloudflare edge network
  • Tenant configuration removed from key-value storage
  • Server subdomain (your-server.mctx.ai) becomes unavailable

Data

  • Server record and metadata
  • All version history
  • Environment variables (server-level and version-specific)
  • Deployment logs (ephemeral, not retained)

Billing

  • Active subscriptions canceled in Stripe
  • Subscribers stop being charged immediately
  • Developer payouts continue for usage already incurred (Stripe processes on standard schedule)

What Is NOT Deleted

  • Your GitHub repository (untouched)
  • Historical payout records (retained for tax/accounting)
  • Deleted server slug enters 7-day cooling-off period (cannot be reused for 7 days)

Subscriber Notifications

Subscribers are notified through multiple channels:

72-Hour Wind-Down

  • Email: "Server deletion notice: [server-name] will shut down in 72 hours"
  • In-app countdown card: Red warning card with live countdown timer on subscriptions page
  • Login banner: Dismissible banner shows when subscription affected by pending deletion

Immediate Deletion

  • Email: "Server shutdown: [server-name] has been shut down" (past tense, no countdown)
  • Login banner: Dismissible banner confirms deletion and access loss

Acceleration (Wind-Down Superseded by Immediate)

  • Email: "Server shutdown accelerated: [server-name] shut down immediately" (supersedes original 72-hour notice)

Billing Impact

For Subscribers (Metered Billing)

Subscribers on metered billing only pay for actual usage. There are no refunds because there's nothing to refund:

  • During wind-down: Subscribers continue using the server and are billed for requests made
  • At shutdown: Billing stops immediately
  • No refunds: Metered billing charges only for usage up to the point of cancellation

Example:

  • Subscriber used 5,000 requests before deletion → Billed for 5,000 requests
  • Subscriber used 0 requests → Billed $0

For Developers (You Keep 80%)

  • Completed usage: You receive 80% of revenue for usage up to deletion
  • Payout schedule: Stripe Connect processes payouts on standard schedule (typically 2-day rolling basis)
  • Wind-down period usage: You continue earning during the 72-hour window (if subscribers use the server)

During Wind-Down Period

Server Behavior

  • Server remains fully functional
  • All versions continue processing requests
  • Real-time logs still accessible
  • Subscriber access unchanged
  • Metered billing continues for active usage

Restrictions

  • New subscriptions blocked: Subscribe button returns 410 Gone
  • Server detail page inaccessible: Developer dashboard shows countdown card instead of full detail page
  • Cannot edit configuration: Server settings locked during pending deletion
  • Cannot deploy new versions: Deployment blocked while pending deletion

Accelerating Deletion

If you need to shut down before the 72-hour window expires, use emergency immediate deletion:

  1. Navigate to your subscriptions page (server detail page is blocked during wind-down)
  2. Click the "Delete Server Immediately" button on the countdown card
  3. Confirm emergency deletion
  4. Server shuts down instantly

Subscribers receive an acceleration notification email.

After Deletion

Slug Reservation

Your deleted server's slug enters a 7-day cooling-off period:

  • Slug cannot be reused by you or anyone else for 7 days
  • Prevents accidental confusion for subscribers who still have stale credentials
  • After 7 days, the slug becomes available for anyone to claim

Why: Subscribers may have cached configurations or credentials pointing to the old slug. The cooling-off period reduces the risk of misdirected requests to a new server with the same slug.

Re-Deploying

If you want to redeploy the same server:

Option 1: Wait 7 days and reuse the slug

  • Wait for cooling-off period to expire
  • Create a new server with the same slug
  • Requires all subscribers to resubscribe (old subscriptions are gone)

Option 2: Deploy with a new slug immediately

  • Create a new server with a different slug
  • Publish to MCP Community Registry under new slug
  • Subscribers treat it as a completely new server

Cleanup Worker (Automatic Finalization)

After the 72-hour wind-down expires, the cleanup worker (scheduled cron job) automatically finalizes deletion:

  1. Detects servers past scheduledPurgeAt timestamp
  2. Cancels all remaining subscriptions
  3. Sends final shutdown notifications to subscribers
  4. Executes full deletion cascade (undeploy workers, delete data)
  5. Marks server as offline with deletedAt timestamp

Stuck deletions: If cleanup fails (e.g., Cloudflare API timeout), the worker retries on the next run. If a deletion is stuck for more than 2 hours past its scheduled purge time, an alert is sent to the mctx operations team.

Frequently Asked Questions

Can I cancel a deletion?

No. Once you confirm deletion (standard or emergency), it cannot be reversed.

  • Zero subscribers: Deletion is instant and irreversible
  • Active subscribers (72-hour wind-down): You can accelerate deletion using emergency delete, but cannot cancel it
  • Emergency deletion: Takes effect immediately and cannot be undone

What if I change my mind during the 72-hour window?

You cannot cancel the deletion. Your options:

  1. Wait for finalization and redeploy with a new slug
  2. Accelerate deletion using emergency delete if you want to finalize sooner
  3. After 7 days, reclaim the original slug and redeploy

Do subscribers get refunds?

No. mctx uses metered billing, so subscribers only pay for actual usage. There's nothing to refund because they're only charged for requests made before cancellation.

What happens to my payouts?

You continue receiving payouts for usage incurred up to deletion. Stripe Connect processes payouts on the standard schedule (typically 2-day rolling basis). Historical payout records are retained for tax and accounting purposes.

Can someone else claim my slug immediately?

No. Your slug enters a 7-day cooling-off period after deletion. After 7 days, it becomes available for anyone to claim on a first-come, first-served basis.

What if I have environment variables with sensitive data?

Environment variables are deleted immediately during the deletion cascade (Step 5 of the cascade sequence). This is a legal requirement to ensure sensitive data is not retained after deletion.

Will my GitHub repository be affected?

No. Deletion only affects mctx infrastructure and data. Your GitHub repository is completely untouched.


See something wrong? Report it or suggest an improvement — your feedback helps make these docs better.