Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

com.getfreedomos/freedom-mcp

REMOTE · TWULUXMOOGNLWTMAOQGO.SUPABASE.CO · SCANNED AUG 4

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

+10 this week 67 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security89
Transport & Reachability100
Schema Quality & AI Usability29
  • AI-judged instruction clarity (poor).Fail
  • Context-footprint check failed: tool/resource definitions use about 47688 tokens (~200/item across 238 items; 238 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management30
  • Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 99% of tool parameters carry a description.Partial
Capabilities20
  • Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · twuluxmoognlwtmaoqgo.supabase.co

# add to Claude Code
claude mcp add --transport http com-getfreedomos-freedom-mcp https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
# ~/.codex/config.toml
[mcp_servers.com-getfreedomos-freedom-mcp]
url = "https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-getfreedomos-freedom-mcp": {
      "type": "remote",
      "url": "https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-getfreedomos-freedom-mcp --url https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  com-getfreedomos-freedom-mcp:
    url: "https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp"
// mcp.json
{
  "mcpServers": {
    "com-getfreedomos-freedom-mcp": {
      "type": "http",
      "url": "https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

  • 2 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Aug 26 +1
    • Tool “run_tactic” rewrote its description, which is the text the model reads security
    • New tool “create_play_from_activity” functional
    • “run_tactic” added an optional parameter “suggest_only” cosmetic
    • “run_tactic” reworded the description of “tactic_title” cosmetic
    • “run_tactic” reworded the description of “tactic_id” cosmetic
  • 31 Jul 26 +17
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 −10
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 0
    • Tool “submit_product_request” rewrote its description, which is the text the model reads security
    • Tool “report_feedback” rewrote its description, which is the text the model reads security
    • “submit_product_request” reworded the description of “kind” cosmetic
    • “hire_agent_with_context” reworded the description of “first_72_hours” cosmetic
    • “hire_agent_with_context” reworded the description of “obsession” cosmetic
  • 28 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Aug 2026 · Probed https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=supabase.co CN=WE1,O=Google Trust Services,C=US 28 Jun 2026 26 Sept 2026 ECDSA 256 ECDSA-SHA256 1d2d53f65d874dfb0eead7aab0301afd
SANs: supabase.co, *.supabase.co
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b
DNSSEC insecure

Validation of twuluxmoognlwtmaoqgo.supabase.co. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
co. present 7786 8 Verified
supabase.co. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Challenged, unverified

The endpoint asked for a token, but we could not retrieve and validate the RFC 9728 metadata that tells a client how to obtain one.

Result Challenged, unverified
Enforced On tool calls
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains; preload

Protected resource metadata

Retrieved No
Problem no_resource_metadata
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp Verified 200
http (plaintext) http://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp HTTPS enforced 301 https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
MCP tools — 238 exposed · ~47,257 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
submit_product_request ~782

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 fr…

NameTypeReqDescription
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
descriptionstringyesWhat happened / what you need. Include repro steps, expected vs actual, company name, agent name if relevant.
kindstringyesbug = FO broken; feature = FO missing capability; question = how-to for the FreedomOS team. Not for your own app/product backlog.
repro_stepsstringOptional numbered repro steps.
severitystringDefault medium. critical = data loss / security / blocked onboarding.
source_agent_namestringOptional: which of the operator's agents hit this (e.g. "Linnet", "Morgan").
suggested_fixstringOptional: what a good fix would look like (agent hypothesis — product team decides).
titlestringyesOne-line summary. Specific: "Connect CTA dumps to Smart Tools instead of OAuth" not "bug".

No output schema declared.

No examples provided.

suggest_collaboration ~173

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.

NameTypeReqDescription
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
from_agent_namestringyesName of the agent suggesting the collaboration (e.g., "Maya", "Evan")
prioritystringHow urgent is this collaboration request
task_descriptionstringyesWhat needs to be done — specific and actionable
to_agent_namestringyesName of the target agent, or a role description if the agent doesn't exist yet

No output schema declared.

No examples provided.

suggest_next_hire ~87

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".

NameTypeReqDescription
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.

No output schema declared.

No examples provided.

sync_stripe_conversions ~172

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.]

NameTypeReqDescription
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.

No output schema declared.

No examples provided.

synthesize_lead_hypothesis ~233

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.]

NameTypeReqDescription
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
company_contextstringOptional short summary of the company the lead arrived at (e.g., 'Acme Health — pharmacy compounding compliance consulting for US pharmacies'). Helps the model evaluate fit.
journey_jsonstringyesJSON-encoded journey object returned by query_lead_journey. Caller should JSON.stringify the journey output before passing.
lead_idstringyesUUID of the lead. Used to persist synthesis back to leads.synopsis_jsonb.

No output schema declared.

No examples provided.

toggle_agent_schedule ~187

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.]

NameTypeReqDescription
actionstringyespause or resume
activity_namestringOptional: pause/resume only this one activity (exact name, case-insensitive). Omit to affect the agent's whole activity plan.
agent_namestringyesName of the agent whose schedule to toggle
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.

No output schema declared.

No examples provided.

triage_idea ~164

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.]

NameTypeReqDescription
companyIdstringFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
idea_identifierstringyesHow to find the idea: UUID, content snippet, or "newest"/"latest" for most recent
workspace_idstringSingle workspace/company ID (use workspace_ids for multiple)
workspace_idsarrayArray of workspace/company IDs to assign the idea to

No output schema declared.

No examples provided.

trigger_agent_activity ~217

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.]

