# plan_workflow

Preview what a workflow WOULD do, without running it. Costs nothing and runs no models: returns the step execution order, each step's role/model/max_tokens and whether it pauses for a human checkpoint, the workflow's declared parameters (validated if you supply values), which required integrations your account already has credentials on file for, an upper-bound cost estimate, and definition_sha — a fingerprint of the definition this plan was built from, which tells you whether the definition changed between planning and running but never hands back the definition itself. Starts no session and records no usage. Use before run_workflow to check a pipeline fits before spending on it. Requires authentication.

Agent View of the PolicyLayer registry record for `plan_workflow`. HTML page: https://policylayer.com/tools/com-meta-council-decision-intelligence/plan-workflow

## Facts

- Tool: `plan_workflow`
- Server: Meta Council (`https://meta-council.com/mcp`) — https://policylayer.com/tools/com-meta-council-decision-intelligence.md
- Homepage: https://github.com/daliu/meta-council
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server rate-limited: no
- Parameters: 3 (1 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `workflow` | string | yes | The workflow slug (from list_workflows), e.g. 'due_diligence'. |
| `parameters` | object | no | Optional values for the workflow's declared parameters, as a flat name-to-value object, e.g. {"region": "EU"}. Supply them to have them validated; omit to skip |
| `step_models` | object | no | Optional per-run model choices, keyed by zero-based step index (for example {"0": "claude-sonnet-4-6"}). Uses the same catalog validation as run_workflow; send |

Parameters from the server's own tool schema.

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

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "plan_workflow",
    "arguments": {
      "workflow": "<workflow>"
    }
  }
}
```

## Why plan_workflow is rated Medium

An AI agent can call plan_workflow faster than any human can review: one bad instruction and it creates or modifies resources in Meta Council by the hundred, each call as confident as the last.

## Use case

AI agents use plan_workflow to create or update resources in Meta Council, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Meta Council environment.

## Recommended policy (PolicyLayer)

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

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "plan_workflow": {
      "limits": [
        {
          "counter": "plan_workflow_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Meta Council (279)

- `account_export` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/account-export.md
- `cancel_booking` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/cancel-booking.md
- `decide_approval` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/decide-approval.md
- `delete_accounting_run` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/delete-accounting-run.md
- `delete_monitor` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/delete-monitor.md
- `delete_saved_view` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/delete-saved-view.md
- `delete_workflow_template` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/delete-workflow-template.md
- `preview_scheduling_action` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/preview-scheduling-action.md
- `project_unlink_feature` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/project-unlink-feature.md
- `reconcile_attention_notification_delivery` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/reconcile-attention-notification-delivery.md
- `revoke_portfolio_report_share` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/revoke-portfolio-report-share.md
- `ticket_dependency_remove` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/ticket-dependency-remove.md
- `void_invoice` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/void-invoice.md
- `dismiss_ticket_integration_effect` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/dismiss-ticket-integration-effect.md
- `execute_saved_view` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/execute-saved-view.md
- `preview_accounting_ticket_sync` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/preview-accounting-ticket-sync.md
- `project_link_feature` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/project-link-feature.md
- `retry_workflow` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/retry-workflow.md
- `review_external_workflow` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/review-external-workflow.md
- `run_comparison` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/run-comparison.md
- `run_council` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/run-council.md
- `run_workflow` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/run-workflow.md
- `start_external_workflow` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/start-external-workflow.md
- `ticket_scenario_revise` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/ticket-scenario-revise.md
- `add_invoice_line_item` — Financial — https://policylayer.com/tools/com-meta-council-decision-intelligence/add-invoice-line-item.md
- `mark_invoice_paid` — Financial — https://policylayer.com/tools/com-meta-council-decision-intelligence/mark-invoice-paid.md
- `advance_workflow` — Read — https://policylayer.com/tools/com-meta-council-decision-intelligence/advance-workflow.md
- `ask_legal` — Read — https://policylayer.com/tools/com-meta-council-decision-intelligence/ask-legal.md
- `browse_ticket_integration_import` — Read — https://policylayer.com/tools/com-meta-council-decision-intelligence/browse-ticket-integration-import.md
- `campaign_pipeline_stats` — Read — https://policylayer.com/tools/com-meta-council-decision-intelligence/campaign-pipeline-stats.md
- …and 249 more: https://policylayer.com/tools/com-meta-council-decision-intelligence.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=com-meta-council-decision-intelligence · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/com-meta-council-decision-intelligence
