freedom-mcp
Server Details
Business-ops MCP for FreedomOS — finance, OKRs, customer scoring, AI agents, content. 250+ tools.
- Status
- Unhealthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
7 tool updates
- Added
claim_cloudflare_preview - Added
create_payment_link - Added
get_cloudflare_hosting_status - Added
get_receive_status - Changed
list_knowledge2 fields changed- changed
Input schema / properties / folder / descriptionPrevious value: -"Optional folder to list contents of (e.g., \"acme-deal\", \"partners\"). Omit to list the root level."New value: +"Optional folder to list contents of (e.g., \"canon\", \"partners\"). Omit to list the root level. Always-on docs live in canon/." - changed
Input schema / properties / search / descriptionPrevious value: -"Optional search term to filter files by name"New value: +"Optional name-only filter (filename/slug). Does not search file bodies — use read_knowledge by slug for content."
- Added
set_company_lifecycle - Added
start_company_receive
1 tool update
- Added
share_playbook
1 tool update
- Changed
update_projection1 field changed- changed
Input schema / properties / account_name / descriptionPrevious value: -"Account name to update (must match closely, e.g., \"Software Revenue\", \"AWS Hosting\"). Use get_projections to see exact names first."New value: +"Account name to update. Matches an existing line, or creates it on first write (CASH OUT unless the name is clearly revenue)."
1 tool update
- Changed
get_team_pulse1 field changed- changed
Input schema / properties / days / descriptionPrevious value: -"Lookback window in days (default: 7)"New value: +"Lookback window in days for activity_runs and approval_velocity only (default: 7). pending_cards is always the live queue."
2 tool updates
- Changed
create_key_result5 fields changed- changed
Input schema / properties / current_value / descriptionPrevious value: -"Current progress value (default: 0). Do not invent a live number for a quantity FO cannot measure (e.g. Amazon GMV). Bind measure_source, or leave 0."New value: +"THIS calendar month's actual (default: 0). Not YTD, not a future projection. For FCF use get_financial_summary displayed_net_cash_flow; for Amazon deposits use get_monthly_trends Amazon Sales. Do not invent Amazon GMV. Bind measure_source, or leave 0." - added
Input schema / properties / descriptionAdded value: +{ + "description": "What the number is (e.g. \"This month cash in minus cash out\"). Agents read this back on get_okrs — do not leave blank for cash KRs.", + "type": "string" +} - added
Input schema / properties / monthAdded value: +{ + "description": "YYYY-MM the current_value belongs to (default: this UTC month). Writes monthly_history. Pass 2026-06 to stamp June, not a Q4 pile.", + "type": "string" +} - changed
Input schema / properties / target_value / descriptionPrevious value: -"Target value to achieve"New value: +"Target value to achieve. 0 is a valid floor (breakeven / this month FCF ≥ $0). Omit only if you intend the default 100." - changed
Input schema / properties / title / descriptionPrevious value: -"Key result title (measurable outcome)"New value: +"Key result title (measurable outcome). Title, unit, and current must name the SAME quantity FO can see."
- Changed
update_key_result4 fields changed- changed
Input schema / properties / current_value / descriptionPrevious value: -"Current progress value"New value: +"THIS calendar month's actual unless month is set. Not YTD, not a future projection. FCF: get_financial_summary displayed_net_cash_flow. Amazon deposits: get_monthly_trends Amazon Sales." - added
Input schema / properties / descriptionAdded value: +{ + "description": "What the number is. Read back on get_okrs.", + "type": "string" +} - added
Input schema / properties / monthAdded value: +{ + "description": "YYYY-MM the current_value belongs to (default: this UTC month when current_value is set). Upserts monthly_history; live current becomes the latest month in history.", + "type": "string" +} - changed
Input schema / properties / target_value / descriptionPrevious value: -"Target value to achieve"New value: +"Target value to achieve. 0 is a valid monthly floor."
1 tool update
- Changed
create_key_result1 field changed- changed
Input schema / properties / current_value / descriptionPrevious value: -"Current progress value (default: 0)"New value: +"Current progress value (default: 0). Do not invent a live number for a quantity FO cannot measure (e.g. Amazon GMV). Bind measure_source, or leave 0."
2 tool updates
- Added
redraft_engine_playbooks - Added
redraft_playbook_contract
2 tool updates
- Changed
get_next_priority1 field changed- changed
Input schema / properties / focus_area / descriptionPrevious value: -"Optional: focus on a specific tactic category"New value: +"Optional: focus on a specific Playbook category"
- Changed
update_my_profile1 field changed- changed
Input schema / properties / outbound_routes_to_me / descriptionPrevious value: -"The 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 filter stays ON. Only the operator can set this for themselves; it is never set on behalf of another user."New value: +"The operator's OWN no-manual-outbound preference (S5). true = \"I personally do outbound\" → the founder-outbound Playbook filter is OFF for me; false = \"do NOT route founder manual outbound to me\" → the filter stays ON. Only the operator can set this for themselves; it is never set on behalf of another user."
2 tool updates
- Added
agree_playbook - Added
get_playbook
1 tool update
- Removed
generate_playbooks
1 tool update
- Removed
originate_content_ideas
3 tool updates
- Added
list_ideas - Removed
list_inbox - Removed
list_workspace_ideas
7 tool updates
- Changed
add_agent_activity3 fields changed- added
Input schema / properties / activity / properties / linked_kr_idAdded value: +{ + "description": "Required. The Key Result this loop moves. This work needs a goal. Pick the Key Result this loop moves.", + "type": "string" +} - changed
Input schema / properties / activity / requiredPrevious value: -[ - "name", - "frequency" -]New value: +[ + "name", + "frequency", + "linked_kr_id" +] - added
Input schema / properties / linked_kr_idAdded value: +{ + "description": "Required when activity is supplied flat. This work needs a goal. Pick the Key Result this loop moves.", + "type": "string" +}
- Removed
check_my_inbox - Changed
decide_command_center_item2 fields changed- added
Input schema / properties / hired_job_actionAdded value: +{ + "description": "Unclosed hired-job cards only: retry the first job once. Required with decision approved on that class. Dismiss is not legal. Accepted briefs are not graduation.", + "enum": [ + "retry" + ], + "type": "string" +} - changed
Input schema / properties / hold_until / descriptionPrevious value: -"Loop-health, once-play timeout, or quiet-alarm hold: future ISO date or YYYY-MM-DD that would prove the card wrong. Required with decision snoozed on those classes."New value: +"Loop-health, once-play timeout, hired-job, or quiet-alarm hold: future ISO date or YYYY-MM-DD that would prove the card wrong. Required with decision snoozed on those classes."
- Added
get_github_app_status - Changed
recalibrate_agent_jd1 field changed- changed
Input schema / properties / regenerate_activities / descriptionPrevious value: -"Also regenerate the activity plan (default: false — preserves evolved activities)"New value: +"Also regenerate the activity plan (default: false — preserves evolved activities). Regenerated activities must name a Key Result or they are not loops — create the KR first if none exists."
- Added
start_github_app_claim - Changed
update_agent_activity1 field changed- added
Input schema / properties / patch / properties / linked_kr_idAdded value: +{ + "description": "Rebind this loop to a Key Result. Pick the Key Result this loop moves. Clearing is not legal — unbind is retire.", + "type": "string" +}
29 tool updates
- Added
archive_playbook - Added
create_playbook - Removed
create_tactic - Added
create_x_ad_draft - Changed
decide_command_center_item2 fields changed- added
Input schema / properties / agent_outcome_actionAdded value: +{ + "description": "Playing-house / thrash / agent_outcome_flag alarms only: pause plant work. Required with decision approved on that class. Stretch and Dismiss are not legal.", + "enum": [ + "pause" + ], + "type": "string" +} - changed
Input schema / properties / hold_until / descriptionPrevious value: -"Loop-health or once-play timeout hold: future ISO date or YYYY-MM-DD that would prove the card wrong. Required with decision snoozed on those classes."New value: +"Loop-health, once-play timeout, or quiet-alarm hold: future ISO date or YYYY-MM-DD that would prove the card wrong. Required with decision snoozed on those classes."
- Removed
delete_tactic - Added
generate_playbooks - Removed
generate_tactics - Removed
get_tactics - Added
get_x_ads_performance - Added
list_playbooks - Added
list_x_ad_accounts - Added
list_x_ad_campaigns - Added
posthog_create_vision_scanner - Added
posthog_delete_vision_scanner - Added
posthog_get_vision_observation - Added
posthog_get_vision_scanner - Added
posthog_list_vision_observations - Added
posthog_list_vision_scanners - Added
posthog_scan_session - Added
posthog_update_vision_scanner - Added
run_playbook - Removed
run_tactic - Added
search_x_ad_targeting - Added
set_x_ad_status - Changed
update_pipeline1 field changed- added
Input schema / properties / github_inputAdded value: +{ + "description": "Whether this pipeline listens to GitHub weekly digest. Social-post pipelines should be false — a story is submitted from the corpus; receipts use ship_receipt. Changelog may stay true.", + "type": "boolean" +}
- Added
update_playbook - Removed
update_tactic - Added
update_x_ad_budget
2 tool updates
- Changed
decide_command_center_item2 fields changed- changed
Input schema / properties / hold_until / descriptionPrevious value: -"Loop-health hold: future ISO date or YYYY-MM-DD that would prove the card wrong. Required with decision snoozed on that class."New value: +"Loop-health or once-play timeout hold: future ISO date or YYYY-MM-DD that would prove the card wrong. Required with decision snoozed on those classes." - added
Input schema / properties / once_play_actionAdded value: +{ + "description": "Once-play timeout cards only: retry the same play once, or retire it. Required with decision approved on that class. Dismiss is not legal.", + "enum": [ + "retry", + "retire" + ], + "type": "string" +}
- Added
update_live_shopify_theme_file
4 tool updates
- Changed
create_tactic5 fields changed- changed
Input schema / properties / description / descriptionPrevious value: -"Detailed description of the tactic"New value: +"Detailed how-to / instructions for the Play" - changed
Input schema / properties / linked_kr_id / descriptionPrevious value: -"Optional key-result id the tactic most advances (validated against the company OKRs). If omitted, the most off-track KR of the bound objective is chosen."New value: +"Optional key-result id the Play most advances (validated against the company OKRs). If omitted, the most off-track KR of the bound objective is chosen." - changed
Input schema / properties / objective_id / descriptionPrevious value: -"Optional OKR objective UUID to bind this tactic to (validated against this company). If omitted, the binding is auto-inferred from the category→OKR map."New value: +"Optional OKR objective UUID to bind this Play to (validated against this company). If omitted, the binding is auto-inferred from the category→OKR map." - changed
Input schema / properties / status / descriptionPrevious value: -"Current status of the tactic"New value: +"Current status of the Play" - changed
Input schema / properties / title / descriptionPrevious value: -"The tactic title (e.g., \"LinkedIn Content Strategy\")"New value: +"The Play / Playbook title (e.g., \"X Original Content Playbook\")"
- Changed
delete_tactic2 fields changed- changed
Input schema / properties / tactic_id / descriptionPrevious value: -"ID of the tactic to archive (optional if using tactic_title)"New value: +"ID of the Play to archive (optional if using tactic_title)" - changed
Input schema / properties / tactic_title / descriptionPrevious value: -"Title of the tactic to archive (use this or tactic_id)"New value: +"Title of the Play to archive (use this or tactic_id)"
- Changed
generate_tactics4 fields changed- changed
Input schema / properties / lane_id / descriptionPrevious value: -"Optional lane UUID running these tactics (validated against this company)."New value: +"Optional lane UUID running these Plays (validated against this company)." - changed
Input schema / properties / linked_kr_id / descriptionPrevious value: -"Optional key-result id (within the bound objective) the tactics most advance."New value: +"Optional key-result id (within the bound objective) the Plays most advance." - changed
Input schema / properties / objective_id / descriptionPrevious value: -"Optional OKR objective UUID to bind these tactics to (validated against this company)."New value: +"Optional OKR objective UUID to bind these Plays to (validated against this company)." - changed
Input schema / properties / userPrompt / descriptionPrevious value: -"The focus/request the tactics must address (e.g. \"fill the top of funnel for our pharmacy ICP\")."New value: +"The focus/request the Plays must address (e.g. \"fill the top of funnel for our pharmacy ICP\")."
- Changed
update_tactic4 fields changed- changed
Input schema / properties / linked_kr_id / descriptionPrevious value: -"Key-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 leave the existing binding untouched."New value: +"Key-result id the Play 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 leave the existing binding untouched." - changed
Input schema / properties / objective_id / descriptionPrevious value: -"OKR 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 untouched."New value: +"OKR objective UUID to re-bind this Play to (validated against this company); its most off-track key result is chosen. Unresolvable → binding cleared to null. Omit to leave the existing binding untouched." - changed
Input schema / properties / tactic_id / descriptionPrevious value: -"ID of the tactic to update (optional if using tactic_title)"New value: +"ID of the Play to update (optional if using tactic_title)" - changed
Input schema / properties / tactic_title / descriptionPrevious value: -"Title of the tactic to update (use this or tactic_id)"New value: +"Title of the Play to update (use this or tactic_id)"
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
- muninOAuthcom.getmunin
Open-source all-in-one MCP-first customer platform: KB, Conversations, CRM, CMS, Outreach, Analytics
MIND MCP Server — 31 tools. Persistent AI memory: knowledge graph, LIFE tasks, CRM, 50+ models.
15- sendifaiOAuthcom.sendifai
335 MCP tools, 75 playbooks. AI-native CRM, email/SMS, events, OAuth.
AIOProductOS: revenue, feedback, work and analytics on one customer record. 71 tools, 3 apps.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceFinance OS for bootstrapped SaaS, providing MCP tools for transaction recording, projections, alerts, and more through natural language interfaces.MIT
- AlicenseAqualityAmaintenanceAI Agent Mission Control — 200+ MCP tools across 31 domains. Manage agents, experiments, workflows, crews, skills, tools, credentials, approvals, signals, budgets, marketplace, knowledge bases, chatbots, and more. Self-hosted, open-source (AGPL-3.0). Supports stdio + Streamable HTTP/SSE with OAuth 2.0 auth.3465AGPL 3.0