NameTypeReqDescription
activity_namestringyesName of the activity to run (e.g. "weekly_content_report")
agent_namestringyesName of the agent to trigger (e.g. "Aiko")
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
reasonstringOptional. A specific instruction for THIS run only — e.g. "only reconcile the X reply queue, skip everything else". When given, it becomes this run's goal and takes priority over the activity's stand…

No output schema declared.

No examples provided.

unshare_commitment ~136

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.]

NameTypeReqDescription
commitment_idstringThe UUID of the commitment to unshare
companyIdstringFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
title_searchstringSearch by title if ID not known (fuzzy match)
unshare_emailstringyesEmail address of the person to remove sharing for

No output schema declared.

No examples provided.

unshare_knowledge ~124

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.]

NameTypeReqDescription
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
pathstringyesThe file or folder path to unshare. Must match exactly what was originally shared.
user_emailstringyesEmail of the user to revoke access from.

No output schema declared.

No examples provided.

update_agent ~221

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.]

NameTypeReqDescription
agent_idstringyesUUID of the agent to update. Use get_team_roster to find IDs.
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
namestringNew display name — a single first name (e.g. "Garth"). Omit to leave the name unchanged.
rolestringNew role / job title (e.g. "Agent Deployment & Quality Reviewer"). Do NOT include the agent name. Omit to leave the role unchanged.

No output schema declared.

No examples provided.

update_agent_activity ~210

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.]

NameTypeReqDescription
activity_indexnumber0-based index into the activity plan. Alternative to activity_name.
activity_namestringExact (case-insensitive) name of the activity to edit. Provide this or activity_index.
agent_idstringUUID of the agent. Optional if agent_name is provided.
agent_namestringName of the agent. Provide this or agent_id.
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
patchobjectyesFields to change. Only the supplied fields are updated.

No output schema declared.

No examples provided.

update_agent_avatar ~369

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.]

NameTypeReqDescription
agent_idstringUUID of a single agent to (re)generate an avatar for.
agent_idsarrayUUIDs of multiple agents to regenerate in ONE batch call.
agent_namestringName of a single agent (used to look up the agent when agent_id is not provided). Must resolve to exactly one active agent.
agent_namesarrayNames of multiple agents to regenerate in ONE batch call. Each name must resolve to exactly one active agent (ambiguous names are returned in `failed`).
allbooleanSet true to regenerate avatars for EVERY active agent in the company. Takes precedence over the id/name params.
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
stylestringOptional style override (e.g., "pixel-art", "watercolor", "geometric"). Overrides company avatar_theme for this generation.

No output schema declared.

No examples provided.

update_agent_skill ~328

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.]

