# run_flow

Runs the flow with the provided input

Agent View of the PolicyLayer registry record for `run_flow`. HTML page: https://policylayer.com/tools/firebase-genkit/run-flow

## Facts

- Tool: `run_flow`
- Server: Genkit MCP (`genkit-ai/genkit`) — https://policylayer.com/tools/firebase-genkit.md
- Homepage: https://github.com/genkit-ai/genkit
- Risk category: Execute (High risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "run_flow",
    "arguments": {}
  }
}
```

## Why run_flow is rated High

This tool executes code or workflows ('runs the flow') whose side effects depend entirely on the input arguments and the flow definition. It does not merely read or write data reversibly—it triggers external operations whose consequences cannot be predicted without knowing the flow contents. This is classic Execute category behavior.

From the tool's own definition: "Tool name 'run_flow' combined with description 'Runs the flow with the provided input' indicates execution of arbitrary flows based on user-supplied input."

## Use case

AI agents invoke run_flow to trigger actions in Genkit MCP. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Genkit MCP:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "run_flow": {
      "limits": [
        {
          "counter": "run_flow_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Genkit MCP (71)

- `removeTask` — Destructive — https://policylayer.com/tools/firebase-genkit/removetask.md
- `characterGenerator` — Execute — https://policylayer.com/tools/firebase-genkit/charactergenerator.md
- `delegate_to_coder` — Execute — https://policylayer.com/tools/firebase-genkit/delegate-to-coder.md
- `delegate_to_researcher` — Execute — https://policylayer.com/tools/firebase-genkit/delegate-to-researcher.md
- `run_shell` — Execute — https://policylayer.com/tools/firebase-genkit/run-shell.md
- `screenshot` — Execute — https://policylayer.com/tools/firebase-genkit/screenshot.md
- `slowWork` — Execute — https://policylayer.com/tools/firebase-genkit/slowwork.md
- `start_runtime` — Execute — https://policylayer.com/tools/firebase-genkit/start-runtime.md
- `transferToAgent` — Execute — https://policylayer.com/tools/firebase-genkit/transfertoagent.md
- `use_skill` — Execute — https://policylayer.com/tools/firebase-genkit/use-skill.md
- `processPayment` — Financial — https://policylayer.com/tools/firebase-genkit/processpayment.md
- `request_transfer` — Financial — https://policylayer.com/tools/firebase-genkit/request-transfer.md
- `reservationTool` — Financial — https://policylayer.com/tools/firebase-genkit/reservationtool.md
- `transferMoney` — Financial — https://policylayer.com/tools/firebase-genkit/transfermoney.md
- `add` — Other — https://policylayer.com/tools/firebase-genkit/add.md
- `askQuestion` — Other — https://policylayer.com/tools/firebase-genkit/askquestion.md
- `datePicker` — Other — https://policylayer.com/tools/firebase-genkit/datepicker.md
- `error_tool` — Other — https://policylayer.com/tools/firebase-genkit/error-tool.md
- `exitTool` — Other — https://policylayer.com/tools/firebase-genkit/exittool.md
- `gablorken` — Other — https://policylayer.com/tools/firebase-genkit/gablorken.md
- `test_http` — Other — https://policylayer.com/tools/firebase-genkit/test-http.md
- `account_record` — Read — https://policylayer.com/tools/firebase-genkit/account-record.md
- `ask_user` — Read — https://policylayer.com/tools/firebase-genkit/ask-user.md
- `celsiusToFahrenheit` — Read — https://policylayer.com/tools/firebase-genkit/celsiustofahrenheit.md
- `confirmBooking` — Read — https://policylayer.com/tools/firebase-genkit/confirmbooking.md
- `current_weather` — Read — https://policylayer.com/tools/firebase-genkit/current-weather.md
- `dailySpecial` — Read — https://policylayer.com/tools/firebase-genkit/dailyspecial.md
- `dynamicGablorkenTool` — Read — https://policylayer.com/tools/firebase-genkit/dynamicgablorkentool.md
- `echo_meta_tool` — Read — https://policylayer.com/tools/firebase-genkit/echo-meta-tool.md
- `fetchCatalog` — Read — https://policylayer.com/tools/firebase-genkit/fetchcatalog.md
- …and 41 more: https://policylayer.com/tools/firebase-genkit.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=firebase-genkit · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/firebase-genkit
