# execute_workflow

Execute a registered workflow by name. Supports inline and background execution.

Agent View of the PolicyLayer registry record for `execute_workflow`. HTML page: https://policylayer.com/tools/frontmcp/execute-workflow

## Facts

- Tool: `execute_workflow`
- Server: Frontmcp (`agentfront/frontmcp`) — https://policylayer.com/tools/frontmcp.md
- Homepage: https://github.com/agentfront/frontmcp
- 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": "execute_workflow",
    "arguments": {}
  }
}
```

## Why execute_workflow is rated High

This tool runs workflows, which are external operations whose side effects depend on the arguments (workflow name and parameters). Workflows could perform any action—data modifications, API calls, external system interactions, etc. While the tool itself doesn't irreversibly delete data, it has Execute semantics as it triggers arbitrary registered workflow operations.

From the tool's own definition: "Tool executes a registered workflow by name and supports both inline and background execution modes. The term 'execute' combined with capability to run workflows whose effects depend on which workflow is selected and its parameters indicates code/operation…"

## Use case

AI agents invoke execute_workflow to trigger actions in Frontmcp. 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 Frontmcp:

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

## Other tools on Frontmcp (205)

- `clear-audit-log` — Destructive — https://policylayer.com/tools/frontmcp/clear-audit-log.md
- `clear-replay-buffer` — Destructive — https://policylayer.com/tools/frontmcp/clear-replay-buffer.md
- `clear-session-notifications` — Destructive — https://policylayer.com/tools/frontmcp/clear-session-notifications.md
- `crm-reset` — Destructive — https://policylayer.com/tools/frontmcp/crm-reset.md
- `delete-vault-entry` — Destructive — https://policylayer.com/tools/frontmcp/delete-vault-entry.md
- `notes-reset` — Destructive — https://policylayer.com/tools/frontmcp/notes-reset.md
- `remove_job` — Destructive — https://policylayer.com/tools/frontmcp/remove-job.md
- `remove_workflow` — Destructive — https://policylayer.com/tools/frontmcp/remove-workflow.md
- `reset-stats` — Destructive — https://policylayer.com/tools/frontmcp/reset-stats.md
- `secret` — Destructive — https://policylayer.com/tools/frontmcp/secret.md
- `users-delete` — Destructive — https://policylayer.com/tools/frontmcp/users-delete.md
- `admin_action` — Execute — https://policylayer.com/tools/frontmcp/admin-action.md
- `admin-background-job` — Execute — https://policylayer.com/tools/frontmcp/admin-background-job.md
- `admin-only` — Execute — https://policylayer.com/tools/frontmcp/admin-only.md
- `browser_test` — Execute — https://policylayer.com/tools/frontmcp/browser-test.md
- `build-shell` — Execute — https://policylayer.com/tools/frontmcp/build-shell.md
- `cancellable-wait` — Execute — https://policylayer.com/tools/frontmcp/cancellable-wait.md
- `cold-start-test` — Execute — https://policylayer.com/tools/frontmcp/cold-start-test.md
- `concurrency-mutex` — Execute — https://policylayer.com/tools/frontmcp/concurrency-mutex.md
- `concurrency-queued` — Execute — https://policylayer.com/tools/frontmcp/concurrency-queued.md
- `deploy_application` — Execute — https://policylayer.com/tools/frontmcp/deploy-application.md
- `emit-app-event` — Execute — https://policylayer.com/tools/frontmcp/emit-app-event.md
- `execute_job` — Execute — https://policylayer.com/tools/frontmcp/execute-job.md
- `expensive-operation` — Execute — https://policylayer.com/tools/frontmcp/expensive-operation.md
- `experimental-agent` — Execute — https://policylayer.com/tools/frontmcp/experimental-agent.md
- `gated-acme` — Execute — https://policylayer.com/tools/frontmcp/gated-acme.md
- `load-component` — Execute — https://policylayer.com/tools/frontmcp/load-component.md
- `long-running-task` — Execute — https://policylayer.com/tools/frontmcp/long-running-task.md
- `node_runtime_tool` — Execute — https://policylayer.com/tools/frontmcp/node-runtime-tool.md
- `non-cached` — Execute — https://policylayer.com/tools/frontmcp/non-cached.md
- …and 175 more: https://policylayer.com/tools/frontmcp.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=frontmcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/frontmcp