NameTypeReqDescription
activity_namestringActivity this skill backs (e.g., "Weekly Cash Review"). If provided, the skill will be linked to this activity via skill_id.
agent_idstringUUID of the agent to teach. Optional if agent_name is provided.
agent_namestringName of the agent (e.g., "Marcus"). Used to look up agent_id if not provided.
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
resourcesarrayURLs, doc names, templates, or other resources (e.g., ["company P&L template"])
skill_namestringyesShort name for the skill (e.g., "13-Week Cash Forecast")
stepsarrayyesOrdered steps of the process (e.g., ["Pull balances", "Calculate 13-week average", "Flag if runway < 3 months"])
tools_usedarrayTool names referenced in the process (e.g., ["get_cash_position", "create_google_sheet"])

No output schema declared.

No examples provided.

update_brand_guidelines ~164

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.]

NameTypeReqDescription
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
updatesobjectyesOnly the fields to update. Other fields are preserved automatically.

No output schema declared.

No examples provided.

update_commitment ~244

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.]

NameTypeReqDescription
commitment_idstringThe UUID of the commitment to update.
companyIdstringFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
consequencestringNew consequence — what happens if this slips.
descriptionstringNew additional details or notes.
domainstringNew life domain: personal, family, home, w2, or company:<name>.
due_datestringNew due date in YYYY-MM-DD format.
titlestringNew title.
title_searchstringSearch by title if ID not known (fuzzy match).

No output schema declared.

No examples provided.

update_company ~158

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.]

NameTypeReqDescription
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
elevator_pitchstringBrief company description (30 seconds)
logo_urlstringURL to company logo image
missionstringCompany mission statement
namestringCompany name
visionstringCompany vision statement
website_urlstringCompany website URL

No output schema declared.

No examples provided.

update_feature ~249

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.]

NameTypeReqDescription
categorystringCategory (e.g., "ai", "marketing", "finance", "automation")
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
demo_urlstringURL to a demo video (Screen Studio, Loom, etc.)
descriptionstringMarketing-ready description of the feature
feature_idstringyesThe feature_id slug (e.g., "ai-content-pipeline") or UUID.
limitsstringCurrent limitations
solvesarrayProblems/pain points this feature solves
titlestringDisplay title (e.g., "AI Content Pipeline")

No output schema declared.

No examples provided.

update_feature_status ~143

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.]

NameTypeReqDescription
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
feature_idstringyesThe feature_id slug (e.g., "ai-content-pipeline") or UUID
statusstringyesNew status for the feature

No output schema declared.

No examples provided.

update_finance_note ~158

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.]

NameTypeReqDescription
account_namestringyesAccount name to annotate (fuzzy matched)
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
fiscal_yearnumberFiscal year (default: current year)
notestringyesNote text to set on the account (empty string to clear)

No output schema declared.

No examples provided.

update_google_doc ~106

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.]

NameTypeReqDescription
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
contentstringyesContent to append to the document
doc_idstringyesGoogle Doc ID to update

No output schema declared.

No examples provided.

update_icp ~174

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.]

NameTypeReqDescription
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
icp_idstringyesThe unique ICP ID from get_icps response.
updatesobjectyesOnly the fields to update. Other fields are preserved automatically.

No output schema declared.

No examples provided.

update_key_result ~469

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.]

NameTypeReqDescription
assigned_tostringUser ID to assign this KR to. Use "me" or "current_user" to assign to the current user.
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
current_valuenumberCurrent progress value
due_datestringDue date (YYYY-MM-DD format)
key_result_idstringStable KR id (preferred). Parent objective is looked up from the KR row across active objectives — do not re-search by fuzzy objective title.
key_result_titlestringTitle of the key result to update (use this OR key_result_id) — matched against the CURRENT title, even when also renaming
measure_sourcestringBind current progress to a live data source (auto-updated daily by the OKR health sweep). One of: stripe_active_subscribers, stripe_mrr, crm_active_leads. Pass "none" to unbind and return the KR to m…
objective_idstringID of the parent objective (optional when key_result_id is set — id resolves the parent)
objective_titlestringTitle of the parent objective (optional when key_result_id is set — id resolves the parent)
start_datestringStart date (YYYY-MM-DD format)
target_valuenumberTarget value to achieve
titlestringNew display title for the key result (rename)

No output schema declared.

No examples provided.

update_knowledge_section ~224

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.]