AllMCPofficial
AlicenseNot gradedqualityBmaintenanceOpen-source MCP hub providing a single endpoint for AI agents to access dozens of business integrations (CRMs, spreadsheets, telephony, ads) with multi-tenancy, OAuth, and context-efficient tool discovery.Apache 2.0
vibops-mcpofficial
AlicenseAqualityAmaintenanceVibOps MCP is the control plane between your AI agents and your GPU infrastructure. 74 tools covering: GPU fleet management (deploy, scale, monitor across NVIDIA, AMD, Intel, AWS, Google, Groq), Agent Infrastructure Control Plane (per-agent GPU cost, budget enforcement, model policies, dependency graph), governance (AI Act, SOC 2, immutable HMAC audit chain), and GPU FinOps (chargeback, waste..)..7418MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
The tool set is heavily disambiguated by detailed routing descriptions, domain prefixes, and lifecycle verbs, so most tools have a clear intended purpose. However, at 297 tools there are still close pairs and overlapping decision surfaces (e.g., approval workflows, 'what should I work on' readers, multiple finance/ads readers) that require careful description reading to avoid misselection.
Naming is predominantly consistent snake_case verb_noun with strong domain prefixes like shopify_, x_, posthog_, and list_/create_/update_ patterns. Minor inconsistencies exist, such as several collection-returning tools using get_ (get_team_members, get_icps, get_okrs) instead of list_, and some generate_ vs create_ vs draft_ verbs, but the pattern is still predictable overall.
297 tools is an extreme outlier and far beyond a usable MCP tool surface. Even a large suite has no justification for this count in one server; the agent would struggle to select among hundreds of similarly descriptive tools, and the natural 3-15 tool range is exceeded by nearly 20x.
The individual domains represented — OKRs, CRM/leads, Shopify, content pipelines, ads, PostHog, team hiring, knowledge, finance, and session management — are covered remarkably well with full lifecycle patterns. Minor gaps exist, such as no full deal CRUD, no delete for several Google/Shopify artifacts, and some analytical surfaces being read-heavy, but most workflows can be completed without dead ends.