Skip to content
Back to search
100
MCP live MCP 2025-11-25 streamable-http

com.floot/floot

com.floot/floot

Build and publish full-stack web and mobile apps on Floot from any MCP client. Building is free.

Uptime
100.0%
1 direct probes · 30d
Response
1549ms
last probe
Tools
48
callable
Resources
12
readable
Prompts
0
available

Tools · 48

search

Search your Floot projects and their code. Returns result ids usable with fetch. For richer options, list_projects enumerates projects and search_code does code-level search.

fetch

Fetch a search result by id: a project overview ('<projectId>') or a file ('<projectId>:<path>'). For direct access to a known file or project, read_file/list_files give more detail.

list_projects

List your Floot projects (id, name, last-updated, whether an app icon is set), most recently updated first. name_filter is a case-insensitive substring match on the stored name, which is often not the…

list_resources

List the env vars a project's code can use and the resources behind them: (1) resources CONNECTED to the project — usable as process.env.<NAME> in endpoint code now; (2) the owner's other account-leve…

list_files

List a Floot project's virtual file tree with sizes, plus its dependencies, current version (pass the version to write tools as expected_version), and current project metadata — title, description, ap…

read_file

Read a file from a Floot project (cat -n style). Paths follow the item scheme: components/Name.tsx, components/Name.module.css, helpers/Name.tsx, pages/name.tsx, pages/name.pageLayout.tsx, endpoints/r…

read_files