NameTypeReqDescription
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
new_contentstringyesThe new Markdown content for this section (replaces everything between this ## and the next ##). Use proper Markdown: blank lines between paragraphs, - for list items, ### for sub-headers. Never use…
section_headerstringyesThe ## section header to find and replace (case-insensitive). If not found, appended as a new section.
slugstringyesThe slug of the knowledge file to update

No output schema declared.

No examples provided.

update_lead ~576

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.]

NameTypeReqDescription
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
company_namestringCompany they work for — folded into synopsis_jsonb.manual_entry.
do_not_contactbooleanSet true to flag the lead do-not-contact (excluded from outreach); false to clear it.
do_not_contact_reasonstringReason for do_not_contact, e.g. 'customer', 'churned', 'opted_out'.
emailstringNew email (normalized to lowercase/trim). Rejected if it already belongs to another lead in this company.
email_lookupstringThe lead's CURRENT email, used to find it. Provide this OR lead_id.
lead_idstringUUID of the lead to update. Provide this OR email_lookup.
locationstringNew location.
namestringNew full name.
notesstringNotes about the lead — folded into synopsis_jsonb.manual_entry.
phonestringNew phone number.
statestringNew lifecycle state. state_reason is REQUIRED when moving to 'flagged' or 'archived'.
state_reasonstringReason for the state change. Required when state is 'flagged' or 'archived'.
tagsarrayReplacement tag list — folded into synopsis_jsonb.manual_entry.
titlestringJob title — folded into synopsis_jsonb.manual_entry (other manual_entry keys are preserved).

No output schema declared.

No examples provided.

update_meta_ad_budget ~176

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.]

NameTypeReqDescription
ad_account_idstringOptional — for currency resolution when several accounts exist
adset_idstringyesNumeric ad set id
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
daily_budgetnumberyesNew daily budget, account currency major units

No output schema declared.

No examples provided.

update_my_profile ~515

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.]

NameTypeReqDescription
companyIdstringFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
custom_titlestringCustom display title
experience_summarystringBrief summary of professional experience
first_namestringUser's first name
founder_whystringFounder's motivation and purpose
future_self_notestringNote to future self
holdco_visionstringVision for holding company (executives)
last_namestringUser's last name
linkedin_urlstringLinkedIn profile URL
locationstringCity, State or Location
outbound_routes_to_mebooleanThe operator's OWN no-manual-outbound preference (S5). true = "I personally do outbound" → the founder-outbound tactic filter is OFF for me; false = "do NOT route founder manual outbound to me" → the…
phonestringPhone number
profile_image_urlstringURL to profile image
quiet_endstringQuiet window end, local wall-clock 24h "HH:MM" (e.g. "07:00"). May cross midnight (start after end).
quiet_hours_enabledbooleanTurn the do-not-disturb / quiet-hours window on or off. When on, agent push alerts are held during the window and delivered as one summary at wake.
quiet_startstringQuiet window start, local wall-clock 24h "HH:MM" (e.g. "22:00"). Set together with quiet_end and quiet_tz.
quiet_tzstringIANA timezone for the quiet window, e.g. "America/Los_Angeles". Use the user's own timezone.
titlestringJob title (e.g., CEO, CTO, Marketing Director)
zone_of_geniusstringWhat the user is uniquely great at

No output schema declared.

No examples provided.

update_objective ~226

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.]

NameTypeReqDescription
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
descriptionstringNew description for the objective
objective_idstringID of the objective to update (use this or objective_title)
objective_titlestringTitle of the objective to update (use this or objective_id)
titlestringNew title for the objective
yearnumberNew year for the objective (e.g., 2026)

No output schema declared.

No examples provided.

update_pipeline ~258

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.]

NameTypeReqDescription
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
destinationstringWhere to publish: freedom_os (auto-publish to platform), manual (copy/paste). Social platforms (x/linkedin/instagram/facebook/threads) publish via the gated owner after human approval — instagram ite…
icp_idsarrayNew list of ICP IDs to target
namestringNew name for the pipeline
outputstringNew output type
personastringNew persona ID to use for transformations
pipeline_idstringyesID of the pipeline to update (get from list_pipelines)

No output schema declared.

No examples provided.

update_pipeline_style_guide ~191

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.]

