# freedom-mcp MCP server

Business-ops MCP for FreedomOS — finance, OKRs, customer scoring, AI agents, content. 250+ tools.

## Links
- Registry page: https://www.getdrio.com/mcp/com-getfreedomos-freedom-mcp
- Website: https://getfreedomos.com

## Install
- Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- Auth: Auth required by registry metadata

## Setup notes
- Remote header: Authorization (required; secret)
- The upstream registry signals required auth or secrets.
- Remote endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- Header: Authorization

## Tools
- grant_agent_tool - Grant ONE specific tool to an agent's loadout (tool_access). Use when an operator says "give <agent> the <tool> tool" / "let <agent> use <tool>". The tool name is validated against the live registry at write time — phantom names are rejected, deprecated names auto-map to their successor. For wholesale capability re-derivation use recalibrate_agent_jd instead; connector tools auto-provision on connection.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- revoke_agent_tool - Remove ONE specific tool from an agent's loadout (tool_access). Use when an operator says "take <tool> away from <agent>" — or to clean a phantom/stale name out of a loadout (unresolvable names ARE removable here, unlike grant). Reports honestly when the name was not present, and when the tool is a universal base tool the runtime keeps available regardless.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- search_connector_registry - Search the vetted connector registry for an external integration (MCP connector) you need but that is not yet connected. Returns ONLY FreedomOS-allowlisted connectors (e.g. ad platforms, analytics) — never the open internet. Use this when you hit a capability gap, then call request_connector with the name to ask the operator to connect one. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- request_connector - Request that the operator connect an external integration (MCP connector) so you can use its tools. Provide the connector name from search_connector_registry and a short reason for the capability gap it closes. Creates a one-click approval card for the operator. If the connector is NOT on the vetted allowlist, it becomes a "vet this connector" request instead. This does not connect anything by itself and never spends money.

