App hosting ยท MCP servers

MCP server hosting: a remote server an agent can actually reach

A remote MCP server is a web app that speaks the Model Context Protocol over HTTPS, so Claude, Cursor or any MCP client connects to a URL instead of running something on the user's machine. That is an app with an address here: deploy from GitHub, listen on the PORT variable, hand over https://name.fadehost.app.

Transport
Streamable HTTP over your https address
SDKs
TypeScript, Python, and anything that serves HTTP
Free app
256 MB; the address sleeps when idle
Paid
from $2/mo, the address stays awake

What a client needs before it can connect

  1. A public https URL with a certificate the client trusts. Every app can have one at https://name.fadehost.app, handled for you, and your own domain can point at it.
  2. An HTTP transport. Streamable HTTP is the current one; the older HTTP and SSE pair still appears in clients. The stdio transport is for a server running on the same machine as the client and has no URL to give anybody.
  3. A server that answers when the agent calls. That is the part hosting decides.

Deploying one

A TypeScript server built on the official SDK is a Node.js app: package.json, a start script, the HTTP transport bound to 0.0.0.0 and the PORT the panel sets. A Python server is the same shape from requirements.txt. API keys the server needs go in environment variables, masked in the panel and injected at start. Every push to your branch redeploys it, and the live console shows the install, the build and the server's own output.

Authentication, because the URL is public

Anything on the internet gets found, and an MCP server usually wraps something worth protecting. Check a bearer token on every request at the least, keep the expected value in an environment variable, and give each client its own. For something multi-tenant, do the OAuth flow in the server. An unauthenticated remote server is a tool anybody can call with your credentials behind it.

Keeping it awake

On the free plan a web address sleeps when nobody has used it for a while and wakes on the next request. An agent that times out mid-conversation reports the server as broken, so a server anybody relies on belongs on a paid app from $2 a month, where the address stays awake and the traffic limit goes away. Build and test on the free one.

We run one of these

FadeHost itself exposes an MCP server at api.fadehost.com/mcp, so an assistant can list your servers, read a console, restart something or take a backup. If you want to see what a remote MCP server looks like in production before you write one, the AI page documents the tools and the docs cover the tokens and scopes.

Frequently asked questions

stdio or HTTP?

HTTP, for anything hosted. A stdio server is launched by the client on the same machine and has no address; a remote server speaks Streamable HTTP over your https URL.

Which SDK?

The official TypeScript and Python SDKs are the usual two, and both run here as plain Node.js and Python apps. Any language that can serve HTTP and follow the protocol works.

Does the free plan work for an MCP server?

For building and trying one, yes. The address sleeps when idle, and an agent that waits on a cold start will call the server broken, so anything in real use belongs on a paid plan.

Can it serve from my own domain?

Yes. Point a hostname at the app from its page, up to three per app, with the certificate handled.

Which port does the app listen on?

The PORT environment variable, 8080 by default, on 0.0.0.0. A server bound to 127.0.0.1 answers only itself and the web address gets nothing.

How does the public address work?

Give the app a web address in the panel and it is served at https://name.fadehost.app behind the Cloudflare proxy with a certificate. It comes with the plan on every tier. On the free tier the address sleeps when nobody has used it for a while and wakes on the next request; on a paid tier it stays awake. Your own domain can point at it.

Related

MCP server hosting: a remote server an agent can actually reach

Host an MCP server