Deploy Your Server
Deploy your MCP server to mctx and make it available to subscribers. No subscription required.
Prerequisites
Before deploying, ensure you have:
- ✓ Connected your GitHub repository
- ✓ Completed payout setup (takes ~5 minutes)
- ✓ Server status is
ready
If your server status is setup_required, you'll need to complete payout setup first. Your server detail page guides you through this step. See Set Up Payouts for details.
Step 1: Configure Your Server
After creating your server, you'll be taken to your server's detail page where you can track setup progress and configure deployment settings:
- Set server name - The display name shown on your server's info page
- Review subdomain - Your server will be accessible at
{slug}.mctx.ai - Set pricing per 1,000 requests:
- Budget: $1-$2/1K (hobby projects, low traffic)
- Standard: $2-$5/1K (production apps - recommended)
- Premium: $5-$10+/1K (specialized/enterprise services)
Note: You keep 80% of what subscribers pay. The remaining 20% covers hosting, infrastructure, and payment processing.
Step 2: Deploy
Once your server is configured and status is ready:
- Click Deploy Server
- Confirm the deployment
No subscription required. Unlike earlier flows, you do not need to subscribe to your own server to deploy it. Deployment happens immediately after clicking the button.
Deployment Status Flow
Your server transitions through these statuses:
| Status | Description |
|---|---|
setup_required | Payout setup not complete |
ready | Ready to deploy (payout setup complete) |
deploying | Deployment in progress |
live | Server deployed and accepting requests |
failed | Deployment failed (check logs for error details) |
offline | Server temporarily offline |
suspended | Server suspended by platform |
You can monitor deployment status from your server's detail page.
Step 3: Monitor Deployment
While deploying, mctx performs these steps:
- Clones your repository - Pulls code from the specified branch
- Validates entrypoint - Ensures the JavaScript file exists and is valid
- Creates worker - Deploys to Cloudflare Workers for Platforms
- Configures routing - Sets up subdomain
{slug}.mctx.ai - Runs health check - Verifies the server responds correctly
Typical deployment time: 1-3 minutes
You'll receive an in-app notification when deployment completes (or fails).
Step 4: Verify Your Server
Once status changes to live, verify your server is working:
Check Server Info Page
Visit {slug}.mctx.ai in your browser. This redirects to your server's public info page at mctx.ai/servers/{slug}, which shows:
- Server name and description
- Available tools
- Pricing
- Subscribe button for potential subscribers
Test MCP Connection
Try connecting from an MCP client to verify the server responds:
Endpoint URL:
https://{slug}.mctx.ai/v{version}For example, if your slug is weather-api and version is 1.0.0:
https://weather-api.mctx.ai/v1.0.0View Real-Time Logs
Open the logs modal from your server's detail page to see live output:
- Click View Logs
- The modal shows real-time
console.log,console.warn, andconsole.erroroutput - Make a test request from your MCP client
- Watch logs appear instantly
Note: Logs are ephemeral - they only appear while the modal is open. See Server Logs for more details.
Deployment Failed?
If deployment fails (status: failed), check these common issues:
Entrypoint Not Found
Error: "Entrypoint file not found: dist/index.js"
Solution: Ensure the file specified in mctx.json entrypoint field:
- Exists in your repository
- Is committed (not just built locally)
- Uses correct path relative to
mctx.jsonlocation
Invalid JavaScript
Error: "Failed to parse entrypoint"
Solution: Ensure your built JavaScript file is valid:
- No syntax errors
- Uses CommonJS or ESM format
- Has a default export with
fetchhandler
Build Commands Not Supported
Error: "No package.json build script found"
Solution: mctx does not run build commands. You must commit your built JavaScript files, just like GitHub Actions JavaScript actions.
Check Logs for Details
View deployment error details:
- Go to your server's detail page
- Scroll to Last Deployment Error
- Review the error message and stack trace
Still stuck? See the FAQ for common issues or contact support.
What Happens After Deployment
Once your server is live, your server detail page shows a Next Steps checklist to help you reach subscribers:
- Version deployed ✓ - Marked complete automatically after successful deployment
- Publish to MCP Community Registry - One-click publishing with tags for discoverability
- Copy subscribe link - Share your public server page with potential subscribers
The checklist stays visible until all steps are completed. You can dismiss it anytime, and it automatically disappears once all tasks are done.
Your server is now live:
- Accessible at subdomain -
{slug}.mctx.ai/v{version}accepts MCP requests - Ready for subscribers - Users can subscribe and connect from their MCP clients
- Registry section in sidebar - Shows publication status (Published/Not Published badge)
- Get paid automatically - Receive 80% of subscriber payments via payouts
- Auto-deploy on updates - Future commits with version bumps deploy automatically
Optional: Subscribe to Your Own Server
You can optionally subscribe to your own server to test it as a subscriber would:
- Go to your server's detail page
- Click Subscribe as Developer
- Complete checkout (20% of subscriber price)
This creates a "developer subscription" that lets you:
- Test the subscriber experience
- Connect your MCP client without errors
- Verify tools work as expected
Note: Developer subscriptions are charged at 20% of the subscriber price (an 80% discount). Since you can't pay yourself, you only pay the platform fee. See Developer Subscription for details.
Promote Your Server
Now that your server is live, reach potential subscribers:
Publish to MCP Registry
One-click publishing to the official MCP Community Registry:
- Go to your server's detail page
- Click Publish to MCP Registry (or visit the Registry section in the sidebar)
- Add tags for discoverability (max 10 tags, lowercase, alphanumeric + hyphens)
- Good tags:
weather,data-analysis,api-integration - Invalid tags:
Weather,Data_Analysis,API Integration(no uppercase, underscores, or spaces)
- Good tags:
- Confirm publication
Your server appears in the registry within minutes, reaching thousands of developers. The sidebar shows a status pill badge (Published/Not Published) to indicate your current publication status.
Test environment note: The test environment uses dry-run mode when publishing. This validates your server metadata without actually publishing to the production registry, so you can test the flow safely.
Publishing failed? If you see an error during publishing, your server detail page shows clear recovery options. Common issues include needing to reconnect GitHub (if your token was revoked) or retrying after a temporary service issue. Simply follow the guidance shown on your server page.
Share Your Vanity Link
Your server's info page is public:
https://mctx.ai/servers/{slug}Share this link on:
- Twitter/X - Tag @mctxai to get retweeted
- Discord - MCP communities and developer channels
- Reddit - r/mcp, r/SideProject, r/programming
- Dev.to - Write a tutorial showing how to use your server
- GitHub README - Add a badge and subscribe link
List on Directories
Get discovered on community-curated MCP directories:
- awesome-mcp-servers
- MCP Hub
- Other community lists
For complete guidance on publishing and promoting, see Publish to MCP Registry.
Updating Your Server
To deploy a new version:
- Update your code and bump the
versionfield inmctx.json - Commit and push to your branch
- mctx automatically detects the version change and deploys
Subscribers are notified of new versions and can update when ready. See Versioning for details.
What's Next?
Your server is live and ready to accept subscribers. Here's what to explore next:
- Publish to MCP Registry - Reach potential subscribers
- Server Logs - Debug with real-time logs
- Environment Variables - Add API keys and secrets
- Versioning - Handle multiple versions
- Getting Paid - Manage your payouts
See something wrong? Report it or suggest an improvement — your feedback helps make these docs better.