NameTypeReqDescription
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
output_formatstringyesWhich format this rule applies to: changelog, social_post, team_update, newsletter, report
pipeline_idstringyesPipeline ID (get from list_pipelines)
style_rulestringyesThe style rule to add (e.g., "Use bullet points for lists", "Keep under 150 words")

No output schema declared.

No examples provided.

update_projection ~301

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.]

NameTypeReqDescription
account_namestringyesAccount name to update (must match closely, e.g., "Software Revenue", "AWS Hosting"). Use get_projections to see exact names first.
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
fiscal_yearnumberFiscal year to update (default: current year)
forcebooleanWhen mode="set", skip the overwrite confirmation for non-zero values. Use only when user explicitly wants to replace existing values.
modestringHow to apply the value. "set" = replace existing value (default). "add" = add on top of existing value.
updatesarrayyesArray of month+value pairs

No output schema declared.

No examples provided.

update_reader_profile ~219

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.]

NameTypeReqDescription
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
default_levelstring
domainsobjectTopic → novice|fluent|expert (merged).
glossary_seenarray
member_idstringOptional target UUID. Defaults to you.
seed_if_emptybooleanIf true, agents may write only when the target has no profile yet (self only). Human doors may always write.

No output schema declared.

No examples provided.

update_sheet ~125

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.]

NameTypeReqDescription
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
rangestringyesA1 notation range to update (e.g., "Sheet1!A1:B5")
spreadsheet_idstringyesSpreadsheet ID
valuesarrayyesNew values for the range

No output schema declared.

No examples provided.

update_tactic ~324

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.]

NameTypeReqDescription
assigned_tostringUser ID or "me"/"current_user" to assign to
categorystringNew category
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
descriptionstringNew description
linked_kr_idstringKey-result id the tactic most advances (validated against the company OKRs; takes precedence over objective_id, and its parent objective is derived). Unresolvable → binding cleared to null. Omit to l…
objective_idstringOKR objective UUID to re-bind this tactic to (validated against this company); its most off-track key result is chosen. Unresolvable → binding cleared to null. Omit to leave the existing binding unto…
statusstringNew status
tactic_idstringID of the tactic to update (optional if using tactic_title)
tactic_titlestringTitle of the tactic to update (use this or tactic_id)
titlestringNew title

No output schema declared.

No examples provided.

update_transaction_note ~124

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.]

NameTypeReqDescription
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
notestringyesNote text to set on the transaction (empty string to clear)
transaction_idstringyesTransaction ID (from get_transactions output)

No output schema declared.

No examples provided.

update_voice_profile ~151

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.]

NameTypeReqDescription
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
updatesobjectyesOnly the fields to update. Others are preserved.

No output schema declared.

No examples provided.

upsert_attention_session ~271

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.]

NameTypeReqDescription
ask_for_operatorstringIf blocked: one sentence the operator must answer
companyIdstringFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
company_idstringOptional company id
cwdstringOptional working directory
goalstringOne-line goal
hoststringclaude-code | claude-desktop | grok | manual | slack | github | freedomos | other
prioritynumberOptional priority (higher = sooner)
projectstringOptional project name
session_idstringyesStable session id (same string used as target_session_id for directives).
statusstringrunning | blocked_on_operator | done | parked | unknown (blocked_on_tim accepted as alias)

No output schema declared.

No examples provided.

vectorize_image ~346

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.]

NameTypeReqDescription
artifact_idstringID of an existing artifact from the MEDIA IN THIS CONVERSATION block. The system will resolve a fresh signed URL automatically.
companyIdstringyesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
folderstringOptional Media gallery folder to file this into (freeform name, e.g. "q3-campaign" or "brand-assets"). Shown as a folder chip on the /media page. Reuse an existing folder name when the work belongs t…
folder_namestringSubfolder name for Drive save. Only used when save_to_drive is true.
image_urlstringURL of the raster image to vectorize. Use a signed URL from the MEDIA IN THIS CONVERSATION block or any accessible image URL.
isolate_subjectbooleanSmart Workflow: If true, the tool will automatically remove the background to isolate the subject BEFORE vectorizing. Defaults to true. Set to false ONLY if you want to vectorize the entire scene inc…
save_to_drivebooleanIf true, also save the vectorized SVG to Google Drive. Defaults to false.

No output schema declared.

No examples provided.