{"serverInfo":{"name":"TrustGrowth","title":"TrustGrowth — growth engine for your own sites","version":"1.3.0","websiteUrl":"https://trustgrowth.ai","description":"Daily scores, technical audits with a verify loop, Search Console reads, keywords, competitors, authority, and AI visibility for sites on your TrustGrowth account."},"authentication":{"required":true,"schemes":["oauth2","bearer"],"description":"OAuth 2.0 authorization-code + PKCE (discovery at /.well-known/oauth-protected-resource), or Authorization: Bearer <TrustGrowth API key> created in the TrustGrowth app. read scope covers all reads, write adds trigger_audit."},"tools":[{"name":"list_sites","description":"List all sites accessible to the authenticated API key.","inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_site_score","description":"Fetch the raw current or historical daily-score breakdown for a site. Operator workflows should prefer get_site_publication_evidence_packet when they need the operator-safe score snapshot.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"date":{"type":"string","description":"Optional ISO date for historical lookup."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_site_authority","description":"Read persisted TrustGrowth authority and DataForSEO-labeled backlink evidence. Stale measurements are nulled, and this credit-free read never triggers a refresh. Includes paginated referring_domains from the latest capture.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"page":{"type":"integer","description":"Referring-domains page number."},"per_page":{"type":"integer","description":"Referring-domains page size."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_site_settings","description":"Read the site record the engine runs on — identity, brief, proof page, delivery, state — with each input labelled you, detected, or missing. Credit-free; never triggers work.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"update_link_prospect","description":"Update one link-gap prospect's outreach status. Sets the matching contacted, acquired, or dismissed timestamp. Requires backlink_intelligence and a write-scoped API key.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"uid":{"type":"string","description":"Link prospect UID from get_site_authority."},"status":{"type":"string","enum":["new","contacted","acquired","dismissed"],"description":"Outreach status. Contacted, acquired, and dismissed each stamp their matching timestamp."}},"required":["slug","uid","status"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},{"name":"mark_link_review","description":"Mark a linking domain as yours, reviewed, or removal_asked, or clear the mark. API marks carry no user. Requires backlink_intelligence and a write-scoped API key. Makes no outbound removal request.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"domain":{"type":"string","description":"Linking domain, lowercase, no scheme."},"state":{"type":"string","enum":["yours","reviewed","removal_asked"],"description":"Review state. Omit when clear is true."},"clear":{"type":"boolean","description":"When true, delete the review mark. Do not send state in the same call."}},"required":["slug","domain"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},{"name":"get_site_visibility","description":"Read the persisted five-stage AI visibility funnel. Each entitled stage states its deterministic, census, sample, or observed nature and measured, not_measured, or withheld status; this read never triggers capture work.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"list_site_issues","description":"List audit issues for a site.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"status":{"type":"string","description":"Issue status filter."},"severity":{"type":"string","description":"Issue severity filter."},"page":{"type":"integer","description":"Page number."},"per_page":{"type":"integer","description":"Items per page."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"list_site_snapshots","description":"Fetch time-series search and performance snapshots for a site.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"from":{"type":"string","description":"Inclusive ISO start date."},"to":{"type":"string","description":"Inclusive ISO end date."},"granularity":{"type":"string","description":"daily, weekly, or monthly."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"list_site_queries","description":"List Search Console queries for a site. Read-only GSC stats; never triggers a fetch.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"from":{"type":"string","description":"Inclusive ISO start date."},"to":{"type":"string","description":"Inclusive ISO end date."},"page":{"type":"integer","description":"Page number."},"per_page":{"type":"integer","description":"Items per page."},"sort":{"type":"string","enum":["clicks","impressions","position"],"description":"Sort by clicks, impressions, or position."},"q":{"type":"string","description":"Substring filter on the query."},"granularity":{"type":"string","enum":["daily","total"],"description":"daily rows or totals for the window."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"list_site_pages","description":"List inventoried site pages with Search Console totals for the window.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"from":{"type":"string","description":"Inclusive ISO start date."},"to":{"type":"string","description":"Inclusive ISO end date."},"status":{"type":"string","description":"Page lifecycle status filter."},"index_verdict":{"type":"string","description":"URL Inspection index verdict filter."},"page":{"type":"integer","description":"Page number."},"per_page":{"type":"integer","description":"Items per page."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_site_page_queries","description":"List Search Console queries that landed on one inventoried page.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"uid":{"type":"string","description":"Site page UID."},"from":{"type":"string","description":"Inclusive ISO start date."},"to":{"type":"string","description":"Inclusive ISO end date."},"page":{"type":"integer","description":"Page number."},"per_page":{"type":"integer","description":"Items per page."}},"required":["slug","uid"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_site_serp_snapshot","description":"Read the latest persisted SERP snapshot for a keyword. Returns not_measured when none exists and never triggers research.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"keyword":{"type":"string","description":"Keyword to look up."}},"required":["slug","keyword"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_site_keyword_history","description":"Daily Search Console clicks, impressions, and position for one query, plus the current keyword opportunity position.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"keyword":{"type":"string","description":"Query string."},"from":{"type":"string","description":"Inclusive ISO start date."},"to":{"type":"string","description":"Inclusive ISO end date."}},"required":["slug","keyword"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"list_site_links","description":"Read the persisted internal link graph. Filter to orphan pages with orphans=true.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"page":{"type":"integer","description":"Page number."},"per_page":{"type":"integer","description":"Items per page."},"orphans":{"type":"boolean","description":"When true, return pages with no inbound internal links."},"depth_gt":{"type":"integer","description":"Keep rows whose path depth is greater than this value."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"list_site_keywords","description":"List keyword opportunities for a site.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"type":{"type":"string","description":"Opportunity type filter."},"source":{"type":"string","enum":["first_party","competitor_gap","user_seeded","seed_expansion","ai_overview_gap","backlink_gap","people_also_ask","modifier_expansion","unknown"],"description":"Keyword discovery source filter."},"priority":{"type":"integer","description":"Priority filter."},"sort":{"type":"string","description":"Sort order."},"qualified":{"type":"boolean","description":"When true, return planning_pool.not_flagged (ambiguous excluded). Default remains planner_visible."},"geo":{"type":"string","enum":["comparison","how_to","definition","list"],"description":"GEO query-shape filter. Exclusive cascade: comparison, how_to, definition, list."},"page":{"type":"integer","description":"Page number."},"per_page":{"type":"integer","description":"Items per page."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"list_site_competitors","description":"List competitor domains for a site.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"list_site_content","description":"List active content pipeline items for a site by default. Pass status=all only for inventory analysis that must include archived rows or legacy entries triaged out of the active pipeline.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"status":{"type":"string","enum":["active","scheduled","draft","published","all"],"description":"Content status filter. Defaults to active, which excludes archived rows and rows triaged to archive/delete_candidate."},"content_type":{"type":"string","description":"Content type filter."},"triage_state":{"type":"string","description":"Optional triage filter. `triage_needed` uses the effective stale/unreviewed queue, `current_cycle` uses the active automation-ready set, and explicit triage values match `effective_triage_state`. Matching semantics are returned in `meta.filters.triage_state`."},"from":{"type":"string","description":"Inclusive ISO start date."},"to":{"type":"string","description":"Inclusive ISO end date."},"page":{"type":"integer","description":"Page number."},"per_page":{"type":"integer","description":"Items per page."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"list_product_social_queue","description":"List pagination-safe Distribution tasks for due product-social publications or uncaptured 24h, 72h, and 7d measurements. Continue with next_cursor; the cursor preserves the original as_of timestamp.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"kind":{"type":"string","enum":["publication","measurement"],"description":"Queue task kind."},"as_of":{"type":"string","description":"Fixed ISO8601 evaluation timestamp. Omit when continuing with a cursor."},"cursor":{"type":"string","description":"Opaque next_cursor from the previous response."},"limit":{"type":"integer","minimum":1,"maximum":100,"description":"Tasks per response; defaults to 25."}},"required":["slug","kind"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"list_site_review_queue","description":"List the site's active review queue items, including complete strategy content and exact immutable campaign-plan context for approvals.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_site_review_queue_item","description":"Read one review queue item by UID at any status, including approved, rejected, cancelled, and superseded items the list tool cannot reach. Reports who decided it and the calendar entry's persisted claim-risk floor.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"review_uid":{"type":"string","description":"Review queue item UID."}},"required":["slug","review_uid"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"list_site_campaigns","description":"List the site's bounded campaigns. Campaign health is gate state and at-risk work, not strategy-lane cadence.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"page":{"type":"integer","description":"Page number."},"per_page":{"type":"integer","minimum":1,"maximum":100,"description":"Campaigns per page; defaults to 25."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_campaign","description":"Fetch one campaign's current plan fields and work-item execution context by campaign UID.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"campaign_uid":{"type":"string","description":"Campaign UID from list_site_campaigns or campaign_plan context in the review queue."}},"required":["slug","campaign_uid"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_campaign_mission_control","description":"Fetch one campaign's live gate, waiting reviews, execution-state counts, at-risk findings, and work items.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"campaign_uid":{"type":"string","description":"Campaign UID."}},"required":["slug","campaign_uid"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_current_cycle","description":"Fetch the site's current growth cycle, the shared clock and capacity envelope for strategy and campaign lanes. Includes position (week/day/state), the strategy's bet and gate, the target with its latest measured share, the refresh state, the frozen baseline and its movement, the retrospective when written, and the cycle's weeks (four planned, more when bridged) with stage counts on plans that include the calendar.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_previous_cycle","description":"Fetch the growth cycle immediately preceding the site's current cycle. Includes position (week/day/state), the strategy's bet and gate, the target with its latest measured share, the refresh state, the frozen baseline and its movement, the retrospective when written, and the cycle's weeks (four planned, more when bridged) with stage counts on plans that include the calendar.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_content_entry","description":"Fetch one content entry by entry, brief, or draft UID, including the reviewable brief and exact current draft snapshot.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"entry_uid":{"type":"string","description":"Content calendar entry UID or content brief UID."}},"required":["slug","entry_uid"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_package_content_variant","description":"Fetch the current packaged post body for one content entry channel before approval, including LinkedIn and legacy social-package fallbacks.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"entry_uid":{"type":"string","description":"Content calendar entry UID."},"channel":{"type":"string","description":"Target channel, such as linkedin_post, linkedin, twitter_post, x, social, or blog."}},"required":["slug","entry_uid","channel"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_approved_content_variant","description":"Fetch the approved byte-for-byte post body for one content entry channel, including LinkedIn and legacy social-package fallbacks.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"entry_uid":{"type":"string","description":"Content calendar entry UID."},"channel":{"type":"string","description":"Target channel, such as linkedin_post, linkedin, twitter_post, x, social, or blog."}},"required":["slug","entry_uid","channel"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_site_eeat","description":"Fetch E-E-A-T pillar scores and recommendations for a site.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_site_summary","description":"Fetch the site summary composite endpoint.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_site_publication_evidence_packet","description":"Fetch the operator-safe packet that reconciles public proof, operator evidence, and publication-safety flags. This is the canonical operator score source via operator_summary and operator_summary.score_breakdown.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_site_next_actions","description":"Fetch prioritized next-best actions for the current growth cycle. Audit-issue actions are aggregated by issue_type: one action covers all affected pages (evidence_source.pages, up to 10) with the total in evidence_source.affected_count. Do not assume one action equals one page.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_site_changes","description":"Fetch recent site changes and deltas.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"since":{"type":"string","enum":["1d","7d","14d","30d"],"description":"Optional change window. Defaults to 7d."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_agent_run_status","description":"Fetch the current status for an agent run returned by an async workflow response. For SiteAuditorAgent jobs, status reports the audit's own execution once the run reaches a terminal status while run_uid identifies the accounting run; audit_cycle names this run's audit cycle and is null for every other agent.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"job_id":{"type":"string","description":"Job ID returned by trigger_audit."}},"required":["slug","job_id"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"trigger_audit","description":"Queue an on-demand site audit and return a job_id for polling with get_agent_run_status. Requires a write-scoped API key. Costs no credits on any plan but is rate limited to one per site per hour (429 after that), and returns 409 already_running while another agent run is active for the site.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},{"name":"get_site_strategy","description":"Fetch the site's current content strategy, its gate verdicts and its evidence summary.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"regenerate_strategy","description":"Regenerate the site's current strategy with optional feedback.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Site slug."},"feedback":{"type":"string","description":"Optional feedback for the regenerated strategy."}},"required":["slug"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},{"name":"run_free_tool","description":"Run a TrustGrowth free tool against a public URL. REST is keyless at POST /api/v1/tools/{slug}/run; MCP still requires a Bearer API key. Returns 202 queued or a cached 200 result.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Free-tool slug from GET /api/v1/tools."},"url":{"type":"string","description":"Public URL to measure."}},"required":["slug","url"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}},{"name":"get_free_tool_result","description":"Read a cached TrustGrowth free-tool result. REST is keyless at GET /api/v1/tools/{slug}/result; MCP still requires a Bearer API key. Returns 404 not_measured when nothing is cached and 202 while a run is in flight.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Free-tool slug from GET /api/v1/tools."},"url":{"type":"string","description":"Public URL whose cached result should be read."}},"required":["slug","url"],"additionalProperties":false},"outputSchema":{"type":"object","description":"TrustGrowth API envelope. The data shape for each tool matches its REST endpoint's response schema in the OpenAPI document at /developers/openapi.","properties":{"data":{"description":"Tool result payload"},"meta":{"type":"object","description":"Request metadata: contract_version, plan, credits, rate_limit, generated_at"},"error":{"type":"object","description":"Present instead of data when the call fails: code, message"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}}],"resources":[]}