> For the complete documentation index, see [llms.txt](https://docs.flora.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flora.ai/mcp/changelog.md).

# FLORA MCP changelog

See what changed in FLORA MCP, newest first: the endpoint move to agents.flora.ai, retired and renamed tools, the execute retirement, and new tools, with what to do if you're affected.

User-facing changes to [FLORA MCP](https://flora.ai/mcp), newest first. Each entry says what changed and what to do if it affects you. Internal fixes and telemetry changes aren't listed.

Dates are when a change shipped on the MCP server. A few tools appear only once the matching FLORA API release is live, so they can show up a little later. If your client still shows old tools after a change, [refresh its tool list](/mcp/retired-tools.md#refresh-the-tool-list-in-your-client).

## 2026-10-18

* **`flora_comments` is split into one tool per operation.** Use `flora_list_comment_threads`, `flora_get_comment_thread`, `flora_create_comment_thread`, `flora_reply_to_comment_thread`, `flora_resolve_comment_thread`, `flora_reopen_comment_thread` and `flora_delete_comment` instead of passing `action`. The server no longer lists `flora_comments`, but still forwards calls to it for now. *If you're affected:* [refresh your client's tool list](/mcp/retired-tools.md#refresh-the-tool-list-in-your-client) and call the new names.
* **New action tools.** `flora_get_action` reads one prebuilt action's inputs and params. `flora_open_action_studio` and `flora_open_canvas_action_studio` open FLORA's action studio so the user can tune an action before it runs. `flora_create_custom_action` adds a custom action from code, and `flora_update_canvas_action` changes an action node in place, so `flora_add_action` now places prebuilt actions only. *If you're affected:* refresh your client's tool list, and write custom actions with `flora_create_custom_action` instead of `flora_add_action`.

## 2026-10-11

* **Batch uploads in one request.** A `flora_create_asset` call with `sources` now reserves all its `signed-url` uploads in one API request, and `flora_complete_asset` finishes up to 25 uploads at once with `asset_ids`. *If you're affected:* upload many files with one `sources` call and finish them with one `asset_ids` call, instead of one call per file.

## 2026-10-10

* **Spending tools ask first.** Every tool now has a display title, and the tools that spend money (`flora_create_generations`, `flora_run_technique`, `flora_train_lora`) are marked destructive, so clients ask before running them. *If you're affected:* expect an approval prompt for these. You can allow a tool permanently in your client's settings.
* **Fewer argument errors.** `flora_list_projects` and `flora_create_generations` fill in `workspace_id` when it's safe to, `flora_list_generations` also accepts `run_id` and `runIds`, and an unknown argument returns "Unrecognized argument(s)" with the names the tool accepts. *If you're affected:* nothing to do; read the error text when a call is rejected.

## 2026-10-09

* **Mistyped server URLs fail fast.** A URL with anything after `/mcp`, such as `/mcp/` or `/mcp.`, now returns `404` right away instead of sending you through sign-in first. *If you're affected:* use exactly `https://agents.flora.ai/mcp`.

## 2026-10-08

* **`execute` is retired.** The server no longer runs SDK code. A call to `execute` returns an error that points to `flora_list_tools`. *If you're affected:* call the named `flora_*` tools, or move scripts to the [FLORA API](/api.md). See [Retired tools](/mcp/retired-tools.md#execute-to-the-named-tools).
* **New: `flora_comments`.** List, read, create, reply to, resolve and reopen comment threads on a project, and delete a comment. *If you're affected:* nothing to do.

## 2026-10-06

* **New: `flora_organize_canvas_fields`.** Groups existing canvas nodes into named fields without recreating them. *If you're affected:* use it instead of rebuilding nodes inside a group.

## 2026-10-04

* **New: `flora_get_usage`.** Reads balance and spend in US dollars for a workspace, or spend for an organization. *If you're affected:* use it to answer "how much do I have left?" See [Cost, balance and limits](/mcp/cost-and-limits.md#check-balance-and-spend-with-flora_get_usage).
* **New: `flora_rename_project`.** Renames a project, up to 120 characters.
* **New: `flora_list_folders`.** Lists a workspace's shared project folders, and `flora_create_project` takes a `folder` to file the new project.
* **Several files per upload call.** `flora_create_asset` accepts `sources`, up to 25 files per call. *If you're affected:* batch uploads instead of calling once per file.
* **Submitted prompts in history.** `flora_list_generations` without `run_ids` accepts `include_inputs: true` to return each run's prompt and references. *If you're affected:* use it to check what already ran before you retry after a timeout.
* **Featured models first.** `flora_list_models` lists FLORA's featured models first, under `featured`, grouped by type.
* **Deck documents by slide.** `flora_get_canvas_node_document` can read one slide or one layer of a deck instead of the whole document.

## 2026-10-03

* **`get_more_tools` is replaced by `flora_list_tools`.** `flora_list_tools` lists the tools on your connection. FLORA no longer collects feedback through `get_more_tools`, and a call to it returns an error naming the replacement. Tools also stop asking for the `context` and `llm_model` arguments added on 2026-09-08; they're ignored if sent. *If you're affected:* call `flora_list_tools` and refresh your tool list.

## 2026-10-02

* **Action studio.** In clients that support MCP Apps, `flora_run_action`, `flora_run_canvas_action` and `flora_run_technique` open an interactive studio where you adjust settings and click Apply to run. Pass `open_only: true` to open it without running anything. *If you're affected:* don't poll a studio run yourself; the studio reports the result.

## 2026-10-01

* **Retired names explain themselves.** Calls to `flora_generate`, `flora_get_run` and `search_docs` return an error naming the replacement tool instead of an unknown-tool failure. *If you're affected:* switch to the replacement. See [Retired tools](/mcp/retired-tools.md).
* **Polling cooldown.** Reading the same runs again within the poll interval, `max(15 s, 2 s × run_ids)`, returns a cooldown entry with `retry_after_seconds` instead of data. *If you're affected:* wait the interval between polls. See [Runs](/mcp/runs.md#poll-a-batch).
* **New in ChatGPT: the project tray.** `flora_project_tray` opens a project tray beside a ChatGPT conversation, and `flora_mention_projects` lets you @-mention projects as you type. ChatGPT's interface uses both; the model never calls them.
* **Run notifications in ChatGPT.** ChatGPT can subscribe to a project and hear when a run finishes, instead of polling.
* **M4A audio uploads.** `flora_create_asset` accepts `audio/mp4` (M4A) files.

## 2026-09-30

* **Short IDs as references.** `reference_node_ids` on `flora_create_generations` accepts canvas short IDs such as `n7`. A text-to-image model given references switches to the same model's image-to-image version when one exists, and the response names the model actually used.

## 2026-09-29

* **New: price before you run.** `flora_create_generations` accepts `quote: true` and returns US dollar estimates without starting anything. *If you're affected:* quote, get approval, then run. See [Cost, balance and limits](/mcp/cost-and-limits.md#price-a-request-with-quote-true).
* **New in ChatGPT: the FLORA project browser.** `flora_projects` opens your projects in the ChatGPT sidebar.
* **Your own skills.** `flora_discover_skills` also lists your personal and workspace skills, and `flora_create_skill` saves a shared workspace skill.

## 2026-09-23

* **Tool lists match your access.** The tool list now shows only the tools your account can use.
* **Notes sizing.** Notes nodes take `size` and `fit_text` in `flora_add_to_canvas`.

## 2026-09-22

* **`workspace_id` is optional on canvas tools.** It's resolved from `project_id` when you leave it out.
* **Clearer rate-limit errors when polling.** A rate-limited run read returns its own entry with `status: 429` and `retry_after_seconds`, and the rest of the batch still reads.

## 2026-09-21

* **New: `flora_update_canvas_nodes` and `flora_remove_from_canvas`.** Edit and delete existing nodes and edges. `flora_add_to_canvas` stays add-only.
* **Row, column and grid layouts.** `flora_arrange_canvas` takes a `layout` to place nodes in a row, a column or a grid.

## 2026-09-18

* **Notes nodes.** `flora_add_to_canvas` can add a notes node, a long-form text block for documenting a canvas.

## 2026-09-17

* **Mermaid canvas format removed.** `flora_get_canvas` returns nodes and edges as JSON, and `flora_add_to_canvas` takes `add` and `connect` lists. *If you're affected:* stop sending Mermaid diagrams; send JSON lists. See [Troubleshooting](/mcp/troubleshooting.md#canvas).
* **New: `flora_update_canvas_node_document`.** Replaces a timeline or deck document, guarded by `base_revision`.
* **API keys.** The server accepts a FLORA API key as `Authorization: Bearer <key>`, for headless clients. See [Authentication](/mcp/authentication.md).

## 2026-09-16

* **No upgrade prompts in balance errors.** Balance errors explain the shortfall and link "About FLORA credits" (<https://app.flora.ai/home>) instead of a plan page. *If you're affected:* relay the message and link to the user; don't push an upgrade.

## 2026-09-15

* **New: LoRA training.** `flora_list_lora_trainers`, `flora_train_lora` and `flora_get_lora` train a LoRA and check that it's ready, then you generate with it through `params.lora_id`.
* **Decks.** Agents can create and edit Deck nodes with the canvas tools.

## 2026-09-14

* **Timeline nodes.** Agents can build video editor timelines with the canvas tools. `flora_get_canvas_node_document` reads a timeline's document.

## 2026-09-11

* **`flora_generate` is now `flora_create_generations`.** It starts 1 to 20 generations in one call, with `generations: [...]` even for one. *If you're affected:* wrap your arguments as one item. See [Retired tools](/mcp/retired-tools.md#flora_generate-to-flora_create_generations).
* **`flora_get_run` is replaced by `flora_list_generations`.** Read runs with `run_ids`. *If you're affected:* pass `run_ids: [run_id]`. See [Retired tools](/mcp/retired-tools.md#flora_get_run-to-flora_list_generations).
* **New: project sharing.** `flora_share_project`, `flora_get_project_sharing` and `flora_update_project_sharing`.
* **`execute` deprecated.** Its description now tells agents to use the named `flora_*` tools instead. *If you're affected:* move to the named tools; `execute` was retired on 2026-10-08.

## 2026-09-08

* **Batch run reads.** `flora_list_generations` reads up to 20 runs in one call with `run_ids`. *If you're affected:* poll a batch in one call, not one call per run.
* **Extra arguments on every tool.** Tools began asking for `context` and `llm_model` (and an optional `conversation_id`), and the list gained a `get_more_tools` feedback tool. All of these were removed on 2026-10-03.

## 2026-09-05

* **3D generation.** Generation accepts `type: "model3d"`, and the new `flora_view_model3d` opens a viewer for a finished 3D run.

## 2026-09-03

* **New: `flora_run_canvas_nodes`.** Runs generation nodes that are already on a canvas. This is how you animate a canvas image: add a video node wired to it, then run it.
* **New: `flora_open_project`.** Opens a project canvas in a browser tab for clients that can drive a browser.

## 2026-09-02

* **Upload page for local files.** `flora_create_asset` with `source: "signed-url"` returns an `upload_page` link, valid for 15 minutes, so people in chat clients can upload a file from their computer.
* **Skills over MCP.** `flora_discover_skills` lists FLORA's skills and fetches one by name.

## 2026-09-01

* **Free accounts can try MCP.** Free users used to be refused with "API access requires a paid FLORA account". Now a Free workspace can connect and generate on the $2.50 of usage every new workspace gets, and generation stops with a billing error once it's spent. See [Which plans include MCP](/mcp/cost-and-limits.md#which-plans-include-mcp).

## 2026-08-31

* **New: `flora_arrange_canvas`.** Lays out nodes with FLORA's own layout engine.

## 2026-08-27

* **`search_docs` removed.** Use `flora_discover_skills` for workflow guidance.

## 2026-08-24

* **Named tools.** The server adds named `flora_*` tools for workspaces, projects, the canvas, generations, Techniques, actions, assets and models, so agents call one tool per operation instead of writing SDK code for `execute`. Every tool declares MCP annotations (read-only, destructive, open-world) for client approvals.

## 2026-08-04

* **Sign-in discovery.** The server publishes OAuth protected resource metadata at `https://agents.flora.ai/.well-known/oauth-protected-resource/mcp`, so compliant clients find sign-in on their own.

## 2026-06-30

* **The beta endpoint is gone.** The old beta MCP server that ran inside the FLORA web app (installed as `https://mcp.florafauna.ai/mcp`, and earlier `/api/mcp`) was removed. *If you're affected:* connect to `https://agents.flora.ai/mcp`. See [Install FLORA MCP](/mcp/install.md).

## 2026-05-28

* **Beta endpoint deprecated.** The beta endpoint started telling agents and HTTP tools to migrate, with a `Deprecation` header and a notice in its server instructions, pointing to the new install: the server now at `https://agents.flora.ai/mcp`.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.flora.ai/mcp/changelog.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
