mcpserver.lol
registry/floot
Connection check verified live · 20h ago

floot

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

Tools 46
GitHub stars
Installs / wk
Licence
Transport streamable-http
Last checked 20h ago

Tools & capabilities

46 tools

Read from the running server on 20h ago.

add_dependency packages*projectId*
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-gy…
apply_patch patch*projectId*expected_version
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 l…
cancel_request jobId*projectId*
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 screens…
card_upload_asset jobId*phase*file_nameprojectId*size_bytescontent_type
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…
copy_file copies*projectId*expected_version
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 unchan…
create_checkpoint title*projectId*description
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 checkpo…
create_project name*initial_prompt*
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 (serv…
delete_file can modify data path*projectId*expected_version
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 c…
edit_file path*new_strold_strprojectId*new_stringold_string +2
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…
execute_sql can modify data query*databaseprojectId*no_transaction
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 cl…
fetch read-only id*
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 detai…
generate_image images*projectId*
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-rela…
get_current_context read-only projectId*
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…
get_guide topictopicsprojectId
Compatibility alias of get_guides — the identical tool under its common misspelling. Prefer get_guides; see it for full usage.
get_guides topictopicsprojectId
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 sev…
get_job_status read-only jobId*wait_seconds
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 th…
get_logs read-only limitsourceprojectId*log_reference_id
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 al…
get_preview_url read-only projectId*
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 t…
get_publish_status read-only projectId*
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…
list_files read-only projectId*
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 — ti…
list_projects read-only limitname_filter
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, wh…
list_resources read-only queryprojectId*
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'…
navigate_preview read-only namepathprojectId*targetType*
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", "her…
provision_resource resource*projectId*
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: - databas…
publish_app domainmobileprojectId*add_anotherdomain_typeinclude_made_with_floot
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 i…
pull_database_schema databaseprojectId*helper_name
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 match…
query_database read-only query*databaseprojectId*
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,…
read_file read-only path*limitoffsetprojectId*diagnosticsinclude_references
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.pageLay…
read_files read-only limitpaths*projectId*diagnosticsinclude_references
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 severa…
remove_dependency packages*projectId*
Remove npm packages from a Floot project's dependency record (record-only; nothing runs).
rename_file renames*projectId*expected_version
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'}). Pref…
republish_app can modify data projectId*include_made_with_floot
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). Also rebuilds…
request_external_resource nametype*projectId*instructionssecret_env_varsoptional_env_vars
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…
request_user_upload projectId*description
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 p…
run_code_in_browser can modify data code*projectId*
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 l…
run_code_in_vm can modify data code*projectId*timeout_seconds
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…
run_tests read-only pathsprojectId*
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 componen…
screenshot_preview read-only projectId*
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.
search read-only query*
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.
search_code read-only globquery*regexprojectId*
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…
typecheck read-only pathsprojectId*
Typecheck the project (incremental tsc on the project VM). Type errors don't block the app from running.
unpublish_app can modify data projectId*
Take the published app offline and release its subdomain — destructive, confirm with the user first. Details: get_guides('publishing').
update_project_metadata updatesprojectId*shareTargetnativeSystemBars
Update project settings (current values appear at the top of list_files). Keys: title (2-100 chars), description, iconUrl, splashUrl, mobileAppId, enableSSR (boolean), flootAiDisal…
upload_asset filefile_name*projectId*size_bytescontent_typecontent_base64
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 attac…
view_annotation read-only projectId*annotationId*
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 th…
write_file path*content*projectId*expected_version
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…