MCP server hosting
Host your MCP server. Give AI apps an address to call.
A real example: Riverside Riders
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.
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.
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
$ claude mcp add --transport http riverside https://riverside-riders-mcp.lazyfrog.app/mcp
$ 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.
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.