From dd0196536553eb4bcfd7463b44c2e3bb25362a6a Mon Sep 17 00:00:00 2001 From: andypalmi Date: Tue, 15 Sep 2026 00:41:46 +0200 Subject: [PATCH 1/5] docs: add FlowFuse MCP server capabilities page New page docs/user/mcp.md covering the platform automation actions available over MCP by resource and access level, flow building in the Node-RED editor, and the read-only and full-access permission levels. The Expert overview and connect-your-own-agent pages link to it. --- docs/user/expert/index.md | 2 +- docs/user/expert/third-party-agents.md | 2 +- docs/user/mcp.md | 64 ++++++++++++++++++++++++++ 3 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 docs/user/mcp.md diff --git a/docs/user/expert/index.md b/docs/user/expert/index.md index 57261faa31..29cb0b2dbe 100644 --- a/docs/user/expert/index.md +++ b/docs/user/expert/index.md @@ -44,7 +44,7 @@ AI features within the Node-RED editor include inline code completions, flow aut ## Using Your Own AI Agent -Connect your own AI agent, such as Microsoft Copilot, ChatGPT or Claude, to manage your platform and build and edit flows in your Node-RED instances. +Connect your own AI agent, such as Microsoft Copilot, ChatGPT or Claude, to manage your platform and build and edit flows in your Node-RED instances. It acts on the same capabilities as FlowFuse Expert, through the [FlowFuse MCP server](/docs/user/mcp/). [Learn more about connecting your own agent](/docs/user/expert/third-party-agents/) diff --git a/docs/user/expert/third-party-agents.md b/docs/user/expert/third-party-agents.md index c214ac141a..b4b9c53281 100644 --- a/docs/user/expert/third-party-agents.md +++ b/docs/user/expert/third-party-agents.md @@ -45,7 +45,7 @@ Your agent is now connected. OAuth lets you connect by signing in. If your MCP c ## What your agent can do, and what you grant -Ask your agent what it can do in a given team or instance if you want the current picture, since its tools reflect the instance it is connected to. +Ask your agent what it can do in a given team or instance if you want the current picture, since its tools reflect the instance it is connected to. For the full surface, see [what agents can do on FlowFuse](/docs/user/mcp/), which covers both platform automation and flow building for any connected agent. **With read access**, an agent can see your teams and applications with their activity history, your hosted and remote instances with their live status and runtime logs, your snapshots, and your FlowFuse Tables databases including table schemas and row data. It can also see which instance types, templates and blueprints your team has available. diff --git a/docs/user/mcp.md b/docs/user/mcp.md new file mode 100644 index 0000000000..43c7314882 --- /dev/null +++ b/docs/user/mcp.md @@ -0,0 +1,64 @@ +--- +navTitle: FlowFuse MCP +--- + +# FlowFuse MCP Server + +FlowFuse is an MCP server. An AI agent connects as a client to operate the platform and build flows. + +Two clients use it: + +- **FlowFuse Expert**, the AI built into the platform and the Node-RED editor. +- **Your own agent**, such as Microsoft Copilot, ChatGPT or Claude, connected over the [MCP endpoint](/docs/user/expert/third-party-agents/). + +Both use the same capabilities. What an agent can do depends only on the access you grant. + +> **Note:** This is not the same as [MCP server nodes](https://flowfuse.com/node-red/flowfuse/mcp/), which build MCP servers inside your flows. This page is about operating FlowFuse itself, where FlowFuse is the server and your agent is the client. + +## Platform Automations + +Actions an agent can take on the platform, by resource and access level. + +| Resource | Read-only | Full access | +|---|---|---| +| Teams | Members and roles, invitations, audit log, resource counts, bill of materials | Create a team, update settings, change member roles, invite and re-invite members | +| Applications | Applications, audit log, device groups, bill of materials | Create and update applications | +| Hosted instances | Live status, resources, configuration, logs, files, history, HTTP tokens | Create, start, stop, restart, suspend; update settings, environment and config surfaces; import flows; edit files; manage HTTP tokens | +| Remote instances | Remote instances and live status | Register and assign to an application, restart, update settings and operating mode | +| Snapshots | Snapshots, including full flows | Create, export, import, update; set an instance's device target | +| Pipelines | Pipelines and stages | Create and update pipelines; add, update and deploy stages | +| Device groups | Team and application device groups | Create and update groups, change membership and settings | +| FlowFuse Tables | Databases, tables, schemas, row data | Table data is changed through flows, see [Flow Building](#flow-building) | +| Team broker | Brokers, clients, topics, schema | Start, stop, suspend the broker agent; create and update topics | +| Your account | Profile, notifications, invitations | Update profile, mark notifications read, respond to invitations | +| Blueprints and templates | Blueprints, templates, instance and team types | Starting points for creating instances and teams | + +Ask the agent what it can do in a given team or instance. Its tools reflect the access granted and the instance it is connected to. + +## Flow Building + +An agent builds and edits flows inside a running Node-RED instance. + +Flow work runs in a live editor session, not as a file to import. Point the agent at an open editor session and it builds on the canvas. Node-RED validates as it goes, so the agent catches its own mistakes. Ending the session, closing the tab or switching team ends its access. + +| Area | Read-only | Full access | +|---|---|---| +| Nodes | Read nodes with validation state | Add, update and remove nodes | +| Wiring | — | Wire nodes on a tab, link nodes across tabs | +| Tabs | List tabs | Add, rename, enable, disable and remove tabs | +| Subflows and subroutines | List subflows | Create and remove subflows, create subroutines | +| Groups | — | Create, update, move and delete groups, change their members | +| Palette | Read the installed palette, describe node type properties | Open the palette manager to install packages | +| Canvas | Read the full flow, list config nodes, read debug output, search and select nodes | Navigate to a tab or subflow, align and distribute nodes | +| FlowFuse Tables | Query table data | Build a [Query Node](/docs/user/ff-tables/#query-nodes) flow that reads and writes tables | + +Nothing goes live until you deploy from Node-RED. + +## Access and permissions + +Access is granted per team, by token or OAuth sign-in, at one of two levels: + +- **Read-only** sees everything and changes nothing. +- **Full access** adds every action in the full-access columns above. + +An MCP personal access token is read-only or full-access. OAuth offers the same choice at sign-in. From 33efb14dd941c4495e6400b3ecdad70957a818b9 Mon Sep 17 00:00:00 2001 From: andypalmi Date: Tue, 15 Sep 2026 11:12:43 +0200 Subject: [PATCH 2/5] docs: refine MCP access model and terminology Describe the two access levels per client: FlowFuse Expert acts with the user's own team access, while a connected agent chooses read-only or full access, team scope and an expiration at OAuth sign-in. Use read-only and full access consistently, and drop the deletion note. --- docs/user/expert/third-party-agents.md | 20 +++++++------------- docs/user/mcp.md | 8 +++++--- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/docs/user/expert/third-party-agents.md b/docs/user/expert/third-party-agents.md index b4b9c53281..b34708b308 100644 --- a/docs/user/expert/third-party-agents.md +++ b/docs/user/expert/third-party-agents.md @@ -37,7 +37,7 @@ The same three steps, written out: 2. **Sign in.** FlowFuse uses OAuth, so your agent sends you to a FlowFuse login page to authenticate, in the same way as any other application you sign in to. If your client asks for an OAuth client ID or secret, leave them blank. FlowFuse registers your client for you. -3. **Choose what the agent may do.** As part of signing in you decide which teams the agent may act on, and whether it has editing rights or read access only. +3. **Choose what the agent may do.** Signing in takes you to a FlowFuse authorization page. There you pick read-only or full access, scope it to all your teams or specific teams, and set an expiration date for the grant. Your agent is now connected. OAuth lets you connect by signing in. If your MCP client does not support OAuth, use a token instead, covered in [clients without a sign-in flow](#clients-without-a-sign-in-flow). @@ -47,19 +47,13 @@ Your agent is now connected. OAuth lets you connect by signing in. If your MCP c Ask your agent what it can do in a given team or instance if you want the current picture, since its tools reflect the instance it is connected to. For the full surface, see [what agents can do on FlowFuse](/docs/user/mcp/), which covers both platform automation and flow building for any connected agent. -**With read access**, an agent can see your teams and applications with their activity history, your hosted and remote instances with their live status and runtime logs, your snapshots, and your FlowFuse Tables databases including table schemas and row data. It can also see which instance types, templates and blueprints your team has available. +**With read-only access**, an agent can see your teams and applications with their activity history, your hosted and remote instances with their live status and runtime logs, your snapshots, and your FlowFuse Tables databases including table schemas and row data. It can also see which instance types, templates and blueprints your team has available. -**With editing rights**, it can additionally create applications and hosted instances, register remote instances and assign them to applications, take snapshots, and build and edit flows. +**With full access**, it can additionally create applications and hosted instances, register remote instances and assign them to applications, take snapshots, and build and edit flows. -An agent with read access has no ability to change anything. +An agent with read-only access has no ability to change anything. -An agent can query your FlowFuse Tables data to answer questions. With editing rights it can go further and build a flow with a [Query Node](/docs/user/ff-tables/#query-nodes) that reads and writes your tables, exactly like a flow you would build yourself. - -### Deleting, and deploying - -Nothing an agent can do through FlowFuse deletes anything, for now. There is no tool for deleting an instance, an application, a snapshot or a team. Deploying is also done by you, for the same reason. - -We are focused on delivering AI in a meaningful way that can act as required both in production setups and in setups where experimentation is permitted, so expect this to develop. +An agent can query your FlowFuse Tables data to answer questions. With full access it can go further and build a flow with a [Query Node](/docs/user/ff-tables/#query-nodes) that reads and writes your tables, exactly like a flow you would build yourself. ## Editing flows @@ -115,13 +109,13 @@ How that is written down belongs to the client rather than to FlowFuse. Two JSON FlowFuse tools carry their recommended usage and permissions, so a connected agent knows what each one is for before it calls it. Most MCP clients then ask you to confirm before they run a tool. That prompt belongs to the client rather than to FlowFuse, so how it looks, and whether you can turn it off, differs between them. FlowFuse Expert's own approval cards are a first-party feature and do not apply here. -What FlowFuse enforces on every call is what you granted: the teams, and read access or editing rights. That is the granularity. It is a boundary around what an agent can reach rather than a per-tool allow list, and it applies the same way whether the grant came from signing in or from the scope on an access token. +What FlowFuse enforces on every call is what you granted: the teams, and read-only or full access. That is the granularity. It is a boundary around what an agent can reach rather than a per-tool allow list, and it applies the same way whether the grant came from signing in or from the scope on an access token. Actions an agent takes appear in the [audit log](/docs/user/logs/#ai-agents-and-api-activity), attributed to your account and marked as having come from a connected agent. ## If something is not working -**A change was refused.** The agent has read access only. Re-connect it and grant editing rights. +**A change was refused.** The agent has read-only access. Re-connect it and grant full access. **The agent cannot reach a team.** That team was not included when you signed in. Re-connect and include it. diff --git a/docs/user/mcp.md b/docs/user/mcp.md index 43c7314882..560dee2a18 100644 --- a/docs/user/mcp.md +++ b/docs/user/mcp.md @@ -39,7 +39,7 @@ Ask the agent what it can do in a given team or instance. Its tools reflect the An agent builds and edits flows inside a running Node-RED instance. -Flow work runs in a live editor session, not as a file to import. Point the agent at an open editor session and it builds on the canvas. Node-RED validates as it goes, so the agent catches its own mistakes. Ending the session, closing the tab or switching team ends its access. +Flow work runs in a live editor session, not as a file to import. Point the agent at an open editor session and it builds on the canvas. Node-RED validates as it goes, so the agent catches its own mistakes. | Area | Read-only | Full access | |---|---|---| @@ -56,9 +56,11 @@ Nothing goes live until you deploy from Node-RED. ## Access and permissions -Access is granted per team, by token or OAuth sign-in, at one of two levels: +Access comes at one of two levels: - **Read-only** sees everything and changes nothing. - **Full access** adds every action in the full-access columns above. -An MCP personal access token is read-only or full-access. OAuth offers the same choice at sign-in. +With **FlowFuse Expert**, an agent acts with the same access you have on the team you are working in. + +With **your own agent**, you choose the access when you connect. Signing in over OAuth takes you to a FlowFuse page where you pick read-only or full access, scope it to all your teams or specific teams, and set an expiration date. A personal access token, for clients without a sign-in flow, carries the same read-only or full-access choice. From 0303417ca4dfc8766e0fe3ae764e7aa6c432675c Mon Sep 17 00:00:00 2001 From: andypalmi Date: Tue, 15 Sep 2026 11:23:34 +0200 Subject: [PATCH 3/5] docs: tighten Expert and connect-your-agent pages Rewrite the Expert overview and the connect-your-own-agent pages in the terser reference style, cutting narration and salesy framing. Point the capability and flow building descriptions at the MCP server page instead of repeating them, so the surface has a single source. --- docs/user/expert/index.md | 28 ++++++------ docs/user/expert/third-party-agents.md | 63 +++++++++++--------------- 2 files changed, 40 insertions(+), 51 deletions(-) diff --git a/docs/user/expert/index.md b/docs/user/expert/index.md index 29cb0b2dbe..e74671ef8b 100644 --- a/docs/user/expert/index.md +++ b/docs/user/expert/index.md @@ -4,41 +4,41 @@ navTitle: FlowFuse Expert # FlowFuse Expert -FlowFuse Expert is the AI built into FlowFuse and the Node-RED editor. It is not a generic AI assistant bolted onto the side of your workflow, it understands your flows, your installed nodes, your live data, and your environment in real time. +FlowFuse Expert is the AI built into FlowFuse and the Node-RED editor. It understands your flows, installed nodes, live data, and environment in real time. -**FlowFuse Expert is automatically installed and available in all hosted and remote instances running within or connected to FlowFuse**, no manual installation or configuration required. For self-hosted Enterprise customers, FlowFuse Expert can be enabled on request. [Contact us](https://flowfuse.com/contact-us/) to get it set up on your infrastructure. +**FlowFuse Expert is installed automatically in all hosted and remote instances running within or connected to FlowFuse**, with no setup required. Self-hosted Enterprise customers can enable it on request, [contact us](https://flowfuse.com/contact-us/) to set it up on your infrastructure. -> **Note:** On self-hosted installations, FlowFuse Expert requires an Enterprise license and the platform's EMQX-based MQTT broker with the Team Broker capability enabled in the platform configuration (see [MQTT Broker configuration](/docs/install/configuration/#mqtt-broker-configuration)); installations running without EMQX cannot enable Expert. +> **Note:** On self-hosted installations, FlowFuse Expert requires an Enterprise license and the platform's EMQX-based MQTT broker with the Team Broker capability enabled (see [MQTT Broker configuration](/docs/install/configuration/#mqtt-broker-configuration)). Installations running without EMQX cannot enable Expert. ## Managing AI Features -**Team owners** can enable or disable all AI features for their team from the team settings page. When disabled, the Expert chat panel with all AI feature will get removed for that team. Running instances need to be restarted for the change to take full effect. +**Team owners** enable or disable all AI features for their team from the team settings page. Disabling removes the Expert chat panel and all AI features for that team. Running instances need a restart for the change to take full effect. **Self-Hosted Enterprise admins** have two additional controls: - Disable AI across the entire platform via the `ai.enabled` [configuration option](/docs/install/configuration/#ai-configuration). This overrides all team-level settings. -- Configure which AI features are available on a per-team-type basis from the Admin Panel. See [Managing Team Types](/docs/admin/introduction/#managing-team-types) for details. +- Configure which AI features are available per team type from the Admin Panel. See [Managing Team Types](/docs/admin/introduction/#managing-team-types) for details. ## What FlowFuse Expert Can Do -FlowFuse Expert works in two distinct ways inside your environment. +FlowFuse Expert works in two ways. ### Chat Interface -The Chat Interface is a conversational AI panel built into the FlowFuse Platform and accessible directly within the Node-RED editor. With agentic flow building enabled, you can describe what you want to build and Expert will build it on your canvas for you. It can also answer questions, debug flows, and query live operational data via MCP. +The Chat Interface is a conversational AI panel in the FlowFuse platform, also available inside the Node-RED editor. Describe what you want to build and Expert builds it on your canvas. It also answers questions, debugs flows, and queries live operational data. -The Chat Interface supports two modes: -- **Support**: flow-building assistance, including asking questions, debugging, and building flows on the canvas. Expert can ask clarifying questions, propose a plan before it acts, and ask for your approval before running actions, and it can also take actions across the FlowFuse platform such as looking up your instances and creating new ones -- **Insights**: query live operational data via MCP tools and resources exposed by your own MCP servers, on both hosted and remote instances +The Chat Interface has two modes: +- **Support**: flow-building help, including asking questions, debugging, and building flows on the canvas. Expert can ask clarifying questions, propose a plan before acting, and ask for approval before running actions. It can also act across the platform, such as looking up your instances and creating new ones. +- **Insights**: query live operational data through MCP tools and resources exposed by your own MCP servers, on both hosted and remote instances. [Learn more about the Chat Interface](/docs/user/expert/chat/) ### AI in Node-RED -FlowFuse Expert brings AI assistance directly into the Node-RED editor itself. It works where you already are - inside node editors, on the canvas, without requiring you to open a separate panel. +FlowFuse Expert also brings AI assistance into the Node-RED editor itself, inside node editors and on the canvas, without a separate panel. -AI features within the Node-RED editor include inline code completions, flow autocomplete, function builder, flow explainer, JSON generation, and CSS and HTML generation for FlowFuse Dashboard. +In-editor AI features include inline code completion, flow autocomplete, function builder, flow explainer, JSON generation, and CSS and HTML generation for FlowFuse Dashboard. -> **Note:** FlowFuse Expert's in-editor AI features can also be installed as a plugin into Node-RED instances running outside of FlowFuse, using the `@flowfuse/nr-assistant` package from the Node-RED Palette Manager. This requires a FlowFuse Cloud account but does not require a paid subscription for the current release. The Chat Interface is exclusive to FlowFuse and cannot be installed externally. +> **Note:** FlowFuse Expert's in-editor AI features can also be installed as a plugin in Node-RED instances running outside of FlowFuse, using the `@flowfuse/nr-assistant` package from the Node-RED Palette Manager. This requires a FlowFuse Cloud account but no paid subscription for the current release. The Chat Interface is exclusive to FlowFuse and cannot be installed externally. [Learn more about AI in Node-RED](/docs/user/expert/node-red-embedded-ai/) @@ -52,4 +52,4 @@ Connect your own AI agent, such as Microsoft Copilot, ChatGPT or Claude, to mana No data from FlowFuse is used by third-party AI service providers for training models. -Some features utilize the OpenAI API, and as such some data is sent to OpenAI to process requests. In accordance with the [OpenAI Terms of Service](https://help.openai.com/en/articles/5722486-how-your-data-is-used-to-improve-model-performance) no data is used for training of future models. OpenAI will retain data sent via its APIs for 30 days for abuse monitoring, after which it is permanently deleted. +Some features use the OpenAI API, so some data is sent to OpenAI to process requests. In accordance with the [OpenAI Terms of Service](https://help.openai.com/en/articles/5722486-how-your-data-is-used-to-improve-model-performance), no data is used to train future models. OpenAI retains data sent via its APIs for 30 days for abuse monitoring, after which it is permanently deleted. diff --git a/docs/user/expert/third-party-agents.md b/docs/user/expert/third-party-agents.md index b34708b308..3e01e71651 100644 --- a/docs/user/expert/third-party-agents.md +++ b/docs/user/expert/third-party-agents.md @@ -6,22 +6,20 @@ navTitle: Connect Your Own Agent **Introduced in FlowFuse 3.0** -You can connect your own AI agent to FlowFuse. The agent your team already uses can manage your platform and build and edit the flows inside your Node-RED instances. - -Because the agent is yours, so is the model it runs on. +Connect your own AI agent to FlowFuse to manage your platform and build and edit flows in your Node-RED instances. You bring the agent and the model it runs on. ## Connect your agent -Any MCP client that supports the HTTP transport can connect. That is the only requirement. +Any MCP client with HTTP transport support can connect. That is the only requirement. -Pick your agent for the address to copy and the steps that apply to it: +Pick your agent for the address and the steps that apply to it: ::agent-setup-tabs{:exclude-expert="true" :signup="false" surface="docs"} :: The same three steps, written out: -1. **Add the FlowFuse MCP address in your agent's connector settings.** See [where to add it, per agent](#where-to-add-it-per-agent) if you are not sure where yours lives. +1. **Add the FlowFuse MCP address in your agent's connector settings.** See [where to add it, per agent](#where-to-add-it-per-agent) for yours. On FlowFuse Cloud: @@ -35,39 +33,32 @@ The same three steps, written out: https://flowfuse.example.com/mcp ``` -2. **Sign in.** FlowFuse uses OAuth, so your agent sends you to a FlowFuse login page to authenticate, in the same way as any other application you sign in to. If your client asks for an OAuth client ID or secret, leave them blank. FlowFuse registers your client for you. +2. **Sign in.** FlowFuse uses OAuth, so your agent sends you to a FlowFuse login page. If your client asks for an OAuth client ID or secret, leave them blank; FlowFuse registers your client for you. 3. **Choose what the agent may do.** Signing in takes you to a FlowFuse authorization page. There you pick read-only or full access, scope it to all your teams or specific teams, and set an expiration date for the grant. -Your agent is now connected. OAuth lets you connect by signing in. If your MCP client does not support OAuth, use a token instead, covered in [clients without a sign-in flow](#clients-without-a-sign-in-flow). - -> **Note:** This is separate from [MCP server nodes](https://flowfuse.com/node-red/flowfuse/mcp/). Those let you build MCP servers inside your flows, connected to anything you like, to give any AI a set of tools of your own design. This page is about operating FlowFuse itself through MCP, where FlowFuse is the server and your agent is the client. - -## What your agent can do, and what you grant +Your agent is now connected. If your client does not support OAuth, use a token instead, see [clients without a sign-in flow](#clients-without-a-sign-in-flow). -Ask your agent what it can do in a given team or instance if you want the current picture, since its tools reflect the instance it is connected to. For the full surface, see [what agents can do on FlowFuse](/docs/user/mcp/), which covers both platform automation and flow building for any connected agent. +> **Note:** This is separate from [MCP server nodes](https://flowfuse.com/node-red/flowfuse/mcp/), which build MCP servers inside your flows. This page is about operating FlowFuse itself, where FlowFuse is the server and your agent is the client. -**With read-only access**, an agent can see your teams and applications with their activity history, your hosted and remote instances with their live status and runtime logs, your snapshots, and your FlowFuse Tables databases including table schemas and row data. It can also see which instance types, templates and blueprints your team has available. +## What your agent can do -**With full access**, it can additionally create applications and hosted instances, register remote instances and assign them to applications, take snapshots, and build and edit flows. +A connected agent works in two areas: -An agent with read-only access has no ability to change anything. +- **[Platform automation](/docs/user/mcp/#platform-automations)**: manage your teams, applications, hosted and remote instances, snapshots and more. +- **[Flow building](/docs/user/mcp/#flow-building)**: read, build and edit the flows in your Node-RED instances. -An agent can query your FlowFuse Tables data to answer questions. With full access it can go further and build a flow with a [Query Node](/docs/user/ff-tables/#query-nodes) that reads and writes your tables, exactly like a flow you would build yourself. +What it can do in a given team or instance reflects the access you granted. See the [FlowFuse MCP server](/docs/user/mcp/) page for the full list. -## Editing flows - -Asking about your platform needs nothing open. Editing flows happens in a live Node-RED editor, so that you can see the work as it happens on the canvas rather than receiving a result you have to go and check. Working in the running editor also means the agent gets Node-RED's own validation back as it goes, so it catches and corrects its own mistakes rather than handing you a flow that will not load. - -When you ask for flow work, your agent will guide you to connect an editor session. In the platform header there is a control for indicating which of your current browser sessions the agent should work in, so if you have several open you can point it at the right one. Ending the session, or closing the tab, ends the agent's access to your editor. Switching team also ends it. +Flow work runs in a live Node-RED editor session. When you ask for it, the agent guides you to connect a session; a control in the platform header selects which of your open browser sessions it works in. ## Where to add it, per agent -The agents below are the common ones and where their settings live. Every other AI Agent that supports MCP over HTTP connects the same way. +The common agents and where their settings live. Any other MCP-over-HTTP agent connects the same way. ### Microsoft Copilot -In **Copilot Studio**, open your agent's **Tools** page, select **Add a tool**, then **New tool**, then **Model Context Protocol**. Give the server a name and a description saying what it is for, since the orchestrator uses that description to decide when to call it, and enter the FlowFuse MCP address as the server URL. +In **Copilot Studio**, open your agent's **Tools** page, select **Add a tool**, then **New tool**, then **Model Context Protocol**. Give the server a name and a description (the orchestrator uses the description to decide when to call it), and enter the FlowFuse MCP address as the server URL. To make FlowFuse available across a Microsoft 365 tenant rather than in a single agent, a tenant administrator registers it in the Microsoft 365 admin center. Once approved it appears in Copilot Studio for everyone. @@ -75,13 +66,13 @@ Access through Copilot Studio runs over Power Platform connectors, so any Power ### ChatGPT -Custom connectors live behind developer mode. Turn it on under **Settings**, then **Apps & Connectors**, then **Advanced settings**, then add FlowFuse by URL and sign in. Developer mode needs a paid plan, so it is not available on the free tier. +Custom connectors live behind developer mode. Turn it on under **Settings**, then **Apps & Connectors**, then **Advanced settings**, then add FlowFuse by URL and sign in. Developer mode requires a paid plan. ### Claude Where custom connectors are available on your plan, add one and enter the FlowFuse MCP address. -On Team and Enterprise plans an owner adds the connector for the organisation first, and then each person connects and signs in individually. +On Team and Enterprise plans an owner adds the connector for the organisation first, then each person connects and signs in individually. ### Command-line and editor agents @@ -95,21 +86,21 @@ claude mcp add --transport http flowfuse https://app.flowfuse.com/mcp ### Local and self-hosted models -Use any HTTP-capable MCP client, such as LM Studio, LibreChat or Open WebUI, pointed at your own model, and add the FlowFuse address as a server in that client's configuration. Note that Ollama is a model runtime rather than an agent, so it needs an MCP client in front of it. +Use any HTTP-capable MCP client, such as LM Studio, LibreChat or Open WebUI, pointed at your own model, and add the FlowFuse address as a server. Ollama is a model runtime, not an agent, so it needs an MCP client in front of it. ## Clients without a sign-in flow -Where your client does not support OAuth, give it a token in its configuration file instead. Both routes reach the same FlowFuse with the same enforcement. +If your client does not support OAuth, give it a token in its configuration file instead. Both routes reach the same FlowFuse with the same enforcement. -Create a [Personal Access Token](/docs/user/user-settings/#personal-access-tokens) and [scope it](/docs/user/user-settings/#scoping-a-token) the same way you would when signing in, to the team you want the agent working in rather than to everything you can reach. Then give the client the FlowFuse address together with that token as a bearer token in an `Authorization` header. +Create a [Personal Access Token](/docs/user/user-settings/#personal-access-tokens), [scope it](/docs/user/user-settings/#scoping-a-token) to the team you want the agent working in, and give the client the FlowFuse address with that token as a bearer token in an `Authorization` header. -How that is written down belongs to the client rather than to FlowFuse. Two JSON shapes are in common use, one keyed on `servers` and one keyed on `mcpServers`, and clients also differ on where the file lives and whether they accept headers at all, so follow your own client's configuration reference. For the two shapes, see the [`servers` reference](https://code.visualstudio.com/docs/agents/reference/mcp-configuration) and the [`mcpServers` reference](https://modelcontextprotocol.io/docs/develop/connect-local-servers). +The config format is the client's, not FlowFuse's. Two JSON shapes are common, one keyed on `servers` and one on `mcpServers`; clients also differ on where the file lives and whether they accept headers. Follow your client's reference: the [`servers` shape](https://code.visualstudio.com/docs/agents/reference/mcp-configuration) and the [`mcpServers` shape](https://modelcontextprotocol.io/docs/develop/connect-local-servers). ## Approvals and audit -FlowFuse tools carry their recommended usage and permissions, so a connected agent knows what each one is for before it calls it. Most MCP clients then ask you to confirm before they run a tool. That prompt belongs to the client rather than to FlowFuse, so how it looks, and whether you can turn it off, differs between them. FlowFuse Expert's own approval cards are a first-party feature and do not apply here. +Each FlowFuse tool carries its recommended usage and permissions, so a connected agent knows what it is for before calling it. Most MCP clients then ask you to confirm before running a tool. That prompt is the client's, not FlowFuse's, so its look and whether you can turn it off vary. FlowFuse Expert's own approval cards do not apply here. -What FlowFuse enforces on every call is what you granted: the teams, and read-only or full access. That is the granularity. It is a boundary around what an agent can reach rather than a per-tool allow list, and it applies the same way whether the grant came from signing in or from the scope on an access token. +What FlowFuse enforces on every call is your grant: the teams, and read-only or full access. It is a boundary around what an agent can reach, not a per-tool allow list, and applies the same whether the grant came from signing in or from a token's scope. Actions an agent takes appear in the [audit log](/docs/user/logs/#ai-agents-and-api-activity), attributed to your account and marked as having come from a connected agent. @@ -121,10 +112,8 @@ Actions an agent takes appear in the [audit log](/docs/user/logs/#ai-agents-and- **The agent cannot see the instance you mean.** Flow and editor work runs in a connected editor session. Ask your agent to list your sessions and connect to the right one. -## Getting the best out of it - -None of this is something to set up before you start. Your agent will tell you when something is in the way, and can help resolve it. +## Requirements -For the smoothest experience, an instance the agent works in should be on a current launcher or Device Agent, with a current in-editor assistant. These update when an instance restarts, so a long-running instance may be behind. If an agent cannot do something you expected in a particular instance, this is usually why, and asking the agent about it is the quickest route. +An instance the agent works in should run a current launcher or Device Agent and in-editor assistant. These update when an instance restarts, so a long-running instance may lag. If the agent cannot do something you expected in an instance, this is usually why. -On self-hosted, platform messaging runs over the MQTT broker, so the Team Broker needs to be available. Whether anything is needed from you depends on how your platform was installed; see [MQTT Broker configuration](/docs/install/configuration/#mqtt-broker-configuration). AI features also require an Enterprise licence with AI enabled. +On self-hosted, platform messaging runs over the MQTT broker, so the Team Broker must be available; what that needs from you depends on how your platform was installed, see [MQTT Broker configuration](/docs/install/configuration/#mqtt-broker-configuration). AI features also require an Enterprise licence with AI enabled. From ecaa815c7cf57d7bc2685918cda59d2f258e36bd Mon Sep 17 00:00:00 2001 From: Andrea Palmieri <76187074+andypalmi@users.noreply.github.com> Date: Tue, 15 Sep 2026 12:49:42 +0200 Subject: [PATCH 4/5] Update docs/user/expert/third-party-agents.md --- docs/user/expert/third-party-agents.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/user/expert/third-party-agents.md b/docs/user/expert/third-party-agents.md index 3e01e71651..fbcf0cccd0 100644 --- a/docs/user/expert/third-party-agents.md +++ b/docs/user/expert/third-party-agents.md @@ -30,7 +30,7 @@ The same three steps, written out: Self-hosted, substitute your own platform address: ``` - https://flowfuse.example.com/mcp + https:///mcp ``` 2. **Sign in.** FlowFuse uses OAuth, so your agent sends you to a FlowFuse login page. If your client asks for an OAuth client ID or secret, leave them blank; FlowFuse registers your client for you. From 9b867f08001bcdc33af464056d2a05f9b30cff06 Mon Sep 17 00:00:00 2001 From: andypalmi Date: Tue, 15 Sep 2026 18:51:20 +0200 Subject: [PATCH 5/5] docs: apply MCP docs review feedback Reword the opener to say FlowFuse exposes an MCP server, place the Chat panel in immersive mode which embeds the Node-RED editor, and describe grant enforcement as per-tool rejection rather than a reach boundary. --- docs/user/expert/index.md | 2 +- docs/user/expert/third-party-agents.md | 2 +- docs/user/mcp.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/user/expert/index.md b/docs/user/expert/index.md index e74671ef8b..a85a04d036 100644 --- a/docs/user/expert/index.md +++ b/docs/user/expert/index.md @@ -24,7 +24,7 @@ FlowFuse Expert works in two ways. ### Chat Interface -The Chat Interface is a conversational AI panel in the FlowFuse platform, also available inside the Node-RED editor. Describe what you want to build and Expert builds it on your canvas. It also answers questions, debugs flows, and queries live operational data. +The Chat Interface is a conversational AI panel in the FlowFuse platform, also available in immersive mode, which embeds the Node-RED editor. Describe what you want to build and Expert builds it on your canvas. It also answers questions, debugs flows, and queries live operational data. The Chat Interface has two modes: - **Support**: flow-building help, including asking questions, debugging, and building flows on the canvas. Expert can ask clarifying questions, propose a plan before acting, and ask for approval before running actions. It can also act across the platform, such as looking up your instances and creating new ones. diff --git a/docs/user/expert/third-party-agents.md b/docs/user/expert/third-party-agents.md index fbcf0cccd0..02eb2ef6d5 100644 --- a/docs/user/expert/third-party-agents.md +++ b/docs/user/expert/third-party-agents.md @@ -100,7 +100,7 @@ The config format is the client's, not FlowFuse's. Two JSON shapes are common, o Each FlowFuse tool carries its recommended usage and permissions, so a connected agent knows what it is for before calling it. Most MCP clients then ask you to confirm before running a tool. That prompt is the client's, not FlowFuse's, so its look and whether you can turn it off vary. FlowFuse Expert's own approval cards do not apply here. -What FlowFuse enforces on every call is your grant: the teams, and read-only or full access. It is a boundary around what an agent can reach, not a per-tool allow list, and applies the same whether the grant came from signing in or from a token's scope. +What FlowFuse enforces on every call is your grant: the teams, and read-only or full access. Each tool carries the access it needs, and FlowFuse rejects a call whose tool reaches past your grant, whether the grant came from signing in or from a token's scope. Actions an agent takes appear in the [audit log](/docs/user/logs/#ai-agents-and-api-activity), attributed to your account and marked as having come from a connected agent. diff --git a/docs/user/mcp.md b/docs/user/mcp.md index 560dee2a18..038d708694 100644 --- a/docs/user/mcp.md +++ b/docs/user/mcp.md @@ -4,7 +4,7 @@ navTitle: FlowFuse MCP # FlowFuse MCP Server -FlowFuse is an MCP server. An AI agent connects as a client to operate the platform and build flows. +FlowFuse exposes an MCP server. An AI agent connects as a client to operate the platform and build flows. Two clients use it: