# BrandBrain Flow Orchestrator (npm · brandbrain-flow-orchestrator-mcp)

Compose BrandBrain asset flows, run mock/live generation, and fetch outputs

- Trust score: 62/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-26

## Components

- npm · `brandbrain-flow-orchestrator-mcp`: 62/100 (this document), [markdown](https://verifymcp.io/servers/dev-brandbrain-flow-orchestrator/brandbrain-flow-orchestrator-mcp.md), [page](https://verifymcp.io/servers/dev-brandbrain-flow-orchestrator/brandbrain-flow-orchestrator-mcp)

## Channel facts

- Registry: `npm`
- Package: `brandbrain-flow-orchestrator-mcp`
- Version: `0.4.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-26.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 35 of 100 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 19/100
  - Repository check failed: the declared repository URL returned HTTP 404.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 0 days ago).
  - Security-disclosure policy not yet verified: we couldn't inspect the source repository.
- **Schema Quality & AI Usability**: 73/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 4410 tokens (~122/item across 36 items; 36 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 3/100
  - Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 88/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 65% of tool parameters carry a description.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "logout_brandbrain" implies "revoke" and declares no destructiveHint at all, which the MCP spec reads as destructive by default.
  - An AI judge read all 36 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the BrandBrain Flow Orchestrator MCP server?

BrandBrain Flow Orchestrator runs locally as an npm package, launched with npx -y brandbrain-flow-orchestrator-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add dev-brandbrain-flow-orchestrator -- npx -y brandbrain-flow-orchestrator-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "dev-brandbrain-flow-orchestrator": {
      "command": "npx",
      "args": [
        "-y",
        "brandbrain-flow-orchestrator-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "dev-brandbrain-flow-orchestrator": {
      "command": "npx",
      "args": [
        "-y",
        "brandbrain-flow-orchestrator-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add dev-brandbrain-flow-orchestrator -- npx -y brandbrain-flow-orchestrator-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "dev-brandbrain-flow-orchestrator": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "brandbrain-flow-orchestrator-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add dev-brandbrain-flow-orchestrator --command npx --arg -y --arg brandbrain-flow-orchestrator-mcp
```

### Hermes

```yaml
mcp_servers:
  dev-brandbrain-flow-orchestrator:
    command: "npx"
    args: ["-y", "brandbrain-flow-orchestrator-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "dev-brandbrain-flow-orchestrator": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "brandbrain-flow-orchestrator-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add dev-brandbrain-flow-orchestrator -t stdio -c npx -a -y brandbrain-flow-orchestrator-mcp
```

### Other

```json
{
  "mcpServers": {
    "dev-brandbrain-flow-orchestrator": {
      "command": "npx",
      "args": [
        "-y",
        "brandbrain-flow-orchestrator-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-26 (score 62, +10)

- [security improvement] Known CVEs: unverified → pass
- [functional regression] Schema quality: 3980 → 4410
- [functional improvement] Stability: unverified → 0.03
- [functional improvement] Dependency health: unverified → 0.82
- [functional] Package version: 0.2.1 → 0.4.0
- [functional] Package version: 0.2.1 → 0.3.0

### 2026-09-25 (score 52)

First indexed and scored.

## MCP tools (36)

### `login_brandbrain` (~47 tokens)

Open BrandBrain sign-in in the user's browser and store a local session shared by MCP clients on this machine. Call when a tool reports not authenticated; verify afterwards with whoami_brandbrain.

### `whoami_brandbrain` (~39 tokens)

Show the stored BrandBrain session (identity and expiry, never tokens). Call first to confirm the signed-in agent identity before editing or running flows.

### `logout_brandbrain` (~34 tokens)

Revoke the stored BrandBrain session and remove local credentials for every client sharing it. Use to switch accounts or end access.

### `list_asset_flow_templates` (~45 tokens)

List canonical starter flow templates (id, title, pattern). First step when the user describes a goal but no existing flow; pass the chosen template id to create_asset_flow.

### `list_asset_flows` (~105 tokens)

List stored flow canvases (id, title, revision, updated_at, node/edge counts, canvas_url). query and limit filter client-side; archived:true lists read-only retained history. Use to find or resume an existing flow.

Input parameters:

- `archived` (boolean): List archived, read-only flows instead of active flows.
- `limit` (integer): Max flows to return (default all).
- `query` (string): Case-insensitive match against title, description and id.

### `create_asset_flow` (~177 tokens)

Create a persisted flow session from a templateId, a free-text goal, or an explicit flowSpec. A goal is patched into the scaffold's brief prompt node — asset-set templates have none, so express intent via update_asset_set_plan instead. Returns the stored session including canvas_url to share with the user.

Input parameters:

- `description` (string): Optional description stored on the session.
- `flowSpec` (object): Complete flow document to persist verbatim, instead of scaffolding from a template/goal.
- `goal` (string): Free-text intent, patched into the scaffold's brief prompt node. Asset-set templates have no prompt node — express intent via update_asset_set_plan for those.
- `templateId` (string): Starter template id from list_asset_flow_templates.
- `title` (string, required): Human-readable flow name shown on the canvas.

### `get_asset_flow` (~64 tokens)

Fetch a stored session with its full flowSpec graph. Inspect before editing; use list_asset_flows when you only need metadata across flows.

Input parameters:

- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.

### `edit_asset_flow` (~127 tokens)

Replace a session's title/description, and optionally REPLACE the entire stored flowSpec (full overwrite — get_asset_flow first). For targeted graph changes prefer add_flow_node, update_flow_node, connect_flow_nodes, or apply_flow_edits.

Input parameters:

- `description` (string)
- `flowSpec` (object): Complete replacement for the stored graph — not a merge. Fetch the current spec with get_asset_flow first.
- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.
- `title` (string)

### `update_asset_set_plan` (~254 tokens)

Atomically update an asset-set plan node's authoring fields and persist a complete draft manifest proposal; requires expected revisions from the current session. Configure before asking the user to approve.

Input parameters:

- `brief` (string, required): Creative brief for the whole set — subject, style, palette.
- `desiredPurpose` (string, required): What the assets are for, e.g. 'iOS tab icons'.
- `expectedFlowRevision` (integer, required): Flow revision from the current session — stale values are rejected to prevent lost updates.
- `expectedManifestRevision` (integer, required): Manifest revision the draft builds on; 0 for the first proposal.
- `label` (string, required): Short asset-set name, e.g. 'app icon set'.
- `manifest` (object, required): Complete draft manifest object the backend will validate and persist.
- `planNodeId` (string, required): The asset_set plan node's id in the graph.
- `requestedCount` (integer, required): How many assets the manifest should propose.
- `requestedFormats` (required): Output formats: ["png"] or ["png","svg"] — svg adds local vectorisation.
- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.

### `approve_asset_set_plan` (~158 tokens)

Record the user's explicit approval of the exact persisted manifest revision and content hash. Never call before the user has seen and approved that manifest; approval alone does not start a run.

Input parameters:

- `expectedFlowRevision` (integer, required): Flow revision from the current session — stale values are rejected.
- `expectedManifestRevision` (integer, required): The exact manifest revision the user approved.
- `manifestContentHash` (string, required): Content hash of the approved manifest, from update_asset_set_plan's response — proves the user approved this exact draft.
- `planNodeId` (string, required): The asset_set plan node's id in the graph.
- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.

### `approve_and_run_asset_set_plan` (~177 tokens)

Approve the exact manifest revision/hash AND start its run in one durable idempotent call. In live mode this is a paid provider call — confirm the exact scope and cost with the user first.

Input parameters:

- `expectedFlowRevision` (integer, required): Flow revision from the current session — stale values are rejected.
- `expectedManifestRevision` (integer, required): The exact manifest revision the user approved.
- `idempotencyKey` (string)
- `manifestContentHash` (string, required)
- `mode` (string): mock = free dry run. live = paid provider generation — confirm with the user first.
- `planNodeId` (string, required): The asset_set plan node's id in the graph.
- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.

### `get_asset_set_plan_history` (~81 tokens)

Fetch an asset-set plan's manifest revisions and approval events. Use to audit what was proposed and approved before any run.

Input parameters:

- `planNodeId` (string, required): The asset_set plan node's id in the graph.
- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.

### `add_flow_reference_image` (~213 tokens)

Upload a local image file (png/jpeg/webp/gif/svg, ≤10 MB) as a session-scoped reference — the backend stores it immutably and the reference node points at its storage key. Use connectToNodeId to feed a generate node, then validate_asset_flow before running.

Input parameters:

- `connectToNodeId` (string): Generate node the reference should feed (edges it in when creating a new node).
- `filePath` (string, required): Local image file (png/jpeg/webp/gif/svg) to attach as a generation reference. Read by this MCP process and uploaded to the session — keep it under 10 MB.
- `label` (string): Short label for the reference node on the canvas.
- `nodeId` (string): Reference node to create or update. Defaults to reference_<filename>; pass an existing reference node id to replace its image.
- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.

### `add_flow_node` (~243 tokens)

Add one node to the stored flow graph. Wire it with connect_flow_nodes, then validate_asset_flow before running.

Input parameters:

- `assetRef` (string)
- `description` (string)
- `globalRules` (array)
- `id` (string)
- `label` (string)
- `mimeType` (string)
- `modelId` (string)
- `negativeConstraints` (array)
- `palette` (array)
- `position` (object)
- `provider` (string)
- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.
- `stageIndex` (number)
- `stageLabel` (string)
- `status` (string)
- `storagePath` (string)
- `strategy` (string)
- `text` (string)
- `themeStyle` (string)
- `title` (string)
- `tone` (string)
- `type` (string, required): Node kind: prompt/style/reference feed a generate node; generate calls a provider; output is a display sink; frame/note are canvas annotations.

### `update_flow_node` (~222 tokens)

Update fields on one node in the stored flow graph (prompt text, model, processor options). Run validate_asset_flow afterwards.

Input parameters:

- `assetRef` (string)
- `description` (string)
- `globalRules` (array)
- `label` (string)
- `mimeType` (string)
- `modelId` (string)
- `negativeConstraints` (array)
- `nodeId` (string, required): Node id in the stored graph — from get_asset_flow.
- `palette` (array)
- `position` (object)
- `provider` (string)
- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.
- `stageIndex` (number)
- `stageLabel` (string)
- `status` (string)
- `storagePath` (string)
- `strategy` (string)
- `text` (string)
- `themeStyle` (string)
- `title` (string)
- `tone` (string)

### `remove_flow_node` (~76 tokens)

Remove a node (and its edges) from the stored flow graph. Run validate_asset_flow afterwards.

Input parameters:

- `nodeId` (string, required): Node id in the stored graph — its edges are removed too.
- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.

### `connect_flow_nodes` (~117 tokens)

Create a directed edge from one node to another in the stored flow graph; invalid node-kind pairs are rejected.

Input parameters:

- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.
- `sourceNodeId` (string, required): Upstream node id (prompt/style/reference → generate, generate → output).
- `sourcePort` (string)
- `targetNodeId` (string, required): Downstream node id.
- `targetPort` (string): Named input port for multi-input nodes.

### `disconnect_flow_nodes` (~89 tokens)

Remove a directed edge between two nodes in the stored flow graph.

Input parameters:

- `edgeId` (string): Edge id to remove; alternatively pass sourceNodeId + targetNodeId.
- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.
- `sourceNodeId` (string)
- `targetNodeId` (string)

### `set_generate_target` (~196 tokens)

Set the output target on a generate node (surface, aspect ratio, size hint, composition/text policy). Run validate_asset_flow afterwards.

Input parameters:

- `aspectRatio` (string): e.g. '1:1', '16:9', '9:16'.
- `compositionRules` (array): Composition constraints, e.g. 'negative space top-left for headline'.
- `copySafety` (string): How to leave room for copy, e.g. 'clean negative space'.
- `nodeId` (string, required): The generate node's id.
- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.
- `sizeHint` (string)
- `surface` (string): Output surface, e.g. 'hero', 'banner', 'story'.
- `textPolicy` (string): GENERATE_TEXT_POLICY_* — DISALLOW for clean plates with no rendered text.

### `apply_flow_edits` (~81 tokens)

Apply a batch of graph edits (add/update/remove nodes, connect/disconnect edges) atomically to the stored flowSpec. Preferred over individual calls for multi-step edits; validate afterwards.

Input parameters:

- `ops` (array, required)
- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.

### `validate_asset_flow` (~62 tokens)

Run backend validation on the stored graph. Call after every material edit and before every run — invalid graphs are refused at run time.

Input parameters:

- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.

### `get_flow_processor_health` (~40 tokens)

Report local processor readiness and pinned revisions (split, background removal, vectorisation). Required check before relying on zero-token local stages in asset-set flows.

### `start_asset_flow_run` (~246 tokens)

Start a background mock or live run; returns a task to poll with get_asset_flow_task. live spends real provider money — confirm scope and cost with the user first; refused unless BRANDBRAIN_MAX_PROVIDER_SPEND_USD_MICROS is set in the server env. One run executes only the targeted generate node (targetNodeId): downstream generate nodes are paid-call boundaries — run them as separate targeted runs, each billed independently.

Input parameters:

- `idempotencyKey` (string): Dedupe key so retries do not launch duplicate runs; reuse the same key to re-attach to the first dispatch.
- `mode` (string): mock = free dry run. live = paid provider generation — confirm with the user first.
- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.
- `targetNodeId` (string): Run only the subgraph feeding this node. A root run defaults to the backend's first generate target, so a multi-branch graph generates one image per run unless a branch is named here. Ignored for ass…

### `compare_image_models` (~168 tokens)

Clone a single-generate-node flow once per candidate model (same prompt/style/references), preflight each, and start sibling runs to compare engines. live charges per sibling and needs a total ceiling.

Input parameters:

- `maxTotalUsdMicros` (integer): Live only: the most the whole comparison may cost, in USD micros. The sum of the siblings' preflight ceilings must fit or nothing is started.
- `mode` (string): mock = free dry run. live = paid provider generation — confirm with the user first.
- `models` (array, required): The engines to compare — one sibling session per entry. Discover provider/modelId pairs with list_image_models.
- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.

### `start_regenerate_asset_flow_node` (~148 tokens)

Start a background regeneration from a target node; poll it with get_asset_flow_task. Warning: targeting an output node re-runs its paid generate producer — use get_flow_outputs on a finished run to fetch results instead.

Input parameters:

- `mode` (string): mock = free dry run. live = paid provider generation — confirm with the user first.
- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.
- `targetNodeId` (string, required): Node to rerun from. An output node resolves to its generate producer and re-runs paid generation — never use this to fetch outputs (use get_flow_outputs).

### `get_asset_flow_task` (~73 tokens)

Poll a task started by start_asset_flow_run or start_regenerate_asset_flow_node until completed/failed. Then verify the persisted outcome with get_asset_flow_run — a task report alone is not proof.

Input parameters:

- `taskId` (string, required): Task id returned by start_asset_flow_run or start_regenerate_asset_flow_node.

### `run_asset_flow` (~196 tokens)

Execute the stored flow session in mock or live mode as a task-backed run. Requires MCP task augmentation; clients without it should call start_asset_flow_run and poll get_asset_flow_task instead.

Input parameters:

- `idempotencyKey` (string): Dedupe key so retries do not launch duplicate runs; reuse the same key to re-attach to the first dispatch.
- `mode` (string): mock = free dry run. live = paid provider generation — confirm with the user first.
- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.
- `targetNodeId` (string): Run only the subgraph feeding this node. A root run defaults to the backend's first generate target, so a multi-branch graph generates one image per run unless a branch is named here. Ignored for ass…

### `regenerate_asset_flow_node` (~143 tokens)

Regenerate a single target node in the stored flow session as a task-backed run. Requires MCP task augmentation; clients without it should call start_regenerate_asset_flow_node and poll get_asset_flow_task instead.

Input parameters:

- `mode` (string): mock = free dry run. live = paid provider generation — confirm with the user first.
- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.
- `targetNodeId` (string, required): Node to rerun from. An output node resolves to its generate producer and re-runs paid generation — never use this to fetch outputs (use get_flow_outputs).

### `list_image_models` (~158 tokens)

List every provider's image models with lifecycle status, reference-image support, and the preflight cost ceiling for one 1024² image. Call before choosing a generate model — the only way to discover OpenRouter model ids. Supports sortByCost and maxPerProvider to surface the cheapest options quickly.

Input parameters:

- `includeRetired` (boolean): Retired models are hidden unless this is true.
- `maxPerProvider` (integer): Cap models listed per provider (cheapest first when sortByCost is set).
- `provider` (string): "openai", "gemini" or "openrouter"; every provider when omitted.
- `sortByCost` (boolean): Sort each provider's models cheapest-first and order providers by their cheapest model.

### `estimate_asset_flow_run_cost` (~133 tokens)

Estimate what a flow's generate nodes would cost to run, priced from the image-model catalogue (1024² high estimate per image). Pass targetNodeId to scope to the single node a run would execute — one run bills only its target. Free to call — use before a live run to sanity-check spend, or to compare models before set_generate_target.

Input parameters:

- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.
- `targetNodeId` (string): Restrict the estimate to one generate node; all generate nodes when omitted.

### `list_asset_flow_runs` (~80 tokens)

List recorded runs for a session (id, mode, status, timing). Use to find a runId for get_asset_flow_run, get_flow_trace, or get_flow_outputs.

Input parameters:

- `limit` (integer)
- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.

### `get_asset_flow_run` (~87 tokens)

Inspect a stored run's status, per-node traces, artifacts and errors. Use to confirm the real outcome of a finished or failed task before reporting it.

Input parameters:

- `runId` (string, required): Run id from list_asset_flow_runs or a finished task.
- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.

### `open_flow` (~79 tokens)

Open the flow's canvas editor in the user's default browser and return its URL. Side effect: opens a window on the user's machine — when they only need the link, return canvas_url from list_asset_flows instead.

Input parameters:

- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.

### `open_flow_gallery` (~73 tokens)

Open the flow's run gallery (every run's output images with per-image cost and trace) in the user's default browser and return its URL. Opens a window on the user's machine.

Input parameters:

- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.

### `get_flow_trace` (~83 tokens)

Get a run's per-node trace: status, duration, resolved prompts, provider request details, artifacts, errors. Use to diagnose a failed or surprising run.

Input parameters:

- `runId` (string): Defaults to the session's latest run.
- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.

### `get_flow_outputs` (~96 tokens)

Fetch a run's durable outputs with metadata, artifact_url (fetchable with this server's auth), open_in_browser link for humans, and a bounded inline preview. The way to view results — never regenerate to fetch outputs.

Input parameters:

- `runId` (string): Defaults to the session's latest run.
- `sessionId` (string, required): Persisted flow session id (flow_session_…) from create_asset_flow or list_asset_flows.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/dev-brandbrain-flow-orchestrator/brandbrain-flow-orchestrator-mcp#diagnostics

## Score history

- 2026-09-26: 62
- 2026-09-25: 52

## Common questions

### What is the BrandBrain Flow Orchestrator MCP server?

BrandBrain Flow Orchestrator is an MCP server listed in the public MCP registry as dev.brandbrain/flow-orchestrator. Compose BrandBrain asset flows, run mock/live generation, and fetch outputs. This page covers its npm package (brandbrain-flow-orchestrator-mcp).

### Is the BrandBrain Flow Orchestrator MCP server safe to use?

BrandBrain Flow Orchestrator scores 62 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 26 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the BrandBrain Flow Orchestrator MCP server expose?

BrandBrain Flow Orchestrator exposes 36 tools: login_brandbrain, whoami_brandbrain, logout_brandbrain, list_asset_flow_templates, list_asset_flows, and 31 more. Their descriptions and schemas cost roughly 4,410 tokens of context every time the server is loaded.

### Is the BrandBrain Flow Orchestrator MCP server still maintained?

BrandBrain Flow Orchestrator is still listed as active in the MCP registry. We last reached this channel on 26 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the BrandBrain Flow Orchestrator MCP server under?

BrandBrain Flow Orchestrator declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/brandbrain-flow-orchestrator-mcp
- Socket report: https://socket.dev/npm/package/brandbrain-flow-orchestrator-mcp
- Website: https://brandbrain.dev/
- Changelog RSS feed: https://verifymcp.io/servers/dev-brandbrain-flow-orchestrator/brandbrain-flow-orchestrator-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/dev-brandbrain-flow-orchestrator/brandbrain-flow-orchestrator-mcp.json
- HTML version of this page: https://verifymcp.io/servers/dev-brandbrain-flow-orchestrator/brandbrain-flow-orchestrator-mcp
