# generate_tactics

Generate AND save 5 grounded growth tactics for a 4-F category, composed from the company mission/vision, OKRs, and ICP customer profile. Persists them as growth_tactics (optionally bound to an objective, key result, and lane). Use when an agent should author concrete tactics for a goal — not just brainstorm. [write-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]

Agent View of the PolicyLayer registry record for `generate_tactics`. HTML page: https://policylayer.com/tools/com-getfreedomos-freedom-mcp/generate-tactics

## Facts

- Tool: `generate_tactics`
- Server: Freedom Mcp (`https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp`) — https://policylayer.com/tools/com-getfreedomos-freedom-mcp.md
- Homepage: https://github.com/https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server CORS policy: *
- Server rate-limited: no
- Parameters: 6 (3 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `lane_id` | string | no | Optional lane UUID running these tactics (validated against this company). |
| `category` | string | yes | Growth category (4-F spine): flow=Leads, funnel=Conversion, flourish=LTV/retention, freedom=time/automation. |
| `companyId` | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| `userPrompt` | string | yes | The focus/request the tactics must address (e.g. "fill the top of funnel for our pharmacy ICP"). |
| `linked_kr_id` | string | no | Optional key-result id (within the bound objective) the tactics most advance. |
| `objective_id` | string | no | Optional OKR objective UUID to bind these tactics to (validated against this company). |

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": "generate_tactics",
    "arguments": {
      "category": "<category>",
      "companyId": "<companyId>",
      "userPrompt": "<userPrompt>"
    }
  }
}
```

## Why generate_tactics is rated Medium

This tool creates new records in a business operations system (growth tactics) based on company strategy inputs. While it modifies state in the FreedomOS system, the changes are reversible (tactics can be updated, deleted, or archived). The approval gating indicates it's recognized as a mutation that may require authorization, but not a destructive or irreversible action.

From the tool's own definition: "'Generate AND save' tactics that 'Persist them as growth_tactics' — the tool creates and stores new data (growth tactics records)."

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Freedom Mcp (237)

- `clear_pipeline_learnings` — Destructive — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/clear-pipeline-learnings.md
- `deactivate_agent` — Destructive — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/deactivate-agent.md
- `delete_icp` — Destructive — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/delete-icp.md
- `delete_idea` — Destructive — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/delete-idea.md
- `delete_knowledge` — Destructive — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/delete-knowledge.md
- `delete_objective` — Destructive — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/delete-objective.md
- `remove_agent_activity` — Destructive — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/remove-agent-activity.md
- `remove_background` — Destructive — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/remove-background.md
- `remove_dashboard_widget` — Destructive — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/remove-dashboard-widget.md
- `audit_brand_visibility` — Execute — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/audit-brand-visibility.md
- `browse_url` — Execute — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/browse-url.md
- `challenge_as_customer` — Execute — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/challenge-as-customer.md
- `decide_command_center_item` — Execute — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/decide-command-center-item.md
- `deliberate` — Execute — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/deliberate.md
- `generate_image_xai` — Execute — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/generate-image-xai.md
- `generate_vector_image` — Execute — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/generate-vector-image.md
- `generate_video_veo` — Execute — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/generate-video-veo.md
- `hire_agent` — Execute — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/hire-agent.md
- `hire_agent_with_context` — Execute — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/hire-agent-with-context.md
- `invoke_integration` — Execute — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/invoke-integration.md
- `posthog_hogql` — Execute — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/posthog-hogql.md
- `request_attention_spawn` — Execute — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/request-attention-spawn.md
- `resolve_work` — Execute — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/resolve-work.md
- `run_quality_check` — Execute — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/run-quality-check.md
- `run_tactic` — Execute — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/run-tactic.md
- `send_email` — Execute — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/send-email.md
- `toggle_agent_schedule` — Execute — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/toggle-agent-schedule.md
- `trigger_agent_activity` — Execute — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/trigger-agent-activity.md
- `set_meta_ad_status` — Financial — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/set-meta-ad-status.md
- `update_meta_ad_budget` — Financial — https://policylayer.com/tools/com-getfreedomos-freedom-mcp/update-meta-ad-budget.md
- …and 207 more: https://policylayer.com/tools/com-getfreedomos-freedom-mcp.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-getfreedomos-freedom-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/com-getfreedomos-freedom-mcp
