Skip to content
Agentmart
Submit a tool

Kleap

Build, edit, publish, and manage websites and web apps with Kleap hosting, domains, and analytics.

Connector by kleaphq · GitHub account verified by the MCP Registry

IndexedMITRemote (HTTP)★ 1
Write a review

Install

Works with Claude Code, VS Code, Cursor, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install connector/kleaphq-kleap

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Remote endpoint

  • https://kleap.co/api/mcp Remote (HTTP)

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Build, edit, publish, and manage websites and web apps with Kleap hosting, domains, and analytics.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 26, 2026.

Tools
15 read · 10 write · 10 delete
Secrets
None asked for
Install scripts
Nothing to install (hosted)
Runs as
Hosted (remote endpoint)

Tools by what they do 35

From the running server's own tool list (tools/list) on Oct 25, 2026.

Read 15 · Look things up without changing anything.

  • find_app
  • get_analytics
  • get_app
  • get_credits
  • get_database_schema
  • get_form_submissions
  • get_publish_status
  • get_search_console
  • list_app_files
  • list_apps
  • query_database_rows
  • read_files
Show 3 more tools
  • search_domains
  • seo_audit
  • upgrade_plan

Write 10 · Create, change, send or run things.

  • buy_domain
  • check_domain
  • check_task
  • connect_domain
  • connect_search_console
  • create_app
  • get_screenshot
  • insert_database_rows
  • rename_app
  • wake_app

Delete 10 · Delete, drop, revoke or wipe things.

  • delete_database_rows
  • delete_files
  • edit_files
  • generate_image
  • modify_app
  • publish_app
  • retry_task
  • run_database_sql
  • update_database_rows
  • write_files

Network hosts it talks to 3

  • github.com · found in code
  • glama.ai · found in code
  • kleap.co · found in remote endpoint, install command, code

Files it touches

  • Your home directory (~)
  • Any path the agent passes to its tools

Tools (35)

As the server listed them on Oct 25, 2026. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • buy_domainBuy Domain

    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_domainCheck Domain

    Check a domain's connection / DNS status for a Kleap app.

  • check_taskCheck Build Status

    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 answer (CLI, script, scheduled agent), do not stop at 'still building': call it again about every 30 seconds and stop only on completed (deployment_status deployed) or failed. The optional `wait` can shorten the hold but cannot exceed the server cap (8 seconds by default). status is one of: queued, p…

  • connect_domainConnect Domain

    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 anything.

  • connect_search_consoleConnect Google Search Console

    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 in Search Console. That one approval MUST happen in a browser — Google does not allow it any other way, so never claim you can do it for them. Nothing else is needed afterwards: the Search Console property is bound to the site's custom domain automatically, and get_search_console starts answering. If …

  • create_appCreate Website

    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. In a widget client (ChatGPT Apps) the preview above shows real-time progress and reveals the final live URL by itself, so you do NOT need to block or keep polling check_task. With NO widget (CLI, script, scheduled or one-shot run) nobody sees that preview and the site does not exist yet: call check_…

  • delete_database_rowsDelete Database Rowscan change or delete data

    Delete the rows matching where (required, non-empty, exact matches, e.g. {"id":42}). Permanent. Returns how many were deleted.

  • delete_filesDelete Filescan change or delete data

    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 nothing, which is worse for SEO than a clean 404. Deleting a binary also removes its stored bytes. Paths Kleap owns (astro.config.mjs, package.json, tsconfig.json…) are refused — the build lays its own copy back down, so removing them changes nothing. The homepage (src/pages/index.astro) is refused too…

  • edit_filesEdit Files In Placecan change or delete data

    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 fix one line wastes tokens and risks corrupting the rest. read_files first, copy the text EXACTLY. `old_string` must appear once — otherwise the error names the count; add context or pass replace_all:true. Edits are validated together: if any is invalid, nothing is written. Across files the writes are s…

  • find_appFind Website by Addressread-only

    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 / modify_app / publish_app. ADDRESS TO SHOW THE USER: site_url. When the owner has connected a domain, custom_domain is set and site_url is that domain — say THAT, never the {slug}.kleap.io host, which is the internal address they did not choose.

  • generate_imageGenerate Imagecan change or delete data

    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 base64 to transmit (a real image's base64 is too big for a model to emit reliably — this is the ONLY dependable way to add a generated picture). Use it for hero photos, section illustrations, onboarding images, OG images, or to replace a broken/ugly image. Square 768×768 by default; pass width/height…

  • get_analyticsGet Site Analyticsread-only

    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 automatically on publish). Requires the analytics:read scope — sessions connected BEFORE this tool shipped don't have it: on a 403 INSUFFICIENT_SCOPE error, tell the user to disconnect and reconnect the Kleap integration (re-authorize) to grant the scope.

  • get_appGet Website Detailsread-only

    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 plain details: name, slug, URLs, creation date, status, published_at (when the live version went up, null = never published) and has_unpublished_changes (true = some file was edited after the last publish, so publish_app would ship it; call this BEFORE publishing work you did not write; a file delete…

  • get_creditsCheck usageread-only

    Use this when the user asks how much usage they have left or about their plan status.

  • get_database_schemaGet Database Schemaread-only

    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).

