Documentation
RunLite is an MCP connector: a small set of tools that let Claude, Cursor, Windsurf, or any MCP-compatible AI tool host a static site, wire up a form backend, and read submissions — without the person building the site ever opening a dashboard. This page covers how to connect it and what each tool does.
Connect
Every AI tool adds the same address, https://mcp.runlite.in. The first time it connects, RunLite’s sign-in page opens: create a new account on the spot (no email or password) or sign in to an existing one. There’s no API key to copy or paste.
For a script, or a tool that can’t sign in, create an API key on your account page in the dashboard and send it as an Authorization: Bearer header instead.
Pick your tool for the exact steps:
- In Claude on the web or desktop, open Customize → Connectors.
- Click +, then Add custom connector. Name it RunLite and paste this URL:
https://mcp.runlite.in - Click Add, then Connect. On the RunLite screen, choose Continue with a new account (no email or password) or sign in to an existing one.
On a Team or Enterprise plan, an owner adds the connector first, under Organization settings → Connectors.
Run this in your terminal:
claude mcp add --transport http runlite https://mcp.runlite.inThen type /mcp in Claude Code, choose runlite and sign in. Choose Continue with a new account (no email or password) or sign in to an existing one.
Add --scope user to make RunLite available in every project, not just the current one.
Opens Cursor and asks you to confirm. Or add it by hand to ~/.cursor/mcp.json:
{
"mcpServers": {
"runlite": {
"url": "https://mcp.runlite.in"
}
}
}The first time Cursor uses RunLite, it asks you to sign in to RunLite in your browser.
In Windsurf, open Cascade’s MCP settings, choose to edit the raw config (mcp_config.json), and add:
{
"mcpServers": {
"runlite": {
"serverUrl": "https://mcp.runlite.in"
}
}
}Windsurf uses serverUrl, not url, for remote servers. If it doesn’t offer to sign in to RunLite, use an API key instead (see Other).
RunLite works with any MCP client that supports remote servers over Streamable HTTP. Point it at https://mcp.runlite.in; most clients take a config like this, and open RunLite’s sign-in page the first time they connect:
{
"mcpServers": {
"runlite": {
"url": "https://mcp.runlite.in"
}
}
}For a script, or a client that can’t sign in, create an API key on your RunLite account page and send it as a header:
{
"mcpServers": {
"runlite": {
"url": "https://mcp.runlite.in",
"headers": {
"Authorization": "Bearer <your API key>"
}
}
}
}Tools
Every tool acts as the account you signed in with (or the API key’s account), and new sites count against your plan’s site limit.
| get_account | Show the account's plan, how many of its sites are used, and whether it has been claimed. Read-only. |
| get_claim_link | For an unclaimed account, issue a link to claim it. A new link replaces any earlier one and never extends the 72-hour deadline. |
| deploy_site | Upload files and make them live. Creates the site on first call; atomic — every file goes live, or none does. |
| update_site | Re-deploy an existing site. Same operation as deploy_site, with a required site ID. |
| create_form | Create a form endpoint and get back ready-to-paste HTML, with spam protection already wired in. |
| configure_notifications | Set where a form's submissions are emailed. |
| get_submissions | Read recent form submissions. |
| set_custom_domain | Start attaching a domain the customer owns (Starter plan). Returns the DNS record they need to add. |
| check_custom_domain_status | Re-check a pending custom domain and move it forward until it is live. Safe to call repeatedly. |
| remove_custom_domain | Detach a custom domain; the site is back on its runlite.in address immediately. |
How a typical session goes
- The first time, you sign in on RunLite’s page, or choose a new account with no email or password.
deploy_siteuploads the site’s files and makes them live on a free{subdomain}.runlite.inaddress.- If the site needs a contact form,
create_formreturns embeddable HTML to include in the files you deploy. configure_notificationspoints form submissions at a real inbox. A new address gets a confirmation email first, and enquiries arrive once it’s confirmed.get_submissionsreads them back later.
What RunLite won’t publish
- Anything but static web files. HTML, CSS, JavaScript, JSON, images, fonts, audio, video and PDF are fine; programs, installers and archives are refused. Every deploy needs a root
index.html. - Login or payment pages on a runlite.in address. A page that asks for passwords, card details, one-time codes, PINs or wallet phrases can’t be published on
{subdomain}.runlite.in. Put it on the site’s own custom domain (Starter plan) instead. - Phishing, malware, scams and spam. Deploys are checked automatically. See the Terms, or report a site.
Claiming your account
An account created with “Continue with a new account” on the sign-in page is unclaimed: it has no email or password yet, and everything under it is deleted automatically 72 hours after creation if never claimed. Claiming — setting an email and password — makes it permanent and unlocks the dashboard at app.runlite.in: deployment history, submission inbox, API key management, and billing.
Need the claim link? Ask your AI tool for one: it calls get_claim_link, which issues a fresh link (any earlier link stops working). It never extends the 72-hour deadline.
If the site emails its enquiries to a confirmed address, that address also gets a “keep this site” email after the first real enquiry and again a day before deletion. The link in it only works for that email address.
Support
Questions or issues: support@runlite.in. See also the Privacy Policy and Terms of Service.