FLORA

official

The FLORA MCP lets users generate, organize, and iterate on visual assets — hero images, moodboards, lifestyle shots, promo graphics — directly from a conversation, and route them into the tools teams already work in (Notion, Google Drive, Slack, calendars)

What can you do with FLORA MCP?

  • Generate media from prompts — Ask your assistant to create images, video, audio, text, or 3D models via flora_create_generations, with results landing on your canvas.
  • Run team Techniques — Have your agent execute saved workflows by calling flora_run_technique after listing available options with flora_list_techniques.
  • Check costs before spending — Request a quote with quote: true on flora_create_generations to see estimated USD costs, then check balance via flora_get_usage.
  • Manage canvas layouts — Instruct your assistant to arrange generation nodes on a project board using flora_arrange_canvas with specific node_ids and layout.
  • Upload and use local files — Ask your agent to bring your own images or videos into FLORA via flora_create_asset, then complete the upload with flora_complete_asset.
  • Discover available skills — Have your assistant list tested workflows and plugins by calling flora_discover_skills to find pre-built automation recipes.

Documentation

For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to page URLs; this page is available as Markdown.

FLORA MCP documentation

Connect FLORA to Claude, Claude Code, ChatGPT, Codex, Cursor or any MCP client so your agent can generate, run Techniques and build on your FLORA canvases.

FLORA MCP is FLORA's hosted MCP server. Connect it once and your AI agent can generate images, video, audio, text and 3D, run your team's Techniques, and put the results on your FLORA canvases. These docs cover installing it, what each tool does, and the rules your agent follows.

SettingValue
Server URLhttps://agents.flora.ai/mcp (no trailing slash)
TransportStreamable HTTP. It's a remote server, so there's nothing to install.
Sign-inOAuth with your FLORA account. Headless clients can send a FLORA API key as Authorization: Bearer <key> instead.
Server nameflora
Check it worksAsk your agent: "List my FLORA workspaces. Don't generate anything."

Install in your client

ClaudeWeb and Desktop. Add a custom connector.Claude
Claude CodeOne command, or the plugin with skills.Claude Code
ChatGPTFLORA is listed in ChatGPT. Click Connect.ChatGPT
CodexOne command or config.toml.Codex
CursorOne-click install or mcp.json.Cursor
VS CodeOne command or .mcp.json.VS Code
Other clientsWindsurf, Gemini CLI, Copilot Studio, Hermes, OpenClaw and any MCP client.Other clients

New to FLORA MCP? The quickstart takes you from connecting to your first image on a canvas.

Start here: eight tools

Your connection has more tools than these (the list depends on your account, plan and client; flora_list_tools returns the ones you have). Most jobs start with these eight.

ToolWhat it does
flora_list_workspacesLists the workspaces you can use, and which one you're in. Read-only.
flora_list_projectsLists projects (canvases) in a workspace. Read-only.
flora_list_modelsLists models with their model_id, estimated cost and parameters. Read-only.
flora_create_generationsStarts 1 to 20 generations on a canvas, or quotes their cost with quote: true. Spends money.
flora_list_generationsReads up to 20 runs by run_id, or lists history. Read-only.
flora_create_assetBrings your own files into FLORA from a URL or an upload link.
flora_run_techniqueRuns one of your team's Techniques. Spends money.
flora_get_usageReads balance and spend in US dollars for a workspace or organization. Read-only.

The full list, with arguments and examples, is in the tools reference.

What your agent can do

JobRecipe
Make an image, video, audio clip or 3D model from a prompt or referencesGenerate an image or video
Animate a product photoTurn a product photo into video
Make 20 to 500 assets from a list or sheetBatch-generate 20 to 500 assets
Run a Technique your team builtRun your team's Technique
Use your own images, video, audio or PDFsUpload your own images, video and files
Lay results out on a canvasPut results on a canvas
Make more like the ones you likedIterate on favorites
Get better results from your promptsBrief your agent for better output

All recipes are indexed in Recipes.

Tool sequences for common jobs

