More than one client
A stdio server is one process per client. The moment your teammates, your phone, or a web client need the same tools, the server needs an address instead of a command line.
MCP Server Hosting
An MCP server on your laptop only serves your laptop. Put the same container on Hostim.dev and it answers over HTTPS for every client and teammate. MCP hosting here is flat €2.50 a month on EU servers, with no per-request billing.
An MCP (Model Context Protocol) server exposes tools and data to an AI client such as Claude, Cursor or VS Code. A local server runs on your machine and talks over stdio: the client starts the process, and only that machine can reach it. A remote server runs somewhere with a URL and talks over HTTP, so any client with the address and a credential can use it.
Hosting a remote MCP server means running that HTTP process somewhere permanent. On Hostim.dev it is a container with a port: you deploy the image, you get an HTTPS URL, and the price is the same whether the server handles ten calls a day or a million.
Every MCP server starts local. Three things push it onto a server.
A stdio server is one process per client. The moment your teammates, your phone, or a web client need the same tools, the server needs an address instead of a command line.
Anything that watches, schedules or caches cannot live in a process your editor starts and kills. It needs to keep running when your laptop is shut.
A stdio server reads the API keys sitting on the developer's machine. A hosted one holds them as environment variables, in one place, rotated once rather than on every laptop.
Your server needs to speak Streamable HTTP (or SSE) and listen on a port. Everything else is one command.
deploy an MCP server
# install the CLI and log in
curl -fsSL https://raw.githubusercontent.com/hostimdev/cli/main/install.sh | sh
hostim login
# a project holds the server, its databases and its volumes
hostim projects create tools --region eu-center
hostim use tools
# a published image
hostim deploy mcp --docker-image ghcr.io/me/my-mcp-server:latest \
--plan sa-1-1 --port 8080 \
--env MCP_AUTH_TOKEN=$MCP_AUTH_TOKEN
# or straight from a repository that contains a Dockerfile
hostim deploy mcp --git https://github.com/me/my-mcp-server --branch main \
--plan sa-1-1 --port 8080
hostim status mcp # the HTTPS URL it is reachable on
hostim logs mcp --follow # what the client is actually calling
The app comes up on a built-in <id>.eu-center.hostim.dev subdomain with a certificate already in place. Point your own domain at it with hostim domain add mcp.example.com -a mcp and the certificate is issued automatically. Then point the client at the URL — the exact config shape differs per client, but it is always the URL plus whatever header your server checks:
mcp client config
{
"mcpServers": {
"my-tools": {
"url": "https://mcp.example.com/mcp",
"headers": { "Authorization": "Bearer your-token" }
}
}
}
The parts of remote MCP that are not in the quickstart.
MCP over HTTP holds connections open, and a proxy that buffers responses or cuts them at a fixed timeout breaks it. Ours does neither: responses stream straight through for as long as your server holds the connection. Clients should still reconnect on drop — a deploy or a node reboot ends the stream whatever the proxy does.
A URL on the public internet is reachable by everyone who finds it. Hostim gives you HTTPS and environment variables; the bearer token or OAuth check belongs in your server. Do not deploy an MCP server with write tools and no auth.
Requests are spread across replicas with no session affinity, so a server keeping session state in memory should run --replicas 1 (the default). To scale past one, keep session state in a managed Redis instead — every project includes a free 128 MB Redis.
No scale-to-zero and no cold starts: the container runs continuously, so the first tool call of the day answers as fast as the hundredth. That is also why the bill does not move with traffic.
The sa-1-1 plan is 1 vCPU and 1 GB of RAM, and fits most MCP servers — they wait on APIs more than they compute. Traffic, HTTPS certificates, logs and metrics are included. Larger plans are €4.50, €7.50 and €13.50. Prices exclude VAT and are billed hourly.
An agent in a loop can call a tool thousands of times in an hour. On per-request or per-GB-second platforms that is a bill you cannot predict; here it is the same €2.50. A 5-day trial needs no credit card.
MCP servers see the data the model asks for — tickets, documents, database rows, customer records. That makes where the server runs a compliance question, not a latency one. Hostim runs in German data centers under EU jurisdiction, with no US parent company and no CLOUD Act exposure.
Attach a managed PostgreSQL, MySQL or Redis instance in the same project if your server needs state, and it stays in the same place.
To host an MCP server, package it as a container that speaks Streamable HTTP or SSE on a port, then deploy it: hostim deploy mcp --docker-image <image> --plan sa-1-1 --port 8080. You get an HTTPS URL immediately, and you can attach your own domain with an automatic certificate. The flat price is €2.50/mo.
A local server runs on your own machine over stdio, started by the client, and only that machine can reach it. A remote server runs on a host with a URL and talks over HTTP, so several clients and people can use the same instance and it keeps running when your laptop is off.
Yes. An MCP server is an ordinary HTTP process, so any container host runs it. To self host an MCP server on Hostim you deploy the image and keep the code, the credentials and the data, paying a flat monthly price rather than per request.
Yes. Responses are not buffered and are not cut off at a fixed proxy timeout, so Streamable HTTP and SSE connections stay open as long as your server holds them. Clients should still reconnect on drop, since a deploy or a node reboot ends the connection.
Hostim provides HTTPS and environment variables for secrets; the authentication check belongs in your server. Require a bearer token or OAuth before any tool runs, keep the token in an environment variable rather than the image, and never expose write tools without a check.
Yes, but there is no session affinity, so a server holding session state in memory should stay at one replica (the default). Move session state into a managed Redis — every project includes a free 128 MB instance — and it scales past one.
In German data centers in the eu-center region, under EU jurisdiction. This matters for MCP in particular, because the server sees whatever data the model asks it for.
Start now
Open the dashboard and deploy a Docker image, a Git repo or a template. The 5-day trial project needs no card.