MCP server
Kleap Official
io.github.kleaphq/kleap
Checked 26 Oct 2026, 08:29 UTC · Connected to it and listed its tools
Build, edit, publish, and manage websites and web apps with Kleap hosting, domains, and analytics.
Working at last checkOfficial: kleap.co's GitHub account (kleaphq)About 11,129 tokens per request once connected35 tools
https://kleap.co/api/mcp
At a glance
- Type
- MCP server
- Publisher
- kleap.co (verified by the MCP Registry)
- Status
- Working at last check
- Tools
- 35
- Token cost
- About 11,129 tokens per request
- Sets up in
- Claude Code, Claude Desktop, Codex, Gemini CLI, Cursor, VS Code, Antigravity, ChatGPT, OpenAI API, Grok
- Last checked
- 26 Oct 2026, 08:29 UTC
Connect it to your agent
Opens the app, which shows the server and asks you to confirm. For other apps, copy the setup below.
Claude Code
claude mcp add --transport http kleap https://kleap.co/api/mcp
Claude Desktop
Settings → Connectors → Add custom connector, and paste the URL.
Codex (config.toml)
[mcp_servers.kleap] url = "https://kleap.co/api/mcp"
Gemini CLI
{"mcpServers":{"kleap":{"httpUrl":"https://kleap.co/api/mcp"}}}
Cursor
{"mcpServers":{"kleap":{"url":"https://kleap.co/api/mcp"}}}
VS Code
{"servers":{"kleap":{"type":"http","url":"https://kleap.co/api/mcp"}}}
Antigravity
agy mcp add kleap https://kleap.co/api/mcp
ChatGPT
Settings → Apps & Connectors → Advanced settings: turn on Developer mode, then Create a connector and paste the URL. Which plans can do this varies.
OpenAI API (Responses tools)
{"type":"mcp","server_label":"kleap","server_url":"https://kleap.co/api/mcp","require_approval":"always"}
Grok (xAI API tools)
{"type":"mcp","server_label":"kleap","server_url":"https://kleap.co/api/mcp"}
Tools
buy_domainMoves money · ~447 tokens
Start buying a domain: returns a Stripe checkout_url (valid 30 min) that the USER must open and pay. Nothing is bought until they complete checkout — give them the link, never say it is purchased. With app_id it is connected to that app after payment.check_domain~132 tokens
Check a domain's connection / DNS status for a Kleap app.check_task~563 tokens
Check a create/modify task. Returns quickly with the CURRENT status — report it to the user rather than calling again in the same turn; a build takes 5-15 min, so the answer to 'is it ready?' is usually 'still building, here is the progress'. EXCEPTION: in a headless or one-shot run with nobody to aconnect_domain~231 tokens
Connect a domain the user ALREADY OWNS to a live Kleap app (routing + automatic TLS). The app must be live first — a create_app/modify_app with deployment_status deployed already counts as published, so you do NOT need publish_app first. The user points the domain's A record to Kleap. Does not buy aconnect_search_consoleChanges accounts · ~373 tokens
Use this when the user wants to connect (or reconnect) Google Search Console for a site — typically right after get_search_console reported connected:false. Returns a consent_url: give it to the user as a link and ask them to open it and approve access with the Google account that owns the domain increate_app~431 tokens
Use this when the user wants a complete, hosted website or web app built from a text description (e.g. 'build me a website for X'). Kleap's AI builds AND auto-deploys the whole site; this takes a few minutes (typically 5 to 15 min). Returns a build_url instantly so the user can watch it build live.delete_database_rowsDeletes data · ~199 tokens
Delete the rows matching where (required, non-empty, exact matches, e.g. {"id":42}). Permanent. Returns how many were deleted.delete_filesChanges files · Deletes data · ~390 tokens
Remove pages, components or assets from a site — the counterpart to write_files. Use it when a page should no longer exist: a wrong route, a duplicate, an outdated landing page, an image nobody references. Do NOT overwrite the file with empty content instead: that leaves a URL answering 200 with notedit_filesChanges files · ~506 tokens
Change PART of a file without resending it — the counterpart to write_files. Give `old_string` (exact text as in the file today) and `new_string`; Kleap reads, replaces, stores. Nothing else moves. Use it whenever the file exists and only a line, block or URL changes: resending a 30KB layout to fixfind_app~286 tokens
Resolve a website the user refers to by its ADDRESS — a custom domain ('mysite.ch'), a kleap.io URL ('mysite.kleap.io'), or a slug — to its app_id. Use this FIRST whenever the user names a site by its address instead of an app_id (e.g. 'edit mysite.ch'), then pass the returned app_id to get_app / mogenerate_image~534 tokens
Put a REAL photo or illustration on the site by describing it — no image bytes to send. Give a vivid `prompt` and a `public/` `path` (e.g. public/hero.jpg); Kleap generates it with Cloudflare FLUX.2 and stores it as a proper binary asset, exactly like write_files with encoding:"base64" but with NO bget_analytics~304 tokens
Use this when the user asks about traffic, visitors, or which pages/referrers are performing on their PUBLISHED site. Backed by the same analytics as the Kleap dashboard's Visitors view. Returns zeroed data with configured:false if the app has never been published (analytics is set up automaticallyget_app~392 tokens
Show a website to the user: its screenshot, name and live address. This is the ONE tool that renders the finished-site card, so call it once after a build or edit has finished and deployed (check_task says deployment_status deployed) — that is what lets the user SEE what was built. Also use it for pget_credits~116 tokens
Use this when the user asks how much usage they have left or about their plan status.get_database_schema~176 tokens
The app's Kleap Database (Postgres): its tables, row counts and columns. Call it before reading or writing rows. provisioned:false means the app has no database yet — create one with modify_app (describe the data to store).get_form_submissions~326 tokens
Use this when the user asks who filled out their contact form, or wants to see/export leads from their live site. Returns submissions from any <form> built with KleapForm on the app, newest first. Empty list is normal for a brand new site with no visitors yet. Requires the forms:read scope (submissiget_publish_status~542 tokens
Use this to check whether a website is actually published and live. Returns the published state, the live production URL, and — once a publish has run — the PUBLISH REPORT of what Kleap checked on the site it just built: broken_links (existing pages that fail), dead_nav_links (menu entries pointingget_screenshot~228 tokens
Use this when the user wants to see a visual screenshot of their website. Rate-limited to 1/min per app. The returned image_url is a PNG on the asset host — render it as an image () and nothing else. It is NOT the website's address, so never present it to the user as their siteget_search_console~456 tokens
Use this when the user asks how their site is doing IN GOOGLE SEARCH — keywords/queries they rank for, impressions, clicks from search, CTR, or average position. Backed by their own Google Search Console property (connected per site in Kleap's options), so it is the real Google data, not an estimateinsert_database_rows~202 tokens
Insert up to 500 rows into one table of the app's database. Returns the inserted rows (with generated ids/defaults).list_app_files~172 tokens
List the source file PATHS of an app (names only, no contents). See the project structure, then read_files to get contents before editing. Astro: src/pages/*.astro, src/data/*.json, src/components/*.astro, public/*.list_apps~167 tokens
Use this when the user wants to see all their websites with name, slug, preview URL, and production URL.modify_app~246 tokens
Use this when the user wants to change or update an existing website. The AI can overwrite or remove existing content and automatically publishes the result to the live site. This uses Kleap usage. Needs the app_id — if the user named the site by its address (e.g. 'mysite.ch'), call find_app first tpublish_appSends messages · ~372 tokens
Use this to take a website LIVE at its public URL. Publishing is VERIFIED-LIVE: the app is only reported published once the new version is provably serving — otherwise it reports 'not confirmed live', never a false 'it is online'. Publishing also AUDITS the built site: every internal link on every pquery_database_rows~266 tokens
Read rows from one table of the app's database. where = exact matches, e.g. {"status":"new"}. Max 500 rows per call; page with offset while has_more is true.read_files~356 tokens
Read existing file contents so you can edit them SAFELY instead of rewriting blind (which risks breaking shared components/homepages). Loop: list_app_files → read_files → edit_files (change just the lines that must change) → publish_app; use write_files instead only when you are writing a whole newrename_app~201 tokens
Rename an app's display name. Does NOT change the URL — the live address ({slug}.kleap.io) and any links to it stay intact. (There is no tool to delete the entire app; delete_files removes selected source files.)retry_task~256 tokens
Resume a failed or stalled create/modify task from where it stopped — partial files are preserved. Use this when check_task reports 'failed' instead of starting a brand-new create_app. Returns a NEW task_id — poll check_task on that NEW id (not the original). Budget: retry TASK_TIMEOUT/STALE_TASK uprun_database_sql~216 tokens
Run SQL on the app's database (owner-level, needs database:write), values as $1, $2 in params. Rows capped at 500 / 5 MB. A table left without row-level security is rolled back (RLS_REQUIRED). To just read rows, prefer query_database_rows.search_domains~219 tokens
Search for available domains for a site (e.g. 'mybakery'). Returns available names across TLDs. To buy one, call buy_domain — it returns a checkout link the user pays. Use connect_domain for a domain the user already owns.seo_audit~318 tokens
Free SEO check of ONE public website URL, on Kleap or not (no app_id, no usage consumed, no AI call). Reads up to 12 pages plus sitemap.xml and robots.txt and checks title, meta description, h1, canonical, viewport, lang, og:image, JSON-LD, image alt, thin content, noindex and dead internal links. Rupdate_database_rows~229 tokens
Update the rows matching where (required, non-empty, exact matches, e.g. {"id":42}) with the values in set. Returns the updated rows.upgrade_plan~270 tokens
Use this when the user wants a paid Kleap plan, runs out of usage, or needs a feature that requires one (custom domain, more usage). Returns an upgrade_url the USER must open and pay — nothing is charged before that, so never say they are subscribed. plan: 'monthly' (default) or 'annual'; 'credits'wake_app~144 tokens
Use this when the user's website preview is sleeping (sandboxes auto-stop after 15 min). Takes ~30-60s to restart.write_filesChanges files · ~863 tokens
Write WHOLE files DIRECTLY — YOUR model generates the code, Kleap stores, builds and deploys it as-is. To change something in a file that ALREADY EXISTS, use edit_files instead (read_files → edit_files): it replaces just the lines you name, while write_files makes you retype the entire file and sile
Browse
Related MCP servers
- DreamAgent
Build and deploy websites, Telegram and Discord bots from chat via the DreamAgent platform. - WeInc
Start, browse and manage your WeInc websites from your AI assistant. - iter0
Build and edit launch-ready websites for tech founders from a brief or an authorised reference. - Page Lemon
Publish websites from chat and keep editing them: live links, version history, forms and domains. - Supovia Customer Support
Reply to and resolve customer chats, search your help docs and see which conversations need you. - WebZum - Websites for Small & Local Businesses
Describe a local business, verify the owner email: SEO site, hosting, chatbot, Google Ads. - Instant Business Website Builder & Next.js Generator
The easiest way to build, preview, and launch a live business website in 60 seconds ($0 setup). - Zarla Website Builder
Build, edit and publish websites from Claude, ChatGPT, Cursor and Gemini. No code — Zarla hosts it.
Badge for your README
[](https://aptlynx.net/servers/io.github.kleaphq/kleap)
Listing text is written by the maker; AptLynx lists tools and does not vouch for them. Find another tool · Browse by topic · For agents