JobCalls, in order
First imageflora_list_workspaces → flora_list_projects (or flora_create_project) → flora_create_generations with quote: true → approval → flora_create_generations → flora_list_generations
Video from a photo URLflora_list_workspaces → flora_list_projects → flora_list_models with the video model_id (to read its image field name) → quote → flora_create_generations with the URL in params → flora_list_generations
Cost and balanceflora_list_models (estimated_cost_usd) or a quote: true call → flora_get_usage
Run a Techniqueflora_list_techniques → flora_get_technique → flora_run_technique → flora_list_generations with run_ids and technique_id
Use a local fileflora_create_asset with source: "signed-url" → upload (shell) or upload_page link (chat) → flora_complete_asset
Grid on a canvasflora_get_canvas → flora_arrange_canvas with node_ids and layout, or all: true alone
Animate a canvas imageflora_add_to_canvas (video node wired to the image) → flora_run_canvas_nodes → flora_list_generations

Rules your agent follows

The server gives agents these rules. They're here so you know what to expect, and so you can hold your agent to them.

  • Ask which workspace to bill. A connection isn't tied to one workspace. If several come back from flora_list_workspaces and none is current, the agent names them and asks you which to bill. Project tools bill the project's own workspace.
  • Quote first, in US dollars. The agent calls flora_create_generations with quote: true, shows you the cost in US dollars (never credits), and runs the same request without quote only after you approve. run_cost and charged_cost are dollars: 0.009 means $0.009. A failed run isn't charged; a retry is a new run and is billed again. Details: Cost, balance and limits.
  • Stop on billing errors. On insufficient_credits or any BILLING_* error, the agent stops and passes the message on. It doesn't retry. paid_plan_required means the workspace's plan doesn't include what was asked. Balance and spend come from flora_get_usage.
  • Poll slowly, in one call. The agent saves every run_id, waits max(15, 2 × number of runs) seconds between polls (15 seconds for up to 7 runs, 40 seconds for 20), and reads all of them in one flora_list_generations call (up to 20 run_ids, plus technique_id for Technique runs). Faster polling returns 429 or cooldown errors with retry_after_seconds. Details: Runs.
  • Never re-fire a partial batch. Items that started already cost money, and a timed-out call may still have started a run. The agent reads history before trying again. See Runs.
  • Link with canvas_url. The agent opens results with the canvas_url each generation returns and never builds project links from IDs.

FLORA MCP, fal, Replicate or a model provider's API?

Model APIs and aggregators like fal and Replicate return a model's raw output to your code. FLORA MCP is built for creative work with an agent:

  • Results land on a canvas. Every generation becomes a node on a FLORA project your team can open, compare, edit and build on, not a file URL in a chat log.
  • Your team's workflows come along. Your agent can run the Techniques your team saved, and use FLORA's skills.
  • Team billing and controls. Workspaces, members, roles, per-workspace spend limits and usage reporting apply to agent runs too. Prices are FLORA's published per-generation rates on Model Pricing, the same as in the app.
  • One connection, many model families. Image, video, audio, text and 3D models from several providers behind one sign-in.

If you only need one model's output inside your own app, with no canvas or team workspace, a provider's API or an aggregator may fit better. To call FLORA from your own code, use the FLORA API.

Terms

TermMeaning
WorkspaceWhere projects live and where usage is billed. You can belong to several. IDs look like ws_123.
ProjectOne FLORA canvas and its contents. IDs look like prj_abc.
CanvasThe board inside a project where nodes sit and connect.
NodeOne block on a canvas: an image, video, text, Technique or other step. Generations land as nodes.
RunOne generation or Technique execution, tracked by its run_id.
TechniqueA saved, reusable workflow your team built in FLORA. See Techniques.
AssetA file in FLORA, uploaded or generated, with an asset_id.
SkillWritten instructions an agent follows for a bigger job, listed by flora_discover_skills.

Everything in these docs

Watch: Everything About FLORA MCP

{% embed url="https://www.youtube.com/watch?v=74R3pWxmiqc" %} An introduction to FLORA MCP from the FLORA team. {% endembed %}

Need help? Email support@florafauna.ai.


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