Read MULTIPLE files from a Floot project in ONE call — much cheaper than repeated read_file (the whole project is loaded once, one round-trip). Prefer this whenever you need several files together (e.…

search_code

Search a Floot project's files (string or regex) with optional glob filters (e.g. ['components/*', 'endpoints/**']). Returns file:line excerpts plus filename matches; capped at 40 results.

get_guides

Floot documentation for agents. Call with no arguments to list available guides. Pass `topic` for one guide (e.g. topic:'floot-overview') or `topics` (an array of ids) to fetch several at once. floot-…

get_guide

Compatibility alias of get_guides — the identical tool under its common misspelling. Prefer get_guides; see it for full usage.

write_file

Create or fully overwrite a file in a Floot project. Content is written literally. Paths must follow the item scheme (see read_file); invalid paths are rejected with the rule they broke. Pass expected…

edit_file

Replace old_string with new_string in a project file. old_string must match the current content exactly (including whitespace) and be unique unless replace_all is set. Prefer this over write_file for …

delete_file

Delete a project file. Deleting an item's main code file (e.g. components/Foo.tsx) removes the whole item including its css/tests; deleting an aux file (e.g. Foo.module.css) only clears that part.

remove_dependency

Remove npm packages from a Floot project's dependency record (record-only; nothing runs).

create_project

Create a new Floot project (pre-seeded with the shared component library) and return its id. `initial_prompt` is the USER'S ORIGINAL REQUEST verbatim — it grounds the project (served back as <project-…

apply_patch

Apply a V4A patch to a Floot project — create, update, and delete multiple files in ONE atomic operation. Format: "*** Begin Patch" envelope with "*** Add File: path" (+ prefixed lines), "*** Update F…

get_logs

Your FIRST step when debugging any runtime problem — a 500, a failed request, a blank page, or 'it doesn't work' from the user. Call this before theorizing from an error message alone. Reads the proje…

typecheck

Typecheck the project (incremental tsc on the project VM). Type errors don't block the app from running.

run_tests

Run the project's Jasmine spec files (helpers/*.spec.tsx) headlessly on the project VM (jsdom — no browser needed). Frontend AND backend code is testable: specs may render components (@testing-library…

add_dependency

Add npm packages to the project (validated against Floot's supported set — rejected packages get a supported alternative named; some versions are pinned/substituted). Avoid node-gyp/native packages (e…

run_code_in_vm

Run a Node.js snippet on the project's compute VM (headless — no browser needed). The project's npm dependencies are importable; network access works, so you can call the project's /_api/* endpoints (…

run_code_in_browser

Run a TypeScript snippet inside the RUNNING APP's preview document in the user's open Floot editor (`document`/`window` ARE the live app's DOM — query `document` directly; do NOT look for a preview if…

navigate_preview

Point the user's OPEN Floot preview at a page URL, a component's examples, or a page's examples — use it to SHOW the user what you just built ("here's the new dashboard page", "here's the Button compo…

screenshot_preview

Capture a screenshot of the user app. Call it whenever you want to SEE what the app currently looks like (layout, styling, rendered state) or want to debug the app.

get_current_context

What the user is looking at RIGHT NOW in their open Floot editor: the active page/component, the preview element they selected (mapped to source file:line), the preview device size, whether they drew …

view_annotation

View a screenshot annotation the user drew on the app preview (annotationId comes from get_current_context). Returns the annotated image — the user's drawings/text point at what they mean. Annotations…

get_job_status

Poll a pending tool call by its jobId. Each poll either returns the final result (succeeded/failed/cancelled), or reports the call as still running — call it again until you get the result. Failed cal…

rename_file

Rename one or more items and automatically rewrite every file that imports them. Use item names WITHOUT extensions (e.g. {from:'components/OldName', to:'components/NewName'}). Preferred over delete+cr…

copy_file

Copy one or more items to new names (e.g. {from:'components/Card', to:'components/BigCard'}). Item names without extensions; same type only. Importers of the source are left unchanged. Pass several co…

query_database

Run a READ-ONLY SQL query against the project's Postgres database (SELECT, EXPLAIN, etc.). Writes are rejected — use execute_sql for those. Returns JSON: `{rows, rowCount, command, truncated?}` (or `{…

execute_sql

Run a WRITE SQL statement against the project's Postgres database — CREATE/ALTER TABLE, INSERT, UPDATE, DELETE, DROP, migrations. Destructive statements are allowed but your MCP client will show the u…

pull_database_schema

Introspect the database and write a typed schema helper the app uses for queries (kysely on current projects; some legacy projects use drizzle or snake_case kysely — the pull matches whatever the proj…

create_checkpoint

Create a NAMED checkpoint — a labeled restore point the user sees in the project's Checkpoints panel and can revert to later. All file/dependency changes since the previous checkpoint are grouped unde…

update_project_metadata

Update project settings (current values appear at the top of list_files). Keys: title (2-100 chars), description, iconUrl, splashUrl, mobileAppId, enableSSR (boolean), flootAiDisallowed (boolean — tru…

generate_image

Generate AI image assets directly into the project. Each image is written to the project's own asset storage and registered in its asset manifest; the tool returns the project-relative asset paths (/_…

upload_asset

Upload a binary asset (image, font, audio, …) to the project's hosted storage. This uploads bytes you actually hold — a file you generated, downloaded, or read yourself. Chat attachments don't qualify…

request_user_upload

Show the user an inline upload card so they can hand you a file from their device (image/font/audio/…) — it lands in the project's hosted assets and the card gives you the hosted publicUrl. This is th…

card_upload_asset

Internal bridge for the upload card (not for agents — use request_user_upload / upload_asset). phase 'presign' mints the PUT URL for the picked file; phase 'complete' verifies the object landed and fi…

provision_resource

Provision a Floot-managed backend resource for the project — fully server-side (Floot mints all secrets; no keys to paste). Also seeds the working code for it. Available: - database — A Floot-managed …

request_external_resource

Request the USER'S OWN external credential for this project — their OpenAI or Anthropic API key, an external Postgres connection string, or any other service's key (type GENERIC, e.g. Stripe/Resend — …

get_publish_status

Read-only publish snapshot for a project: published (true/false, with the live URL when published), customDomains (the user's own domains attached to the project — apex and www are listed separately; …

publish_app

Publish the app to production or set up a custom domain — call when the user wants the app live or asks about a domain. Already-published apps needing a rebuild use republish_app instead. Read get_gui…

publish_ios_testflight

Publish the app to TestFlight (iOS). Call it directly whenever the user asks for TestFlight, iOS, or the App Store — publish_app is web-only and not a prerequisite. Returns either a link to give the u…

publish_android_google_play

Publish the app to Google Play internal testing (Android). Call it directly whenever the user asks for Google Play or Android — publish_app is web-only and not a prerequisite. Returns either a link to…

republish_app

Rebuild the LIVE production app with the current project code — call after changes the user wants live (the app must already be published; otherwise use publish_app). Details: get_guides('publishing')…

unpublish_app

Take the published app offline and release its subdomain — destructive, confirm with the user first. Details: get_guides('publishing').

cancel_request

Withdraw a pending request you created — a credential request from request_external_resource, a custom-domain setup request from publish_app, or an open screenshot job from screenshot_preview (jobId f…

get_preview_url

Show the user a live preview card and return the preview link. On an EXISTING project this is typically called EARLY, before the first change, so the user watches edits live from the start; the result…

Resources · 12

floot-project-card ui://floot/project-card
floot-project-card-gpt ui://floot/project-card-gpt.html
floot-connect-card ui://floot/connect-card
floot-connect-card-gpt ui://floot/connect-card-gpt.html
floot-publish-card ui://floot/publish-card
floot-publish-card-gpt ui://floot/publish-card-gpt.html
floot-mobile-publish-card ui://floot/mobile-publish-card
floot-mobile-publish-card-gpt ui://floot/mobile-publish-card-gpt.html
floot-screenshot-card ui://floot/screenshot-card
floot-screenshot-card-gpt ui://floot/screenshot-card-gpt.html
floot-upload-card ui://floot/upload-card
floot-upload-card-gpt ui://floot/upload-card-gpt.html

How to use

Add to your Claude Desktop / Cursor / Cline MCP config:

{
  "mcpServers": {
    "com.floot/floot": {
      "url": "https://mcp.floot.com/mcp",
      "transport": "streamable-http"
    }
  }
}