Show 20 more tools
  • get_form_submissionsGet Form Submissionsread-only

    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 (submissions contain visitor PII) — sessions connected BEFORE this tool shipped don't have it: on a 403 INSUFFICIENT_SCOPE error, tell the user to disconnect and reconnect the Kleap integration (re-authorize) to grant the scope.

  • get_publish_statusCheck Publish Statusread-only

    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 pointing at a page that was never written — 90% of real dead links, /contact most often), incoherent_pages (a page answering 200 with content that contradicts the link leading to it), checks (source findings that did NOT block the publish, each with a category and a plain sentence: forms that submit into the…

  • get_screenshotScreenshot Website

    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 (![preview](image_url)) and nothing else. It is NOT the website's address, so never present it to the user as their site link, and never open, fetch or web-search it: the site's own address is production_url from get_app / find_app.

  • get_search_consoleGet Google Search Performanceread-only

    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 estimate. Returns totals plus the top queries and top pages that produced them. Search Console lags real traffic by ~2 days — the newest days are always incomplete, say so rather than reporting a drop. If connected is false or site_selected is false, the site simply has no Search Console hooked up: call con…

  • insert_database_rowsInsert Database Rows

    Insert up to 500 rows into one table of the app's database. Returns the inserted rows (with generated ids/defaults).

  • list_app_filesList App Filesread-only

    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_appsList My Websitesread-only

    Use this when the user wants to see all their websites with name, slug, preview URL, and production URL.

  • modify_appModify Websitecan change or delete data

    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 to get the app_id.

  • publish_appPublish Websitecan change or delete data

    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 page (menu entries to a page never written are the #1 case), pages whose content contradicts the link leading to them, and JSON-LD/sitemap/robots coverage. Most deploys land in under a minute, so this call WAITS a bounded time and returns that `report` here when it does — read it before calling the l…

  • query_database_rowsQuery Database Rowsread-only

    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_filesRead File Contentsread-only

    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 new file. Use it to fix headers/footers, wrong phone numbers, broken links, dead forms. Works with a Read-only key. Returns { files: [{ path, content, type, bytes, truncated?, returned_bytes? }], missing }. Text is capped at 256 KiB per file and 1 MiB per call; truncated files are explicitly marked, and…

  • rename_appRename Website

    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_taskRetry Buildcan change or delete data

    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 up to TWICE; retry TASK_FAILED only ONCE; then stop and tell the user. NEVER retry a non-transient error (402 INSUFFICIENT_CREDITS = out of usage, a rejected prompt).

  • run_database_sqlRun Database SQLcan change or delete data

    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_domainsSearch Domainsread-only

    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_auditSEO Auditread-only

    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. Returns score.percent out of 100 (a Kleap checklist, not a Google metric), top3 fixes and every finding with its page, impact (1-10) and fix. For a Kleap site apply fixes with read_files, edit_files, publish_app, then run it again.

  • update_database_rowsUpdate Database Rowscan change or delete data

    Update the rows matching where (required, non-empty, exact matches, e.g. {"id":42}) with the values in set. Returns the updated rows.

  • upgrade_planUpgrade Planread-only

    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' (legacy name) buys extra usage for users who already have a paid plan. Do not quote a price: the page shows it in the user's currency.

  • wake_appWake Website

    Use this when the user's website preview is sleeping (sandboxes auto-stop after 15 min). Takes ~30-60s to restart.

  • write_filesWrite Files Directlycan change or delete data

    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 silently drops whatever you leave out — on a 30KB shared layout that is how headers and footers get wiped. No Kleap-AI step, so what ships is byte-for-byte what you wrote — the right choice when a phrase, a URL or a schema must be exact. Publishing still audits the result (see publish_app). Best for sca…

Signals

Stars
1
Forks
0
Open issues
0
Last commit
Oct 18, 2026 (10 days ago)
Last release
Sep 15, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.kleaphq/kleap
Version
1.1.0
Auth
Auth not stated
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026
Cite this page

Kleap MCP server. Agent Mart. https://agentmart.dev/connectors/kleaphq-kleap (last updated 2026-10-24)