Frequently Asked Questions
Quick answers to common questions about mctx, including troubleshooting tips for subscribers and developers.
General
What is mctx?
mctx provides free MCP hosting for your MCP server. Set your price and get paid when subscribers use your tools. One-click publish to the growing MCP ecosystem. Connect your GitHub repo and you're live.
What is MCP?
MCP (Model Context Protocol) is an open protocol that lets AI assistants use external tools. MCP servers provide tools that AI can call to fetch data, perform actions, or interact with services.
Is there a free tier?
No. All MCP servers on mctx are paid. This ensures developers are compensated and servers remain maintained.
For Subscribers
How do I find MCP servers?
You can discover MCP servers in several ways:
- MCP Registry - Browse the official registry where developers publish their servers
- Developer channels - Developers share links on Twitter/X, Discord, Reddit, GitHub READMEs, and dev blogs
- MCP Directories - Community-curated lists like awesome-mcp-servers
When you find a server link (e.g., my-server.mctx.ai), visit it to see the server's info page where you can subscribe.
How much does it cost?
Each server sets its own price, typically per 1,000 requests. Prices range from fractions of a cent to several dollars depending on the server's value.
What payment methods are accepted?
We accept all major credit and debit cards through Stripe.
Can I cancel anytime?
Yes. Cancel from your subscriptions page. When you cancel, your subscription is canceled immediately and you will not be charged again. Access to the server typically ends within minutes of cancellation.
Do I get charged if I don't use it?
No. mctx uses usage-based billing. You only pay for requests you make.
What if a server I'm subscribed to goes away?
If a developer deletes their server, you'll be notified via email and in-app countdown card. See When a Server You Use Is Deleted for what to expect, including the 72-hour wind-down period and billing impact.
Can I use one subscription with multiple AI tools?
Yes. Your subscription works with any MCP-compatible client. Just follow the installation instructions from your subscriptions page—each client type has its own setup command.
What happens if my payment fails?
We'll retry the payment. If it continues to fail, your subscription becomes past due and access is paused until payment succeeds.
For Developers
How do I get started?
See Deploy Your Server to get your first server live in under 10 minutes.
What languages are supported?
MCP servers must be JavaScript or TypeScript, compiled to a single entry point. See Server Requirements for the required structure.
How much can I earn?
You keep 80% of all subscription revenue. mctx takes a 20% platform fee. Payouts depend on your pricing and subscriber count.
When do I get paid?
Payouts are handled by Stripe Connect on their standard schedule (typically 2-day rolling basis once set up).
Can I set my own prices?
Yes. You control your base price per 1,000 requests.
What if I need to take my server offline?
You can deactivate or permanently delete your server. See Deleting Your Server for the complete guide, including 72-hour wind-down for servers with active subscribers and emergency immediate deletion.
Can I have multiple servers?
Yes. You can deploy as many servers as you want from different repos.
Do I need my own Stripe account?
Yes. You'll set up Stripe Connect Express during payout setup. This is how you receive your payouts.
Can I update my server without breaking existing users?
Yes. Each version has its own endpoint. Subscribers choose when to update. See Versioning.
What if my server has a bug?
Deploy a new version with the fix. Subscribers on the old version aren't affected until they choose to update.
Pricing & Billing
How does pricing work?
Servers charge per request. Subscribers pay based on actual usage. See How Pricing Works for details.
What is locked-in pricing?
The price you see when you subscribe is locked in for as long as you maintain that subscription. Your rate never changes while you're subscribed. Even if the developer raises prices, releases new versions, or demand bonus kicks in later - your rate stays the same.
However, if you unsubscribe and resubscribe later, you'll pay the current price at that time - not your original locked-in rate. This is our guarantee: stay subscribed, keep that rate. Unsubscribe and resubscribe, pay the new price.
What is Demand Bonus?
An optional feature that increases prices during high-traffic periods. Subscribers who join during low traffic lock in lower rates.
Are there any hidden fees?
No. Subscribers pay only for usage. Developers receive 80% of revenue with no other fees.
Technical
How does authentication work?
Authentication is automatic via OAuth 2.0. When your MCP client connects to a server, it discovers the auth requirements and handles login through your browser. See Authentication.
What's the API rate limit?
There are no hard rate limits. However, servers may implement their own limits, and abuse may result in account review.
Is there an SLA?
mctx runs on a global edge network with high availability. We don't currently offer formal SLAs.
Where are servers hosted?
All servers are deployed globally to edge locations near your users.
Can I see logs for my server?
Yes! mctx includes real-time log streaming built right into your dashboard. Click "View Logs" on your server's detail page and watch your console.log output appear instantly as requests come in. It's one of the fastest ways to debug your server.
Note: Logs are ephemeral - there's no retention, so you only see them while the modal is open. For persistent logging, integrate with an external service.
See Server Logs for best practices and troubleshooting tips.
Is my data secure?
- All traffic is HTTPS encrypted
- Environment variables are encrypted at rest
- mctx doesn't access your server's data
- See your server developer's privacy policy for server-specific data handling
Are my environment variables secure?
Yes. Your API keys and secrets are protected with industry-standard encryption:
- AES-256-GCM encryption - Your variables are encrypted before storage using WebCrypto
- Encrypted at rest - Stored encrypted in our database, never in plaintext
- Decrypted only at deploy time - Injected into your worker when deployed, then discarded
- Never exposed - Not visible in logs, API responses, or the dashboard after you save them
You can safely store database credentials, API keys, and other sensitive configuration.
Account
How do I delete my account?
Contact support to request account deletion. Active subscriptions will be canceled.
Can I change my email?
Sign out and sign back in with a different email to change it.
I forgot my password
Use the "Forgot password" link on the login page, or sign in with Google/GitHub if you used those originally.
Troubleshooting
"Unauthorized" Error (401)
Problem: Your MCP client receives an "Unauthorized" error when connecting to a server.
Background: mctx uses OAuth 2.0 for authentication. Your MCP client handles this automatically via OAuth discovery at /.well-known/oauth-protected-resource. You don't need to manage tokens manually.
Causes and Solutions:
-
MCP client not configured for OAuth
- Ensure your MCP client supports OAuth 2.0 discovery
- Check that the client is configured to use the full server URL (e.g.,
https://example.mctx.ai/v1.0.0)
-
OAuth flow interrupted
- Complete the sign-in flow when your MCP client prompts you
- If stuck, restart your MCP client and try connecting again
-
Session expired
- Sign out and sign back in through your MCP client
- Most clients will automatically prompt you to re-authenticate
-
Wrong account
- Ensure you're signing in with the same account that has the subscription
- Check your subscriptions to verify
"Payment Required" Error (402)
Problem: You're authenticated but receive a payment error.
Causes and Solutions:
-
No active subscription
- Subscribe to the server at its info page
- Check your subscriptions
-
Subscription canceled or past due
- Update payment method in your subscription settings
- Resubscribe if canceled
-
Wrong server
- Verify the server slug in your URL matches your subscription
"Version Not Found" Error
Problem: The requested version doesn't exist.
{
"error": {
"code": -32001,
"message": "Version not found",
"data": {
"requestedVersion": "1.0.0",
"availableVersions": ["1.1.0", "2.0.0"]
}
}
}Solution: Update your configuration to use an available version from the list.
Connection Timeout
Problem: Requests hang or timeout.
Causes and Solutions:
-
Server is inactive
- Check the server's info page for status
- Contact the developer if consistently down
-
Network issues
- Check your internet connection
- Try the request again
-
Server processing delay
- Some operations take time (external API calls, complex computations)
- Increase your client's timeout if needed
SSE Connection Drops
Problem: Server-Sent Events connection closes unexpectedly.
Solutions:
- Implement reconnection logic in your client
- Check for proxy issues - Some proxies don't support SSE
- Verify Accept header - Must be
Accept: text/event-stream
Server Won't Activate
Problem: The "Activate Server" button is disabled or activation fails.
Checklist:
-
Payout setup complete?
- Go to Payouts
- Complete Stripe Connect onboarding if not done
-
Valid mctx.json?
- Check for JSON syntax errors
- Ensure required fields are present (version, description, entrypoint)
-
Entrypoint exists?
- The file specified in
entrypointmust exist - Path is relative to repo root
- The file specified in
-
Build successful?
- Check for TypeScript/build errors in your repo
Deployment Fails
Problem: You pushed to main but the new version didn't deploy.
Checklist:
-
Check notifications
- Look for deployment failure notification in dashboard
- Check email if notifications enabled
-
Valid semver in mctx.json?
- Must be valid semver (e.g., "1.0.0", "2.1.3-beta.1")
- Version must be different from current
-
Build errors?
- Check your repo's build process
- Ensure your code compiles successfully
-
GitHub App installed?
- Verify the GitHub App has access to your repo
- Reinstall if needed from server settings
Environment Variables Not Working
Problem: Your server can't access environment variables.
Checklist:
-
Correct scope?
- Server-level vars: Available to all versions
- Version-level vars: Only available to specific version
-
Redeployed after adding?
- Server-level vars require redeployment
- Push a new version or use "Redeploy" button
-
Correct variable name?
- Names are case-sensitive
- Check for typos
Logs Not Showing
Problem: No logs appear in the View Logs modal.
Causes:
- No requests being made - Logs only appear during active requests
- Server inactive - Activate the server first
- Using wrong console method - Use
console.log,console.warn,console.error
Can't Subscribe
Problem: Subscribe button doesn't work or checkout fails.
Solutions:
- Sign in first - You must be logged in to subscribe
- Payment method issue - Try a different card
- Server inactive - Can only subscribe to active servers
Subscription Not Showing
Problem: You subscribed but it's not in your dashboard.
Solutions:
- Refresh the page - Subscription list may need refresh
- Check email - Look for Stripe receipt to confirm payment
- Different account? - Ensure you're logged into the correct account
Usage Not Tracking
Problem: Your usage shows 0 despite making requests.
Causes:
- Using wrong endpoint - Ensure you're hitting the versioned endpoint
- Authentication failing - Check for 401/402 errors
- Delay in reporting - Usage may take a few minutes to appear
Still Have Questions?
Check the Authentication guide for technical details on OAuth, or review the relevant documentation section for your use case.
See something wrong? Report it or suggest an improvement — your feedback helps make these docs better.