mctxdocs
Quick start

Deploy Your App

Deploy your App to mctx and make it available to subscribers. Set your price, click deploy, and go live.

Need help? Connect help.mctx.ai for instant answers.

This is the payoff. You click deploy, and your App goes live on mctx's global infrastructure. Subscribers can find it, connect to it, and pay you for it.

Before you deploy

Make sure you have completed these steps:

  • Connected your GitHub repository
  • Added and verified a support email
  • Completed payout setup

Your App detail page tracks this for you. If the status shows setup_required, finish the remaining steps first:

Once payout setup is complete, your App status changes to ready. Email verification is a separate prerequisite check that unlocks the Deploy and Publish buttons -- it does not change App status, but both must be complete before you can deploy.

Step 1: Set your price

On your server detail page, set the price per 1,000 requests:

  • $1-$2/1K -- Good for hobby projects and low-traffic tools
  • $2-$5/1K -- Standard range for production-quality servers (recommended)
  • $5-$10+/1K -- Premium, specialized, or enterprise services

You earn 80% of what subscribers pay. The remaining 20% covers hosting, infrastructure, and payment processing.

Step 2: Click deploy

Once your server status is ready:

  1. Click Deploy Server
  2. Confirm the deployment

That is it. mctx takes it from here.

What happens during deployment

Behind the scenes, mctx:

  1. Pulls your code from the branch you configured
  2. Validates the entry point -- confirms your JavaScript file exists and is valid
  3. Deploys to the edge -- creates a worker on Cloudflare's global network
  4. Sets up your subdomain -- {slug}.mctx.ai starts routing to your server
  5. Runs a health check -- verifies your server responds correctly

Typical time: 1-3 minutes. You get an in-app notification when it finishes.

Step 3: Verify it works

Once the status changes to live, check that everything is working.

Visit your App's public page:

Go to mctx.ai/apps/{slug} in your browser. This is the page subscribers see. It shows your App name, description, available tools, pricing, and a subscribe button.

Test the MCP endpoint:

Your App is live. Share the versionless URL with subscribers — it always connects to your latest deployed version:

https://{slug}.mctx.ai

For example, if your slug is weather-api:

https://weather-api.mctx.ai

Subscribers who need to pin to a specific version can use:

https://weather-api.mctx.ai/v1.0.0

Check real-time logs:

Open the logs modal from your server detail page and make a test request. You will see console.log, console.warn, and console.error output in real time. Logs are ephemeral -- they only appear while the modal is open. See Server Logs for details.

If deployment fails

Deployment issues are almost always one of these things.

"File specified in main not found in repository"

The file in your package.json main field does not exist in the repo. Make sure it is built and committed. mctx does not run build commands — you commit the built file, similar to GitHub Actions JavaScript actions. If you are using a release branch pattern, confirm the mctx dashboard is set to deploy from your release branch, not main.

Still stuck? Check the Last Deployment Error section on your server detail page for the full error message. If that does not help, see the FAQ.

After deployment

Your App is live. Your detail page shows a checklist to help you reach subscribers:

Publish to MCP Community Registry -- One click. Your App appears in the registry within minutes. See Publish to MCP Registry for details. If your repository belongs to a GitHub organization, your org membership must be set to public before publishing will succeed -- see Publishing org-owned servers.

Share your App page -- Your public URL is https://mctx.ai/apps/{slug}. Share it on Twitter/X, Discord, Reddit, your GitHub README -- wherever developers hang out. See Your Vanity Link.

Get paid automatically -- Subscribers pay, you receive 80% via payouts. Future pushes to your configured branch deploy automatically.

Updating your App

Bumping the version in package.json triggers a new deployment. mctx creates a new version endpoint (/v2.0.0 alongside /v1.0.0). Subscribers using the versionless URL automatically connect to the new version on their next session. Subscribers pinned to a specific version remain on that version until they update their configuration.

Pushing without a version change is a no-op — mctx detects that the version already exists and skips deployment. To trigger a new deployment, you must bump the version in package.json. See Versioning for details.

Next Steps

Your App is live and accepting subscribers. Here is what to explore:


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