[sensitive-tier, initiates a multi-step agent process — 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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_team_pulse - Get a real-time snapshot of team output volume, pending approvals, and founder load. Shows cards per agent, approval velocity, oldest pending items, and load trends. Use this to detect if the founder is being overwhelmed, if agents are producing too much or too little, or if cards are piling up without action. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_activity_health - Audit all agent activities for staleness, business outcome alignment, and cross-agent overlap. Shows per-activity run count, quality scores, approval rates, and flags activities that may need retirement or adjustment. Use this to apply first principles: question every activity before optimizing it. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_command_center_items - List Command Center cards for the company (pending by default; pass status_filter for approved/denied/snoozed/all). Shows what needs decisions — approvals, reviews, proposals. Returns card title, source agent, priority, age in days, task type, approval_status, available_actions (live decide moves), resolution_progress (PR/builder in-flight), and a content PREVIEW only — use get_command_center_item with an id for a card's full content. Pending mode is ranked most-actionable first and carries a `featured` field naming the single card the operator's rail features first, with the true reason it leads; other status filters (including 'all') return chronological oldest-first with no featured verdict. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_command_center_item - Read ONE Command Center card by id — full description, full deliverable content, and full context payload, in ANY status (pending, approved, denied, snoozed). THE tool for retrieving what an already-decided card actually said, e.g. the approved package text a follow-up run needs. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- decide_command_center_item - Approve or deny a Command Center card. This processes the decision through the full approval pipeline including trust scoring, autopilot evaluation, skill learning, and deliverable queue progression.

[sensitive-tier, initiates a multi-step agent process — 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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- trigger_agent_activity - Trigger a specific agent to run a specific activity immediately. This dispatches the work and returns — it does not wait for the activity to complete. Use this to direct agents to take action.

[sensitive-tier, initiates a multi-step agent process — 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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- run_tactic - Run a saved Play (growth_tactics) for the company operator or agent — dispatch the next unit as a one-off draft activity, or dry-run a Play brief with suggest_only. Use when the operator or agent should execute an Agreed play this cycle (same owner as Focus “Run play”), or preview cast/steps/cost without spend. Structured plays require plan Agree before dispatch; suggest_only does not.

[sensitive-tier, initiates a multi-step agent process — 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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- toggle_agent_schedule - Pause or resume an agent's scheduled activities — the whole activity plan, or a single activity via activity_name. Pausing stops future scheduler-dispatched runs until resumed; manual trigger_agent_activity still works and in-flight runs are not affected.

[sensitive-tier, initiates a multi-step agent process — 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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_agent_performance - Get detailed performance stats for a specific agent: run count, quality scores, approval/denial rates, error count, recent errors with context, and slowest runs. Use this to audit agent health, trace problems, and identify improvement opportunities. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- add_agent_activity - Add ONE activity to an agent's activity plan without regenerating the whole plan. Use to give an agent a new recurring or one-off deliverable. (To rebuild the entire plan, use recalibrate_agent_jd with regenerate_activities=true instead.)

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_agent_activity - Edit ONE existing activity in an agent's plan — change its name, description, frequency, tools_used, deliverable, or completion_criteria. Surgical alternative to regenerating the whole plan.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- remove_agent_activity - Retire ONE activity from an agent's plan. Soft-archive (recoverable): the activity is MOVED to jd_content.archived_activities and removed from the live plan, so the agent stops running it. Never hard-deletes.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- split_agent_activity - Split ONE oversized activity into smaller activities (intake + finish) without regenerating the rest of the plan. Use when a run hit the continuation safety backstop while still progressing — the activity is bigger than one deliverable.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- create_play_from_activity - Draft a Play (growth_tactics with steps + human review) from an oversized agent activity. Does not run the play — operator Agrees on Focus first. Use when a run hit step/continuation limits because the work is multi-unit.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_attention_budget - THE tool for the founder's attention budget — the operator-set ceiling on pending review cards before they are 'overloaded' (e.g. "what's my attention budget?", "how many pending cards is too many?", "is my overload threshold the default?"). Returns max_pending_cards and is_default (whether it's still the default 7 or operator-set). This is the ceiling get_team_pulse's overload_signal compares against; it is NOT in company settings or get_company — this is the only tool that has it, so call it directly. For the Chief of Staff / the founder. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- set_attention_budget - Set the founder's attention budget — the maximum pending review cards before they are 'overloaded' (a whole number 1–100; default 7) — for a manager or the founder. Use when the founder (or a manager on their behalf) wants to raise or lower their overload threshold (e.g. "set my overload threshold to 10", "I can handle more pending cards before you flag me", "lower my attention budget to 5"). This is the founder's OWN constraint, so it is gated: an autonomous agent CANNOT change it (surface a recommendation instead); only a human-present company manager can. Always call get_attention_budget first and explain why a change helps the founder.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- create_tactic - Create a new growth tactic for the company. Use when user wants to add a tactic, strategy, or action item.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- 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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_tactics - List tactics for the company. Can filter by category or status. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_tactic - Update an existing tactic. Can identify by title instead of ID. Can modify title, description (the how-to / instructions), status, category, assigned_to, or re-bind it to an OKR key result (objective_id / linked_kr_id).

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- delete_tactic - Archive a tactic (safe delete - recoverable). Can identify by title instead of ID.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_company - Get detailed company profile including mission, vision, and settings. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_company - Update company profile. Can set mission, vision, elevator pitch, logo, website, or other details.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- set_offer - Author or update the company's grand slam OFFER — the operator-authored positioning agents ground all outbound in (the offer half of the product layer). Sets `offer` (what the company sells + the transformation it promises) and an optional `target_summary` (who it's for). Capability truth — what the product can and can't actually do — lives in feature_index via create_feature, NOT here; do not list features in the offer.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- derive_capability - Scan the company's connected source code (its GitHub repo, via the Pulse connection in Smart Tools) and DRAFT a capability list — shipped FEATURES (each citing the file that proves it) plus attempted can't-do LIMITS — for the operator to ratify. It writes NOTHING: only items the operator ratifies become authoritative capability the marketing agents and the Integrity Gate use. Read-only; never executes or sends code. If no repo is connected it tells the operator to connect one in Pulse first. Use to populate or refresh a software product's capabilities without hand-maintaining them.

Routing: Operator wants to pull their product's real features from its code (instead of typing them) → use this

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- ratify_capability - Persist the operator-CONFIRMED derived features (from derive_capability) into the product capability index as source='derived'. Call ONLY with features the operator has ratified — each then becomes an authoritative capability the marketing agents and the Integrity Gate use. Idempotent (re-ratifying updates in place). Derived can't-do limits are drafted for awareness but authored separately for now.

Routing: Operator confirmed the derived features from derive_capability → persist them with this

[sensitive-tier — EVERY call needs a manager's approval (per-send human rail): each request queues its own approval card and sends exactly once on approve. There is no standing grant for this tool.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_okrs - List objectives and key results for the company. Defaults to current year unless year specified or all_years=true. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- create_objective - Create a new objective (the O in OKR). Objectives are aspirational goals. After creating one, use generate_key_results to get intelligent, context-aware key result suggestions, then create_key_result to add the best ones. An objective without key results has no way to measure progress.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_objective - Update an existing objective's title, description, or year. Identify by objective_id or objective_title (preferred). If the title matches more than one active objective it refuses and lists them — pass objective_id to disambiguate. Use when the operator wants to rename or reword an objective or move it to another year — the OKR edit door for agents.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- create_key_result - Add a key result to an objective (the KR in OKR). Key results are measurable outcomes that track progress toward the objective. You can identify the parent objective by title or ID.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_key_result - Update a key result for the company operator and any agent owning KR progress (progress, assignment, due date, rename, measure binding). Use when work moves a Key Result and you need to log current value, reassign, rename, or bind a measure source. Prefer key_result_id — the parent objective is resolved from the KR row (no fuzzy title search). Title match is a fallback; resolution uses the EXISTING title even when renaming in the same call. A missing/archived KR returns one terminal recovery with live alternatives — do not retry the same args.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- generate_key_results - Generate intelligent, context-aware key result suggestions for an objective. Uses company mission, vision, financials, and existing KRs to produce high-quality suggestions tied to north star metrics. Returns suggestions that you can then create with create_key_result.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- delete_key_result - Archive a key result (safe delete — recoverable, never hard-deleted). The KR is moved out of the objective's live list into a recoverable archive. Identify by title (preferred) or ID; optionally scope by parent objective. If the title is ambiguous it refuses and lists the matches — pass an ID to disambiguate.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- delete_objective - Archive an objective and its key results (safe delete — recoverable, never hard-deleted). Identify by title (preferred) or ID. If the title matches more than one objective it refuses and lists them — pass an ID to disambiguate.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_setup_state - Get the company's core-tenet setup completeness — mission, vision, OKRs, finances, ICP, branding, team, integrations, product, revenue channels, ICP agent model — each as done/empty/blocked/n_a/unknown, with a score, the next best setup step, and the tool to fix each gap. Derived live from current data. Use this to know what a company still needs set up before doing strategy work. WISDOM-FIRST: mission and vision are operator-authored — do NOT author or invent them. OKRs show "blocked" until mission AND vision are set; never invent OKR numbers from an empty wisdom layer — escalate to the operator. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- read_web_page - Read a web page and return its content as clean markdown. Use when the user asks to read, analyze, summarize, or extract information from a specific URL. Also useful for competitor research, checking a website, or reading an article.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- draft_tenet_from_signal - Draft a company tenet (mission or vision) FROM the company's existing website, for the operator to ratify or edit — instead of asking them to type it into a blank field. Use when a tenet is empty but the company already exists (has a website). Returns a DRAFT proposal with evidence and a confidence level; it writes NOTHING — the operator authors by confirming (Slice-3 update_company). The agent is a mirror, not an author: the draft is grounded in the site, never invented.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- list_corpus_inventory - List what content material this company already has (knowledge folders like book-1/canon, SME Expert rules, idea_inbox assigned to the workspace). Use BEFORE inventing posts or when the operator asks 'what content do we have?'. Read-only; no LLM. Prefer promote_corpus_to_content next to mint cards. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- promote_corpus_to_content - Mint the NEXT content angle(s) from the company's corpus into content_ideas + Command Center cards. Default count is 1 — do NOT bulk-fill the queue. For day-to-day drafting, prefer list_knowledge / read_knowledge (or list_corpus_inventory) to pull one chapter/passage JIT — that avoids re-tokenizing the whole book. Use promote only when a human-facing card is needed (weekly queue, Held post, operator asked). Faith grain: angles only. Never invent from empty corpus.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- originate_content_ideas - Surface CONTENT IDEAS from the company's own corpus and land them in the content pool + cards (same owner as promote_corpus_to_content). Use for 'what should I post', blank-page marketing, or when agents would otherwise invent posts. Never invents from nothing; never drafts faith prose.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- generate_carousel - Render a multi-slide image carousel + a LinkedIn-PDF from structured slide copy. Text (including the cited answer) is rendered as REAL, legible text — never the garbled in-frame text AI image/video models produce. Use for value-demonstration B2B content (the cited-answer overlay, peer-proof decks). Produces artifacts only; publish via send_to_user(intent:"publish").

Routing: Carousel / slide deck / LinkedIn PDF / legible cited-answer overlay → use this (the text stays sharp; $0).

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_release_ledger - THE tool for "did this piece ship on this channel" — reads the cross-channel Release Ledger, the queryable truth for every confirmed send (x/linkedin/instagram/facebook/threads, hub letters, Beehiiv) written by the publish rail itself at send time. Use this instead of title-matching or a markdown tracking doc when a reconciler or operator asks whether a piece released, where it released, or wants a recent-releases feed. Returns rows plus a per-piece coverage summary (which channels a piece is KNOWN to have shipped on — never a speculative claim about what's missing). Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- list_integrations - List ALL connected external integrations — MCP servers, OAuth accounts (Google, X, ...), and direct integrations (Xero accounting, Stripe) — and the tools each one powers. Use when user asks about connected services, integrations, or what external tools are available. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- invoke_integration - Execute a tool on a connected MCP integration. First use list_integrations to discover available tools.

[outbound-tier — EVERY call needs a manager's approval (per-send human rail): each request queues its own approval card and sends exactly once on approve. There is no standing grant for this tool.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- list_my_work - List shared work-graph items (lab_work_items) in the current company — the cross-session shared plan. Defaults to items you created or are assigned; pass scope="company" for the whole company graph. Use to see what is queued, blocked, in progress, or done across sessions. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- propose_work - Create a new shared work-graph item (lab_work_items) so it is visible and coordinated across sessions and agents. Set depends_on to gate this item behind others (it starts blocked until they complete). Optionally pre-assign to an agent OR a user.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- resolve_work - Mark a shared work-graph item resolved — verified (default), published, or cancelled. In the full system, resolving an item cascades to unblock items that depend on it, so this is a process-initiator. Optionally record a verified_outcome.

[sensitive-tier, initiates a multi-step agent process — 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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_my_profile - Get the current user's profile information including name, title, contact info, and personal details. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_my_profile - Update the current user's profile. Can set name, title, phone, linkedin, location, zone of genius, or quiet hours (the do-not-disturb window for agent push alerts).

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_my_companies - List the companies the current operator can act in (their FreedomOS portfolio), with the operator's role in each plus an `about` line (entity type + what the company is/does). Call this to discover valid companyId values before using company-scoped tools, and use `about` — not the name — to infer WHICH company the user means; if `about` doesn't settle it, ask rather than guess. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_my_channel_partner_link - Get YOUR channel partner **student share link** (https://getfreedomos.com/start/{slug}) — the classroom start page (copy Claude prompt first, then unlock). Also returns unlockUrl (/p/{slug}) for mid-funnel pay-only if someone already coached. Use when the operator asks for their partner link, UNLOCKED/student share URL, or "how do people join through me". Default students to startUrl, not unlock. Product language: Partner (not affiliate). Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_my_channel_partner_stats - Get YOUR channel partner stats: student share URL (/start/slug), rev-share terms, referral counts by status (pending/joined/activated/credited), and REWARD state (rewardsVested = credits actually granted, rewardsClearing = paid but inside the 7-day vesting window, rewardsVoided = money returned before vesting so they will never land). Report rewardsVested when asked what has been EARNED — a status count is not money. Use when the operator asks how many people came through their link, partner performance, or commission terms. Product language: Partner (not affiliate). Returns empty if not a channel partner. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_my_channel_partner_starter_pack - Get YOUR classroom starter pack for students: the public share URL (https://getfreedomos.com/start/{slug}) where they copy a one-paste Claude prompt — no skill file, no AirDrop, no terminal. Also returns a short blurb you can text/post and the full student prompt. Use when the operator asks how to send students the FreedomOS handoff, "starter pack", classroom prompt, or UNLOCKED → FreedomOS distribution. Product language: Partner (not affiliate). Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_partner_cos_onboard - Onboard YOUR host coding CoS (Claude Code, Cursor, etc.) to FreedomOS: returns a LIVE MCP tool catalog + a deep-research prompt so the host agent reasons how to maximize profit-per-attention with FO — no fixed labor split. FO is hungry for contacts/ops state; host may build cheaper one-shots; FO wins recurring / not-yet-built / long-running. Includes partner benefit playbooks when you are a channel partner. Re-call whenever FO ships tools. Use on first MCP connect, partner connect, or when the host asks how to use FreedomOS optimally. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_financial_summary - Get P&L summary with revenue, expenses, and net income for the company. For single-month queries (e.g., "Feb free cash flow"), specify month parameter. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_projections - Get projected future values from financial forecasts. Shows what revenue/expenses are expected. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_actuals_vs_budget - Compare actual financial results to budget/projections. Shows variance analysis. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_transactions - List company transactions with optional filters. Use for expense tracking, transaction review. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- search_transactions - Search transactions by description. Use when user asks about specific vendors, expenses, or payments. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_monthly_trends - Get month-over-month financial trends. Shows which accounts are increasing/decreasing. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_cash_position - Get current cash and bank account balances. Use for cash flow questions. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_freedom_target - Get the user's freedom target (monthly income goal to quit day job), current FCF progress, estimated freedom date, and assumptions. Use when user asks about financial independence, freedom, or quitting their job. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_projection - Update projected values for specific accounts and months in the financial plan. Use this when the user asks to change a projection, forecast, or budget number. Only current and future months can be updated — past months with bank actuals are protected. IMPORTANT: If an account already has non-zero values, you must specify mode="add" to add on top of existing values, or mode="set" with force=true to replace. Without these, the tool will return the current values and ask for clarification.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_finance_note - Add or update a note on a P&L account row. Use this to annotate accounts with context like "Includes annual contract renewal" or "One-time consulting fee in June".

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_transaction_note - Add or update a note on a specific transaction. Use after pulling transactions to annotate individual items.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_stripe_metrics - Get Stripe metrics including average/median LTV, MRR, churn rate, active subscriptions, and an AI-recommended CAC target derived from the company's chosen LTV:CAC strategy (see get_cac_strategy / set_cac_strategy). Returns both blended company-wide metrics and per-plan-tier segments (e.g., Solo vs Team) with segment-specific LTV and CAC targets. Use this to guide customer acquisition spend decisions per customer type. Only works if Stripe is connected. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_top_customers - Get top customers ranked by lifetime value (LTV) or revenue from Stripe. Returns name, email, LTV, subscription status, and purchase count for each customer. Use this to identify high-value accounts and retention opportunities. Only works if Stripe is connected. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_subscription_stats - Get subscription statistics from Stripe — active, trialing, past-due, and canceled counts plus MRR and ARR. Use alongside get_stripe_metrics for a full revenue picture. Only works if Stripe is connected. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_cac_strategy - THE tool for any question about this company's CAC strategy or LTV:CAC ratio — e.g. "is our CAC strategy standard or conservative?", "what's our LTV:CAC ratio?", "what's our max CAC per customer?". Returns the operator's chosen posture — aggressive (2:1), standard (3:1), conservative (4:1), or enterprise (5:1) — and the effective ratio (max CAC = average LTV ÷ ratio). The CAC strategy is NOT in company settings, profile, or financials — do not use get_company or get_financial_summary for it; this is the only tool that has it, so call it directly. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- set_cac_strategy - Change this company's LTV:CAC strategy (the acquisition-spend posture): aggressive (2:1, early-stage growth), standard (3:1, recommended default), conservative (4:1, high churn / mature), or enterprise (5:1, long sales cycles). This governs marketing spend, so it is gated: an autonomous agent CANNOT apply it — surface a recommendation instead. Always call get_cac_strategy first and include a clear rationale when proposing a change.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- set_revenue_channels - Declare where this business makes money — stripe, xero, shopify, amazon, ebay, manual invoicing, "none_yet" (pre-revenue), or other (name it). This is OPERATOR TRUTH an agent cannot derive, so it is gated: an autonomous agent CANNOT declare it — only a human (chat) or a graduated MCP operator can. Once declared, agents stop asking to connect Stripe for businesses that don't use it and are routed to the right revenue tool for this company's actual channel(s). Call get_setup_state first — if "Revenue channels" already shows done, only call this again when the operator says it changed.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_next_priority - Answer "What should I work on?" in two beats: it leads with the single most-actionable pending Command Center card the operator's rail features first (when the queue has one), then the strategic move synthesized from OKRs, the revenue constraint, and active Tactics. The featured card includes approval_status, available_actions, and resolution_progress (PR/builder in-flight). Call this when the user asks "What should I work on?" or "What's my priority?" Returns focused recommendations with reasoning. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- generate_image_xai - Generate or EDIT an image using xAI Imagine. Handles ALL image styles: photorealistic, illustrations, flat graphics, icons, banners, concept art. Supports 2K resolution. Provide reference_image_url or artifact_id to EDIT an existing image.

Routing: ALL image generation and editing → use this (2 credits). Handles photorealistic, illustrations, flat graphics, icons, banners.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_team_members - Get all team members for the current company. Returns name, email, and role for each member. Use when user asks about team, company members, who is on the team, etc. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_team_roster - Get complete AI team roster with roles, specialties, and capacity info. ALWAYS call this BEFORE recommending hires to check for existing coverage. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_agent_outcome_panel - Per-agent "what did the compute buy" facts for the operator: trailing-14-day credits, runs (with self-maintenance share), human-accepted vs denied outputs, pending cards, last-accepted date, and a playing-house flag (activity with zero accepted output). Use when the operator asks whether an agent is worth its spend, what an agent has been doing, or why credits are being used — for executives and managers reviewing their AI team. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- suggest_next_hire - Analyze team gaps and recommend hires or routing to existing agents. Use when user asks "who should I hire", "who to hire next", "what roles do I need", "hiring recommendations", "grow my team", "next hire". Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- hire_agent - DEPRECATED: Redirects to interview_for_hire. All hiring now requires context gathering to create a proper JD. Use interview_for_hire directly when user wants to hire someone.

[sensitive-tier, initiates a multi-step agent process — 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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- deactivate_agent - Deactivate (archive) an AI agent/specialist from the team. Use when user says "remove [agent]", "deactivate [agent]", "archive [agent]", "fire [agent]", "delete [agent]". The agent is soft-deleted (is_active=false) and can be reactivated later. Cannot deactivate Linnet (the orchestrator).

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- interview_for_hire - Research the company and return everything needed to propose a specialist hire in ONE shot. Use when the user wants to hire, needs specialist help, or describes a problem a specialist would own. Returns deep pre-researched company context + a single-proposal directive — NOT a multi-turn questionnaire.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- hire_agent_with_context - Hire a new specialist with full hiring context gathered from the interview. Use AFTER walking through the interview phases. The richer the context, the better the agent.

[sensitive-tier, initiates a multi-step agent process — 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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_agent_skill - Create or update a skill (process/procedure) for an agent. Use when a user says "@Marcus here's how I want you to do the cash forecast" or "change how the CFO does the monthly review" or "here's my process for X". Skills teach agents HOW to perform their activities.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- analyze_team_needs - Gather comprehensive team and company context for talent strategy analysis. Returns current team composition, growth signals, capability gaps, and integration status. Use when the user asks "what roles am I missing?", "who should I hire next?", "analyze my team", or "what gaps does my team have?". YOU are the strategist — this tool gathers the data, YOU provide the PhD-level talent recommendations. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- suggest_collaboration - Create a cross-agent collaboration request. Use when one agent identifies work that another agent should handle, or when the analysis reveals a gap that could be filled by an existing team member. If the target role doesn't exist on the team, mention it as a hiring opportunity instead. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- list_scheduled_reports - List all scheduled reports for this company, optionally filtered by agent. Use when user asks "what reports are scheduled?", "show me our reports", "what reports does X have?" Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- reassign_reports - Reassign all scheduled reports from one agent to another. Use when user says "reassign reports", "transfer reports to [agent]", "move reports from [agent] to [agent]". Useful after deactivating an agent or hiring a replacement.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- link_agent_okrs - Link an agent to one or more company OKRs. This creates a live connection between the agent and the company objectives they are working toward. Their system prompt will include live OKR context (objectives + key results with progress).

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- recalibrate_agent_jd - Regenerate an agent's JD using fresh company context. Updates mission, expertise, guardrails, success metrics, and optionally activity plans. Works for both hired agents and Linnet. Use when the company has evolved, an agent needs recalibration, or the user wants to refine an agent's direction.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_agent - Rename a team member or fix its role/title. Updates an agent's display name and/or role/job-title. Use when the user says "rename X to Y", "call this agent Z", or "fix the title". For changing an agent's mission/skills use recalibrate_agent_jd instead.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_agent_avatar - Generate or regenerate AI agent profile avatar(s) for a company's AI team. Use when an operator wants to create, refresh, or restyle one or more agents' profile avatars. Single agent: pass agent_id OR agent_name. Several agents: pass agent_ids[] OR agent_names[] in ONE call. Whole team: pass all:true. The tool regenerates EVERY target itself in a single call (1 credit per agent) and returns the real new signed avatar_url for each. Report ONLY the agents listed in the result's `regenerated` array — never claim or invent an avatar for an agent the tool did not return.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- list_features - List all product features in the Feature Index. Use when user asks "what features do I have?", "show my features", "what have I built?", or wants to see their product capabilities for marketing. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- create_feature - Add a new feature to the Feature Index. Use when user says "I built X", "add feature Y", "track this capability", or describes a product feature they want to market. Features can later be pushed to Content Pipeline for marketing content.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_feature_status - Mark a feature as ready for marketing. Use when user says "mark X as ready", "this feature is ready to market", or wants to highlight a feature for marketing content.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_feature - Update fields on an existing Feature Index entry — title, description, category, solves, limits, or demo_url. Use when the user wants to correct or enrich a feature's marketing copy. To change status use update_feature_status; to remove a feature from view use retire_feature — never delete.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- retire_feature - Archive (retire) a feature so it stops showing to readers and agents, or restore a previously retired one. Safe-archive ONLY — never hard-deletes; retiring is fully reversible. Use when a feature is no longer accurate, was replaced, or the user says "remove this feature", "retire X", or "un-retire X".

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_icps - Get saved Ideal Customer Profiles (ICPs) from Customer Hunter. Use this when the user asks about their target customer, ideal customer, customer avatar, ICP, or who they should be selling to. Returns structured profiles including nightmare scenario, dream outcome, pain points, financial profile, and tech-savviness — plus class ('customer' or 'partner') and agentProfile (how that customer's own AI assistant participates in buying: tier, agents, surfacesRead, purchasePath). Each profile also returns publicName — the public-facing audience label to use in published copy — NEVER the internal persona name/codename (the "name" field is a private targeting label). Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_icp - Update specific fields of a saved Ideal Customer Profile (ICP). Only modifies the fields you specify - all other data is preserved. To change the public audience label used in published copy, pass publicName in updates (the public-facing label — NEVER the internal persona name/codename); the internal "name" stays the private targeting label.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- create_icp - Create a NEW Ideal Customer Profile (ICP) from scratch and save it — no Customer Hunter UI needed. Use this when get_icps returns hasICPs:false (the company has none yet) or to add another target customer profile. To CHANGE an existing ICP, use update_icp instead.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- delete_icp - Delete a saved Ideal Customer Profile (ICP). Mirrors the Customer Hunter UI's delete: deactivates any reviewer agent built from this ICP, strips it from every content pipeline that targets it, then ARCHIVES (does not permanently remove) the ICP file. Use when the user says "delete this ICP", "remove this customer profile", or "get rid of this persona".

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- capture_idea - Capture an idea into the user's Ideas. Use when user shares an idea they want to save for later.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- list_inbox - List pending ideas in the user's Ideas. Shows ideas that haven't been triaged yet. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- list_workspace_ideas - List ideas that have been assigned to this workspace. Shows triaged ideas for the current company. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- triage_idea - Assign an idea to one or more workspaces. Can identify by content snippet, ID, or "newest"/"latest".

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- delete_idea - Delete an idea from Ideas. Can identify by content snippet, ID, or "newest"/"latest".

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- check_my_inbox - Check your own agent email inbox (receive-only) for messages sent to your @agents.getfreedomos.com address, and read them. Returns recent unread messages: sender, subject, a safe text snippet, any OTP codes, and login links that are safe to open — reads only YOUR mailbox. Use when a login, sign-in, or verification flow tells you it emailed a one-time code or magic link to your agent address and you need to retrieve it.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- list_pipelines - List all content pipelines (changelogs, team updates, reports, customer newsletters, social posts). Use when user asks about their content automation, "what content am I publishing?", "show my pipelines", or "what outputs are configured". Output types: changelog (public product updates), team_update (internal team email via Freedom OS), report (email to specific recipients), customer_newsletter (external customers - requires user Email MCP like Mailchimp), social_post (x/linkedin/instagram/facebook/threads via the gated publish owner). Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_pending_approvals - Get CONTENT PIPELINE outputs waiting for approval/publish (changelogs, newsletters, social drafts). IDs are pipeline_outputs UUIDs — use approve_pipeline_item / publish_pipeline_item / request_content_revision. NOT Command Center decision cards — those use get_command_center_items + get_command_center_item + decide_command_center_item. Use when user asks "what content needs my review?", "ready to publish?", or "approval queue" for content. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- create_pipeline - Create a new content pipeline to automate content creation. Use when user says "set up a changelog", "create a newsletter pipeline", "send team updates", "automate my X posts", or describes input→output automation. Output types: changelog (public product updates), team_update (internal team email via Freedom OS), report (email to specific recipients), customer_newsletter (external customers - requires user Email MCP like Mailchimp), social_post (x/linkedin/instagram/facebook/threads via the gated publish owner).

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_pipeline - Update an existing content pipeline. Use when user says "rename my pipeline", "change the pipeline name", "update pipeline settings", or wants to modify pipeline configuration. Can update name, persona, ICPs, output type, or destination.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- archive_pipeline - Archive (or restore) a content pipeline — flips is_active off/on, mirroring the Content Pipeline UI's soft-delete/restore. No data is deleted or cascaded. Use when the user says "archive this pipeline", "pause my newsletter automation", "turn off this pipeline", or "bring back my archived pipeline" (pass restore:true).

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- submit_content_to_pipeline - Submit manual content to a pipeline for transformation. Use when user says "add this to my changelog", "create a newsletter from this", "transform this content", or provides content to be processed. Content will be transformed using the pipeline's persona and ICPs. Social pipelines publish to the pipeline's declared destination (x/linkedin/instagram/facebook/threads — set via update_pipeline; undeclared defaults to x) after human approval; instagram items REQUIRE media_artifact_ids.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- approve_pipeline_item - Approve a content item for publishing — or REJECT it with approved:false. Use when user says "approve it", "looks good", "publish that" (approve), or "reject it", "drop that duplicate", "don't publish" (approved:false).

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- request_content_revision - Request changes to a content item. Use when user says "revise this", "change the tone", "make it shorter", or provides feedback on pending content. The content will be re-transformed with their feedback.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- publish_pipeline_item - Publish approved INTERNAL content to configured output. ROUTING: team_update sends to all team members via Freedom OS, report sends to specified team member emails, customer_newsletter requires user Email MCP connection (Mailchimp, Resend, etc.), changelog publishes to public changelog page. ⚠️ SOCIAL POSTS (x/linkedin/instagram/facebook/threads) never send from this tool: declare the pipeline destination via update_pipeline and submit via submit_content_to_pipeline — the post queues for operator approval and publishes through the single gated owner on approve (in FreedomOS app chat, send_to_user with intent "publish" queues the same approval). Use when an approved non-social item — changelog, team update, report, or newsletter — is ready to send.

[outbound-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- list_pipeline_learnings - Show the style guide and recent revision history for a content pipeline. Use when user asks "what are the learnings for my newsletter?", "show me the style guide", "what feedback have I given?", or "what does it know about my preferences?". Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_pipeline_style_guide - Manually add a style rule to a pipeline. Use when user says "always use bullet points", "never include hashtags", "keep it under 100 words", "use more casual tone", or gives general content preferences.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- clear_pipeline_learnings - Reset all learnings for a pipeline and start fresh. Use when user says "forget what you learned", "start fresh with the style", "reset the learnings", or "clear the feedback history".

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- add_commitment - Track a personal commitment, deadline, birthday, appointment, or obligation. ALWAYS use this (not save_knowledge) when the user mentions: birthdays, due dates, deadlines, tax filings, events to plan, gifts to send, things they need to do by a certain date, or anything they want reminded about. Works across all life domains (work, personal, family, home). For supporting context (e.g. gift ideas, who the person is), pair this with save_knowledge scope="personal".

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- list_commitments - List the user's active commitments. Shows what's on their plate across all life domains, sorted by due date. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- complete_commitment - Mark a commitment as completed. Use when the user says they finished something or a deadline has passed.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_commitment - Update fields of an existing commitment — title, domain, due date, consequence, or description. Use when the user says "change the due date on...", "rename that commitment to...", "move X to next week", or otherwise edits something already tracked (not marking it done — use complete_commitment for that).

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- cancel_commitment - Cancel a commitment without completing it — marks it cancelled. Use when the user says "cancel that", "never mind, drop it", or "that's not happening anymore" for something already tracked. For finished work, use complete_commitment instead.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_executive_landscape - Get a cross-domain view of everything on the user's plate. Shows commitments from all life domains + promoted tactics from all workspaces, grouped by urgency. Use when the user asks "what should I focus on?", "what's on my plate?", "am I dropping anything?", or similar portfolio-level questions. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- share_commitment - Share a commitment with your spouse or partner so they can see it too. Use when the user says "share this with my wife/husband" or "let [name] see this".

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- unshare_commitment - Stop sharing a commitment with someone. Removes their access.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- send_slack_message - Send a message to a Slack channel or direct message to a team member. Use when user asks to "message X on Slack", "send a Slack message", "DM someone on Slack", "post to #channel", etc.

[outbound-tier — EVERY call needs a manager's approval (per-send human rail): each request queues its own approval card and sends exactly once on approve. There is no standing grant for this tool.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_brand_guidelines - Get the company's brand guidelines — name, tagline, colors (hex codes), typography, personality/tone, naming rules, and VISUAL + POSITIONING dos/donts. Call this first, and use it, before generating any image, banner, video, or visual asset (inject the exact brand colors + style), and for naming/positioning in copy. For HOW to WRITE (voice, cadence, word choice) use get_voice_profile — this brand guide governs how the brand LOOKS and what it stands for, not writing style. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_brand_guidelines - Update specific fields of the company's brand guidelines (visual identity, naming, positioning). Only modifies the fields you specify - all other data is preserved. Use when the user asks to change colors, tagline, typography, personality/tone, naming rules, or visual dos/donts. For changing how the brand WRITES (voice/cadence), use update_voice_profile instead.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- resolve_brand_guide - Draft a first brand guide (personality tone, visual/positioning dos and donts) EXTRACTED from the company's own canon documents, with a verified receipt (quote + source doc) on every proposed item. Proposes only — never saves anything; the user reviews the receipts and accepts, then the accepted items are applied via update_brand_guidelines. Use when the user accepts an offer to build their brand guide from existing material, or explicitly asks to assemble a brand guide from what is already on file. For a company with no material on file, this returns nothing — ask instead.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_voice_profile - Get the company's VOICE PROFILE — the operator's real writing voice the drafting agents ground on (style descriptor, in-voice DOs, out-of-voice AVOIDs, real exemplars, target reading level). Use this before drafting any post, caption, email, or article, for any agent writing on this company's behalf, so the first draft is in-voice — do not rely on brand tone adjectives alone. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_voice_profile - Update the company's voice profile. Only modifies the fields you specify; all other data is preserved. Use when the operator wants to tune their voice — add/refine an in-voice DO or an out-of-voice AVOID, adjust the style descriptor, set a target reading level, or set whose voice it is.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- ingest_voice_corpus - Build or refresh the company's voice profile from REAL writing. Use this when the operator wants agents to learn their voice from their actual work — pass a URL to their blog / newsletter / posts (or an admired creator's page), or paste sample text. The system fetches it safely, distills the STYLE (cadence, word choice, argument-building — never faith substance), and merges it into the voice profile all drafting agents ground on. For any operator/brand setting up or improving how their content sounds.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_reader_profile - Get a person's OPERATOR FLUENCY (reader profile) — overall character level + per-topic strengths (novice/fluent/expert). Follows them across companies. Use before writing cards/FYIs so speech matches their level. Defaults to the caller; pass member_id for another person. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_reader_profile - Update a person's OPERATOR FLUENCY (baseline + per-topic strengths that follow them across companies). Use when the operator (or an admin) sets or corrects how agents should speak to them, or when seeding an empty profile with seed_if_empty for a first guess. Human door for edits; agents may seed empty self only.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_reader_expertise_interview - Get a fluency INTERVIEW kit (domain candidates + "which is clearest?" protocol) so a host CoS can gauge how FO should talk to this operator. Use when onboarding, partner MCP connect, or speech feels too dumbed-down or too jargony. After human yes, call update_reader_profile — fluency follows them across companies. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- derive_from_website - SPIKE tool (.agent/design-docs/2026-07-09-magical-onboarding-buildout-mode.md, "The Assignment"). Give it a business's public URL; it reads the page and returns a derived ICP, a derived brand voice, and 3 ready-to-post drafts written in that voice — the onboarding lead magnet's engine, spike-grade. Nothing is persisted to any company. Use when your operator asks you to run the website-derivation spike against a real business URL, to show the operator what an agent team can already see about their business.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- browse_url - Browse a web page in a real browser and take a screenshot. Returns page content and a screenshot image. Use when you need to SEE what a page looks like (visual audit, brand check), interact with JavaScript-heavy pages, or capture visual evidence. The screenshot is returned as an image you can analyze directly with your vision.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- save_artifact - Save an artifact (screenshot, analysis, report) to the company archive. Use after browse_url to persist visual evidence, or to save any agent-produced artifact for future reference.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_artifacts - Get saved artifacts for the company. Use to review past screenshots, analyses, and reports. Filters by artifact type, source URL, or agent. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- create_master_plan - Initialize a new multi-step project with a persistent Master Plan artifact. Call this BEFORE starting any complex, multi-tool task.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- create_google_doc - Create a new Google Doc in the user's Freedom OS folder. Use for JDs, deliverables, and shared documents. By default, creates beautifully formatted docs.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- read_google_doc - Read content from an existing Google Doc by its ID. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_google_doc - Append new content to an existing Google Doc.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- list_google_drive_files - List files in the user's Google Drive. Can filter by type (spreadsheet, document) and search by name. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- create_spreadsheet - Create a new Google Spreadsheet with optional headers.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- read_sheet - Read data from a Google Spreadsheet. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- append_to_sheet - Append rows to a Google Spreadsheet.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_sheet - Update specific cells in a Google Spreadsheet.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- batch_update_spreadsheet - Perform batch operations on a Google Spreadsheet (formatting, merging, etc.).

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- audit_brand_visibility - Audit whether Freedom OS appears in AI-generated search results. Sends a search query to external LLMs (Claude, Grok, Gemini, Perplexity) and checks each response for brand mentions. This is a competitive SEO/GEO auditing tool — like a mystery shopper for AI search engines. It does NOT answer questions or delegate work. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- posthog_query_trends - Query event trends from PostHog (pageviews, signups, DAU, etc. over time). Returns time-series data. Only works if PostHog is connected. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- posthog_query_funnel - Build and run a funnel analysis in PostHog. Shows step-by-step conversion rates (e.g., signup → onboard → purchase). Only works if PostHog is connected. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- posthog_list_insights - List existing saved insights in PostHog. Shows names, types, and links. Only works if PostHog is connected. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- posthog_hogql - Run an arbitrary HogQL (SQL) query against PostHog data. Use for custom analysis not covered by other tools. Only works if PostHog is connected. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- posthog_list_events - List all event types tracked in PostHog, ordered by usage. Call this FIRST before building funnels or trends — it shows the actual event names in the user's PostHog. Only works if PostHog is connected. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_credit_usage - Check credit balance, usage history, and cost breakdown. Shows remaining credits, usage by model/endpoint, and top cost drivers. Useful for cost optimization, budget monitoring, and reviewing whether activities are cost-effective. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- challenge_as_customer - Run your deliverable past the company's customer truth: REAL Customer Evidence first (when stored), then generated ICP as labeled simulation. Returns honest feedback — what would make them engage, scroll past, or what's missing. Use on customer-impact deliverables before sending. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- deliberate - Run an adversarial deliberation on a decision. Multiple AI perspectives argue opposing positions over multiple rounds, iteratively strengthening arguments, and converge on a recommendation with confidence scoring. Use for important decisions where you want to stress-test options from multiple angles. Over MCP the deliberation runs in the background: the first call returns a run_id immediately; call deliberate again with { run_id } (plus the same companyId) after ~1-2 minutes to fetch the result.

Routing: Important decision → deliberate for adversarial analysis Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_decision_ledger - THE tool for what the Freedom Engine has DECIDED for this company — the audit feed of every autonomous decision: what it auto-ran, what it teed up for your approval, and what it refused (e.g. faith/values content), each with the reason, the profit at play, the founder-attention cost, and how fresh the inputs were. Use for "what did the engine do today", "what did it auto-run", "why did it hold that tactic", "show me the decision ledger / cockpit". This is the only tool with the engine's decision history — get_command_center_items shows open cards to act on, not the decision audit trail. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- search_conversations - Search past conversations with the user. Use when the user says "remember when we talked about...", "haven't we discussed X before?", "what did we decide about...", or references any prior conversation. Returns matching conversations with relevant message snippets. Does NOT return the current conversation. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- manage_responsibilities - Assign, delegate, or revoke responsibility domains for team members. This controls routing — which user receives agent output for specific domains like marketing, finance, etc.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_routing_overview - See how agent output is currently routed — who is responsible for which domains in the company. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- generate_video - Generate a video clip using AI (xAI Imagine, 3 credits). Supports text-to-video, image-to-video, MULTI-IMAGE video (up to 7 images combined), and video editing with native audio (voiceover, sound effects, music). Best for quick drafts, social clips, iterations, and audio-first content. For cinematic final deliverables, use generate_video_veo instead.

[sensitive-tier, initiates a multi-step agent process — 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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- generate_video_veo - Generate a high-fidelity cinematic video using Google Veo 3.1 (5 credits). Premium quality with realistic physics and cinematic lighting. Use ONLY for final deliverables — landing page videos, polished ad creatives, brand content. NEVER use for first drafts. Always iterate with generate_video first, then upgrade to Veo for the final version.

[sensitive-tier, initiates a multi-step agent process — 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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_x_post_metrics - Get engagement metrics for a tweet on X (Twitter). Returns impressions, likes, retweets, replies, quotes, and bookmarks. Use when the user asks "how did my post do?", "check my tweet analytics", or to evaluate content performance. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- list_ad_accounts - List the Meta (Facebook/Instagram) ad accounts on this company's connection, with status, currency, lifetime spend, and spend cap. Use first when the user asks about their FB/IG ads — the returned id feeds list_ad_campaigns and get_ads_performance.

Routing: Meta/FB/IG ads questions → start here to find the ad account Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- list_ad_campaigns - List campaigns in a Meta ad account: status, objective, budgets (major currency units), and schedule. Use when the user asks what ads/campaigns are running on Facebook or Instagram. Omit ad_account_id when the connection has exactly one ad account. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_ads_performance - Get Meta ads results: spend, impressions, clicks, CTR, CPC, CPM, reach, conversions (actions), cost per action, and purchase ROAS — at account, campaign, adset, or ad level over a chosen window. Use when the user asks how their Facebook/Instagram ads are doing, what they spent, or what it returned. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- search_ad_targeting - Search Meta's ad-interest targeting catalog (returns interest ids + audience sizes). Use when designing a Meta ad draft and you need valid {id, name} targeting pairs for create_meta_ad_draft — e.g. search "pharmacy" or "compounding". Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- create_meta_ad_draft - Create a complete Meta (Facebook/Instagram) ad draft — campaign + ad set + creative + ad — ALL in PAUSED state, spending nothing. Use when the user wants to set up or draft an ad. Activation is a separate human-approved step (set_meta_ad_status).

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- preview_meta_ad - Get a facebook.com preview link for a drafted Meta ad, so the user can see exactly what it will look like before deciding to activate. Use after create_meta_ad_draft or when the user asks to see a drafted ad. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- set_meta_ad_status - Activate or pause a Meta campaign, ad set, or ad. ACTIVATION STARTS REAL AD SPEND and always requires the human (live chat or an approved card) — agents cannot activate. Pausing stops spend. Use after the user has reviewed a draft and explicitly says to launch, or asks to stop a running ad.

[outbound-tier — EVERY call needs a manager's approval (per-send human rail): each request queues its own approval card and sends exactly once on approve. There is no standing grant for this tool.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_meta_ad_budget - Change the daily budget of a Meta ad set (account currency, major units; structural cap applies). Moves real money, so it always requires the human — agents cannot change budgets. Use when the user explicitly asks to raise or lower spend on a campaign.

[outbound-tier — EVERY call needs a manager's approval (per-send human rail): each request queues its own approval card and sends exactly once on approve. There is no standing grant for this tool.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_site_list - List all verified sites/properties in Google Search Console. Use this first to discover which sites are available before querying search performance. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_search_performance - Get search performance data from Google Search Console — queries, clicks, impressions, CTR, and average position. Use when the user asks about SEO performance, keyword rankings, organic traffic, or search visibility. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_page_performance - Get per-page search performance from Google Search Console — which pages get the most clicks, impressions, and best positions. Use when analyzing content performance or identifying top-performing pages. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- inspect_url - Inspect a URL in Google Search Console — check indexing status, crawl errors, mobile usability, and rich results. Use for technical SEO audits, diagnosing why pages aren't appearing in search, or checking mobile-friendliness. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_sitemaps - List all sitemaps submitted to Google Search Console for a property — shows submission status, indexing coverage, errors, and warnings. Use for technical SEO audits and crawl coverage analysis. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_xero_report - Get a LIVE financial report straight from the company's connected Xero ledger: ProfitAndLoss, BalanceSheet, BankSummary, TrialBalance, or ExecutiveSummary. Source of truth for current numbers — prefer this over get_financial_summary (which reads the periodically-processed snapshot) when the user asks about current/live financial position.

Routing: LIVE ledger (Xero): balance sheet / P&L / bank summary straight from the books → use over get_financial_summary for current numbers Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- list_xero_bank_transactions - List LIVE bank transactions from the company's connected Xero ledger (paged, 100 per page, newest first). Use for "current bank activity", reconciliation questions, or verifying a specific payment hit the bank.

Routing: LIVE bank transactions from Xero (newest first) → use for current bank activity questions Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- list_xero_contacts - List contacts (customers/suppliers) from the company's connected Xero ledger, optionally filtered by a search term (paged, 100 per page). Use when the user or an activity needs who the company invoices or pays — customer/supplier lookups, receivables context, or verifying a counterparty exists in the books. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- run_quality_check - Evaluate content or media against your ICP persona using Gemini 3.1 Pro vision. Actually SEES images and WATCHES videos. Returns quality scores (1-10) across 6 dimensions + specific ICP feedback. Use after generating media or drafting content to validate quality before delivering to the user.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- configure_dashboard - Create or update a widget on your agent dashboard. Use this to display key metrics, charts, tables, or timelines that help the user understand your work at a glance. Each call creates or updates one widget.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- list_dashboard_widgets - List all dashboard widgets for a specific agent. Use to see what widgets are currently configured before making changes. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- remove_dashboard_widget - Remove a widget from an agent dashboard.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- generate_vector_image - Generate a native SVG vector image using Recraft V4 Pro Vector. The ONLY tool that outputs true SVG with editable paths. Best for logos, icons, brand marks, vector illustrations, and scalable graphics for Framer animations.

Routing: SVG/vector/logo/icon/brand mark/scalable graphics → use this (3 credits)

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- vectorize_image - Convert an existing raster image (PNG, JPG, WebP) to SVG vector format using Recraft. Preserves details and creates clean vector paths.

Routing: "vectorize this", "convert to SVG", "make scalable" → use this (1 credit)

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- remove_background - Remove the background from an existing image, leaving the main subject isolated on a transparent background (PNG).

Routing: "isolate the subject", "make background transparent", "remove background" → use this (1 credit)

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- save_knowledge - Save a Markdown knowledge file. Use for guidelines, SOPs, strategies, playbooks, meeting notes, contact lists, trackers, or any reference material that agents read and update over time. Pass scope="personal" to save private notes visible only to the current user (e.g., notes tied to their commitments).

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- read_knowledge - Read a Markdown knowledge file by slug. Slugs are folder-qualified with NO file extension (e.g. "canon/tim-voice-guide", "content-captures/2026-07-06-forgiveness-and-the-debt") — never repo-style paths, never ".md". Returns the full content plus a list of available sections. Use this to load guidelines, SOPs, or strategies before doing work that needs to reference them. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_knowledge_section - Update a specific section of a knowledge file by its ## header. If the section exists, its content is replaced. If it doesn't exist, it's appended as a new section. Use this for surgical edits to guidelines or strategies without rewriting the entire file.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- list_knowledge - List all knowledge files and folders saved for this company. Returns file names, slugs, sizes, and folder structure. Use this to discover what knowledge is available before reading or updating. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- delete_knowledge - Archive a knowledge file by slug (soft delete). The file is moved to _archived/ and can be restored later. Use when the user explicitly asks to remove a knowledge document.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- share_knowledge - Share a knowledge file or folder with a specific user. Creates a per-user access grant. The shared user's agent will also be able to read the files. Front matter is auto-updated with audience metadata so agents know the content is restricted.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- unshare_knowledge - Revoke a user's access to a shared knowledge file or folder.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- create_folder - Create a folder in the knowledge base for organizing files. Folders can be nested (e.g., "partners/acme"). Use for deal rooms, topic grouping, or any organizational structure.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- list_shared_with_me - List all knowledge files and folders that have been shared with the current user. Shows who shared them, from which company, and the permission level. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- query_sme - Query an external Subject Matter Expert (SME) AI for verified domain knowledge. The SME's answers are grounded in verified rules and go through a rigorous verification pipeline — this is NOT a general search, it's consulting a domain expert.

Use this when:
- You need factual, verified information for content creation (social media, blog posts, newsletters)
- You want to fact-check a claim before publishing
- You need talking points grounded in domain expertise
- You're creating content about a domain the SME covers

Available SME sources:
- "conduit" — Pharmaceutical compounding compliance expert (USP 795/797/800, state regulations)

Routing: pharma / USP 795·797·800 / sterile·non-sterile compounding / BUD / board-of-pharmacy compliance fact you must get right → call query_sme (the verified Conduit SME) to fact-check it BEFORE escalating to a human or deriving the rule yourself; cite its sources Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- report_feedback - Report an error, issue, observation, or suggestion you encountered during your work. Use this proactively when you notice something noteworthy — tool failures, recurring problems, quality issues, or improvement ideas. This helps the founder track and act on agent insights over time.

Routing: For issues YOU observe doing tenant work (tool failures, quality patterns) — lands in the operator's own observability feed. If the operator is reporting that FreedomOS ITSELF (platform UI/MCP/runtime) is broken or missing a capability, route to submit_product_request instead — FO product inbox only. Do NOT use submit_product_request for the tenant's own app/product/KB/retrieval gaps.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- add_customer_evidence - Store one piece of REAL Customer Evidence for this company (paying-customer words/behavior, telemetry, review, operator-relayed quote, prospect signal, or agent-as-user). Evidence outranks generated ICP simulation. Use when the operator pastes a real customer quote, a call note, a review, or a provenanced usage signal — NOT for inventing personas (use Customer Hunter / create_icp for hypotheses).

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- list_customer_evidence - List ranked REAL Customer Evidence for this company (paying > telemetry > review > relayed > agent_as_user > prospect). Use before customer-facing work or when asked what real customers have said. Empty + company has ICPs = LOUD EMPTY (sim only — do not treat generated ICP as a customer). Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- submit_product_request - File a bug report or feature request about FreedomOS the platform (FO UI, MCP tools, Command Center, auth, connectors, FO agents runtime) with the FreedomOS product team. Creates a FO product-inbox Command Center card and returns a request_id you can poll with get_product_request_status. ONLY for FreedomOS itself broken, missing, or confusing. Do NOT use for: (1) tenant ops (hire agents, send email, OKRs, content); (2) YOUR OWN company product — app code, domain knowledge base, chatbot/SME retrieval, compliance corpus, state/regulatory overlays, or anything your team can ship without FO engineers. Own-product gaps stay on YOUR company Command Center (decision/report card, collaboration, knowledge pipeline, or escalate to your human as product work). Example misroute: Conduit agent filing PCAI state-overlay KB work here — wrong inbox; file on Conduit instead.

Routing: When the USER says something in FreedomOS itself is broken, missing, or confusing ("this button does nothing", "I wish it could…", "this is a bug", "can you debug this?" about FO product), this is the tool — FILE FIRST. Bias: submit_product_request(kind:"bug"|feature) before opening a live coding host or Send-to-Grok/Claude. REFUSE this tool for own-product / domain work: knowledge corpus, retrieval quality, compliance packs, chatbot answers for YOUR product (e.g. Compounding AI / PCAI), marketing claims about your app — keep those on the source company rail (Command Center card for your operator, suggest_collaboration, save_knowledge, Compliance Check), never FO product inbox. TRIAGE FIRST, briefly: if your own tools can resolve it right now (a reconnect, a setting, the wrong page), fix it and say so instead of filing — filing is never an exit from work you can finish yourself. Cap triage at one or two quick checks, never a debugging quest in chat. An explicit "file it" from the user always wins: file immediately, no pushback — and fold whatever you ruled out into the description. Pull title/repro from the conversation (never make them fill a form), TELL them you filed it, and that the factory/product team picks it up. Live-terminal / attention-directive / Send to Grok or Claude ONLY when the user explicitly asks to open a host session now (e.g. "send this to Grok", "debug with me live") — never as the default path for a product bug. For errors YOU hit doing tenant work (not FO product defects), use report_feedback instead.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_product_request_status - Check status of a product request you previously filed with submit_product_request for your operator. Returns pending | approved | denied | dismissed | completed so you can tell your human when FreedomOS product team decides. Use when you hold a request_id and need an update for the filer. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- open_product_request_draft_pr - Open a draft GitHub PR shell for an approved FreedomOS product request (work ticket branch, no auto-code). Use when product team accepted a low-stakes bug/feature and wants a tracking PR. Do NOT use for questions or high/critical items that need design first.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- attach_product_request_pr - Attach an existing freedom-ai GitHub PR URL to a product request and **resolve it by construction** (card → approved, product_status=fixed, history comment, filer resolution notify). Use when you (or a coding agent) opened a real PR for the fix — no separate human close step.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- claim_product_request_for_builder - Mint a paste-ready Builder claim recipe for a FreedomOS product request so a host coding agent (Grok Build / Claude Code) with Harness + gstack can implement the class fix. Pins the FreedomOS frontier coding model (TIER_ROLES.frontier). Does NOT run the coding agent or open a PR by itself — use after product team accepted the request. FreedomOS product-inbox members only.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- scan_product_signals - Scan a company for product-system bugs and unlocks (failed/timed-out activity runs, blocked_on_you cards, open error agent_feedback) and return ranked product-request candidates for the FreedomOS product team. Use when the product team is hunting class bugs/unlocks across a portfolio tenant (dry-run by default; set file_top_n to file up to 5 bug cards). Does NOT invent feature fantasy — bias is bugs/unlocks only. For FreedomOS product-inbox members only.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- create_attention_directive - Queue a short instruction for an external coding/builder session (Grok terminal, Claude Code, or future FreedomOS runtime). Does NOT type into their UI — the session must poll FreedomOS (poll-fo-directives.sh or list_attention_directives) and act. Use when the operator says "tell Grok…", "have Claude…", or CoS should route reversible work off the call. Pass the same target_session_id the host polls (e.g. grok-<id>, claude-<id>).

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- list_attention_directives - List pending attention directives for THIS operator (optionally filtered by target_session_id). Hosts (Grok/Claude) and CoS use this to see what is waiting. Does not ack — use ack_attention_directive after acting. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- ack_attention_directive - Mark a pending attention directive as acked after the host session has taken the instruction. Use when YOU are Grok/Claude/a host builder and you just executed (or deliberately skipped) a directive you polled — for the same operator who owns the queue. Idempotent on already-acked → not found.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- cancel_attention_directive - Cancel a pending attention directive (operator changed mind / wrong target). Use when the operator says drop/cancel that instruction to Grok or Claude, or CoS realizes the target_session_id was wrong — for THIS operator only. Does not reverse work the host already did.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- list_attention_sessions - List THIS operator's coding/builder sessions (status, goal, ask). Hygiene: drops stale hosts (no recent heartbeat) and blocked rows without a real ask. Use needs_me=true for "what needs me?" (blocked only). Use before create_attention_directive or when attending a blocked session. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- request_attention_spawn - Request a NEW local coding session from voice/chat (tab spawn). Queues a sticky for the desk launcher on THIS operator's machine (host must run attention-launcher). Use when they say "start a Grok/Claude on …", "new build for …", "open a session for …". Does not open a cloud IDE — the local launcher opens Terminal + announces + optional first directive.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- upsert_attention_session - Emit or update thin session telemetry for THIS operator (host coding agent self-announce). Use when YOU are Grok or Claude Code at session start / status change so voice CoS can list_attention_sessions and target you. Prefer tiny goals; never dump transcripts.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- append_cos_preference - Append one durable speech/taste preference for THIS operator only (re-injected on their next voice session mint). Use when they say something was hard to follow, how cards should sound, or "remember I prefer…". For this user_id only — does not edit the shared FreedomOS CoS template. Apply the note in the current call when you can.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- set_cos_preferences - Replace THIS operator's full CoS preference block (or clear with empty). Use when they want a full rewrite of saved preferences. Per user_id only — not a global product prompt edit.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_cos_preferences - Read THIS operator's saved CoS speech/taste preferences (user-scoped). Use when confirming what you will remember about how they like cards and talk. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- confirm_mcp_approval - Confirm a pending MCP capability approval by spoken (or chat) yes/no. Pass approval_id from the approval_required tool result. decision: approve | reject | later. Runs the SAME process-approval pipeline as tapping Approve on the card — does not bypass integrity rails. Use on voice when the operator says approve/yes or reject/no after a capability ask. Do NOT invent an approval_id.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- add_lead - Add a new lead to the Leads CRM (crm_leads) — the table the Leads tab, triage, and outreach all use. Idempotent on (company, email) when an email is given. Provide at least an email OR a name. The lead appears on the Leads tab and is auto-triaged.

Routing: CRM/sales → add a lead or prospect → use this

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- update_lead - Edit an existing lead in the Leads CRM (crm_leads): name, email, phone, location, do-not-contact flag/reason, lifecycle state (new/active/flagged/archived), or the synopsis fields (title, company_name, tags, notes). Identify the lead with lead_id or email_lookup. Moving state to 'flagged' or 'archived' REQUIRES state_reason. Archiving sets archived_at (safe-archive, reversible — move state off archived to restore it). If the lead's outreach is set to auto and you move it off 'active', outreach is demoted back to manual (auto-outreach is only valid while active). Use when the operator or an agent needs to fix or maintain lead data — wrong email, bad name, DNC request, or a lifecycle move — instead of telling the user to edit it in the UI.

Routing: CRM/sales → edit a lead's fields, status, or DNC flag → use this (NOT update_lead_status/log_activity — those are removed)

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- list_deals - List CRM deals for the current company. Filter by stage and limit. Returns deals with their associated contacts.

Routing: CRM/sales → see open pipeline → use this Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_lead_pipeline_snapshot - Aggregate counts of the Leads CRM (crm_leads) for the current company: active leads by temperature (warm/cold/…/unset) and lifecycle stage, plus do-not-contact and archived totals. THE source of truth for "how many leads do we have and how warm are they" — never estimate or zero-fill lead counts; call this instead. Read-only. Note: paying customers live in Stripe (get_subscription_stats), not here.

Routing: CRM/sales → lead counts or pipeline temperature snapshot → use this Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- segment_leads - Organize, select, or clear a lead segment on the Leads tab by its exact source tag (e.g. 'csv:apc-cch-2024'). Validates the tag against the company's live segment tags and returns the exact-token filter plus a server-computed lead count (excluding do-not-contact, archived, and test leads). Read-only: the Leads tab applies the action; this tool changes no data and CANNOT enroll anyone — enrollment only happens via the Enroll button on the Leads tab. Use when the operator wants to focus the Leads tab on one segment or event — group it, select all its leads for enrollment, or clear that selection.

Routing: CRM/sales → select or organize leads by segment/event tag → use this Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- list_segments - List the live lead segment tags for the current company with server-computed lead counts (excluding do-not-contact, archived, and test leads). Segments are the exact comma-separated tokens in crm_leads.source (CSV event imports, website, etc.). Read-only — returns tags and counts only, never lead names/emails. Use when the operator asks which lead segments or event tags exist, or before segment_leads to resolve a loosely-named segment to its exact tag.

Routing: CRM/sales → what lead segments/events exist → use this Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- send_email - Send an outbound email via the company's Resend connection. Resolves the per-company Resend API key + from identity, then sends to a single recipient. Honors the do_not_contact suppression list (crm_leads): if the recipient is marked do_not_contact, the send is refused. RECIPIENT RULE: when emailing a CRM LEAD, do NOT type their address yourself — draft with draft_lead_email/draft_outreach and deliver with send_lead_draft, which reads the lead's real email from the database. Only pass `to` directly for a non-lead recipient whose exact address the operator literally provided in this conversation. NEVER guess, infer, or fabricate an email address — a wrong guess sends a real email to a stranger. Use when the operator gives you an exact non-lead recipient address to email; for CRM leads use send_lead_draft instead.

Routing: Send an outbound email to an operator-given address → use this; for CRM leads use send_lead_draft (DB-derived recipient, respects do_not_contact)

[outbound-tier — EVERY call needs a manager's approval (per-send human rail): each request queues its own approval card and sends exactly once on approve. There is no standing grant for this tool.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- sync_stripe_conversions - Record won deals from the company's connected Stripe so lead→paid conversion becomes measurable. Reads paid Stripe customers (read-only), matches them to leads by email, and records a closed_won deal per paying customer (idempotent — re-running is safe, never double-counts). Only works if Stripe is connected. Use when conversion "isn't measured yet" or to refresh the conversion picture.

Routing: CRM/sales/revenue → measure conversion / record won deals from Stripe → use this

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- query_lead_journey - Reconstruct the full journey of a lead — what they did on the site, what they signaled, what we have already sent them. Returns structured data that downstream synthesis or drafting tools consume. Use this as the first step before synthesizing a hypothesis about why a lead behaved a certain way or drafting outreach to them. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- synthesize_lead_hypothesis - Given a lead journey (from query_lead_journey), produce a structured hypothesis: intent score, conversion-failure mode, suggested outreach angle, and notes for drafting. Writes the synthesis back to leads.synopsis_jsonb so the Leads tab UI sees it. Use this after journey reconstruction, before draft_outreach.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- draft_outreach - Produce two outreach draft variants (A/B) for a lead given an angle. Both drafts are warm and kind by design (P10) — variants differ in angle of helpfulness (subject hook, opening framing, call-to-action) not in tone. Drafts are written to lead_drafts as pending_review. Returns IDs + previews. Use after synthesize_lead_hypothesis to draft initial outreach.

[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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- send_lead_draft - Send an approved outreach draft to its lead via the company's Resend connection, then mark the draft 'sent'. This is the manual human-in-the-loop send: it delivers exactly one lead_drafts row (by id) to the lead's email and records sent_at + resend_message_id. Honors the do_not_contact suppression list (the send is refused if the lead is suppressed). Use after an operator approves a draft in the Leads tab.

Routing: Operator approved an outreach draft and wants to send it → use this

[outbound-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_product_context - Returns THIS company's product truth — the operator-authored offer + the SHIPPED, marketable capabilities (what the product does, and what it cannot do). Call this before describing, marketing, pricing, positioning, or selling the product. Ground every product claim in what this returns; never invent capabilities or an offer. If it reports the product is not defined, escalate to the operator instead of guessing.

Routing: product / offer / what we sell / pricing / positioning / marketing or sales copy → call get_product_context FIRST; never fabricate capabilities or an offer Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_grain_policy - Read the content-grain (wisdom-layer) publish policy for the current company. For each content grain it returns whether an agent may publish that grain autonomously (gate_mode 'autonomous') or must route to a human (gate_mode 'human_pre_gate'), plus curate_only and source_corpus_ref. Use this to understand which content you may publish on your own vs. send for human pre-approval. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- set_grain_policy - Create or update the wisdom-layer publish policy for ONE content grain in the current company. gate_mode 'human_pre_gate' reserves the grain for human approval; 'autonomous' lets an agent publish it directly. A brand-new grain defaults to human_pre_gate (fail-safe). Because this governs an agent's own publishing autonomy, the change routes to operator approval — it does not take effect silently.

[sensitive-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.] Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
- get_check_telemetry - Read recent quality-check telemetry for the current company. Returns per-(run,check) verdicts (pass/fail/flag/hold/error/skipped) across the brand/legal/ethics/security gates, the Pledge stamp, the ICP consult, and the craft gate — so you can see which checks fire findings, which HOLD content (false-hold rate), and which run clean. Use it to answer 'which gate holds the most for this company' or 'has the security gate ever fired on these posts'. Free-text preview fields are tagged as data. Endpoint: https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp

## Resources
Not captured

## Prompts
Not captured

## Metadata
- Owner: com.getfreedomos
- Version: 1.0.0
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jul 19, 2026
- Source: https://registry.modelcontextprotocol.io
