Skip to content
LazyFrog

MCP server hosting

Host your MCP server. Give AI apps an address to call.

A remote MCP server is a web service, and LazyFrog runs web services. Yours gets an HTTPS address, its own PostgreSQL, secrets for the keys its tools use, logs and undo. Your AI can build and publish it for you, or you push the code.

A real example: Riverside Riders

We asked Codex for an MCP server on 12 November 2026, in two messages. It took 44 steps on LazyFrog in about 6 minutes of work, and the server is live at riverside-riders-mcp.lazyfrog.app. The club is made up, and the server says so.
  1. You, message 1

    Use LazyFrog to host an MCP server that AI apps like Claude and ChatGPT can connect to. It's for my cycling club, Riverside Riders: two read-only tools, list_rides (upcoming group rides: date, start time, meeting point, distance and pace) and get_ride (one ride's details, by id). Keep the rides in the project's database and add five sample rides. Write it in TypeScript with the official MCP SDK, over Streamable HTTP at /mcp. The ride calendar is public, so no sign-in is needed. This is an example for testing, so at / show a one-line page saying it's an example MCP server made on LazyFrog, not a real club. Tell me the address to connect to when it's done. Show me your plan first.

    Codex: Read LazyFrog's guide and wrote a six-step plan: a TypeScript server, the rides in the project's own PostgreSQL, two read-only tools at /mcp, no sign-in, tests, then publish. Then it waited. Nothing was built yet.

  2. You, message 2

    Looks good, go ahead and build it. Publish it when your tests pass.

    Codex: Made a project, installed the official MCP SDK, and wrote the server, a migration with five made-up rides, and tests. It ran the tests, called its own server on the preview over MCP, ran LazyFrog's preflight, published, and called the live address the same way. LazyFrog refused two of its steps and said why (a plan agreed in the same turn it was made, two migrations with the same number), and it corrected both.

What we checked from outside

  • The official MCP client connected in a quarter of a second, listed both tools as read-only and called them.
  • Codex and Claude Code, each connected to this server alone, answered questions from its tools.
  • Left alone for 15 minutes, the live server went to sleep. The next call woke it, and the whole exchange took about a second.
  • An export of the project, restored and started with docker compose up on another machine, answered the same calls with the live data.
Claude Code, connected to this server only
Using the riverside MCP server: which ride is the longest, and when and where does it start?

The longest ride is the Weekend Century at 100 km.

When: Tuesday 24 November 2026, 07:30 UTC

Where: Example Riverside Station cycle racks

Pace: Endurance, 22–26 km/h

There are five rides in the calendar, and the next longest is the Hill and Valley Challenge at 65 km. The server marks every ride as fictional test data, not real club events.

Built in Codex, OpenAI's coding agent. Claude Code and Claude build the same way, through the same LazyFrog connection.

Connect to it

An app that adds remote MCP servers takes the address. These are the example's; yours is your project's address with your server's path.
Claude Code
$ claude mcp add --transport http riverside https://riverside-riders-mcp.lazyfrog.app/mcp
Codex
$ codex mcp add riverside --url https://riverside-riders-mcp.lazyfrog.app/mcp

A server with a token: Claude Code sends it with --header "Authorization: Bearer …", and Codex reads it from an environment variable with --bearer-token-env-var. Your server checks it against a secret you set in LazyFrog.

What your server gets

  • An HTTPS address: name.lazyfrog.app, or your own domain from the Hobby plan.
  • Any language: LazyFrog runs any process that listens on $PORT. The example is TypeScript on the official MCP SDK.
  • Its own PostgreSQL database, kept from one publish to the next.
  • Secrets for the API keys your tools call, set in your LazyFrog account and never in the code.
  • A preview to try changes on before they go live, and logs your AI can read.
  • Publishing with no downtime, an earlier version back in seconds, and undo for code, data and files.
  • Code that's yours: a git repository you can clone, and an export with your data that runs anywhere with docker compose up.

How a project's parts are declared: services.json. Working from your own machine: for developers.

What it costs

  • Building and trying is free: one project with its database and a preview address you can connect to while you test. Free has no live address.
  • A live server starts with Hobby at $9 a month (excluding VAT and sales tax): 3 projects, a live address, your own domain and one live site always on. Pro is $29 with three always on, Business $79 with ten.
  • A flat monthly price with limits, not a charge per call. LazyFrog never charges for your AI's work.

Every plan and limit

Good to know

  • A live server sleeps after 15 quiet minutes and wakes on the next call, in about a second in our test. Turn on always-on for one that must answer at once.
  • Keep state in the database, not in memory: a server that wakes or is published starts fresh, so sessions held in memory end. A stateless server, like the example, loses nothing.
  • Sign-in is your server's. With none, anyone with the address can call it, so keep a public server read-only.
  • LazyFrog runs servers that speak HTTP. One that only speaks stdio needs the SDK's HTTP transport first, and your AI can add it.

Questions

What is MCP server hosting?
Running a remote MCP server where AI apps can reach it: an HTTPS address that speaks the Model Context Protocol, over Streamable HTTP. On LazyFrog the server is a project like any web app, with its own database, secrets, logs, preview and publishing.
Which AI apps can connect to it?
Any app that adds a remote MCP server by its address. We checked the example with the official MCP client, Claude Code and Codex. Claude's and ChatGPT's apps add remote servers as custom connectors too; we haven't tried those with this example yet.
Can my AI build and publish the server for me?
Yes. Connect LazyFrog to Claude Code, Codex or Claude, describe the server, and it builds it in a project, tests it on the preview and publishes when you say so. The example on this page was made that way, in two messages.
Can I bring a server I already wrote?
Yes. Import it from its git repository, or push to the project's own git address. It needs a start command that listens on $PORT, and a health path that answers 200 without sign-in.
Will my server be asleep when an AI calls it?
A live server sleeps after 15 quiet minutes, and the next call wakes it: in our test the whole first exchange took about a second, against a quarter of a second awake. Always-on keeps it running: one live site on Hobby, three on Pro.
How do I keep a server private?
Give it a sign-in in its code: a token it checks, which Claude Code and Codex can send, or OAuth, which Claude's and ChatGPT's apps use for servers that need sign-in. Keep the token in LazyFrog's secrets, never in the code.
Is the Riverside Riders example real?
The server is real: Codex built and published it on LazyFrog on 12 November 2026 from the two messages on this page, and it is live at riverside-riders-mcp.lazyfrog.app/mcp. The club and its rides are made up, and the server says so.