mcp.gooseworks.ai/mcp) and it sees the tool catalog
below. This is the connector’s own catalog; the in-app coworker’s tools are
managed separately and may differ. Read-only tools never change anything; tools
marked billable can spend credits when they generate media.
Account & organization
| Tool | What it does | Notes |
|---|---|---|
account_update | Save the legacy coworker preferences (company website, role, use cases, goals, freeform notes) when the user explicitly asks Goose to remember them. | |
account_whoami | One call for everything about the caller: user + token identity, the organization, every workspace scope the token can reach (the inputs for file_*.scope), the credit wallet and plan entitlements (video_enabled, coworker_enabled, upgrade_url), and the legacy per-agent user context. | read-only |
Ad creatives
| Tool | What it does | Notes |
|---|---|---|
add_campaign_concept | Append ONE concept to a campaign (GOOSE-3345): a single small call that leaves every existing concept and its pending plans untouched. | |
ads_approval_decide | Act on a plan-mode creative: approve one creative (or every awaiting creative in a batch) — this is the billing gate; revise — recompose from a natural-language steer and/or a prompt-variant label (free; the plan goes back to composing); edit_plan — directly patch the frozen plan (prompt, product, image list, quality, logo, ratios) before approving. | billable |
ads_creative_edit | Paid edits on one creative, one action per call: regenerate (re-roll a variation, or mode: edit|exact against a specific render), resize (faithful reframe of an approved render into platform placements), layerize (split a render into editable layers; requires confirmed: true after telling the user it costs credits), animate (turn a still into a short video), precision_edit (annotated-region edit with a note — the app’s unified edit composer). | billable |
ads_creative_read | Read generated ad creatives for one brand. | read-only |
ads_creative_update | Set a creative’s organization tags (full set; [] clears) and/or record the user’s feedback on one of its renders (happy/neutral/sad + comment + reason chips; null clears a field). | |
ads_generate | Generate branded static ads through the same cloud workflow the app uses (compose → generate → persist → judge). | billable |
ads_library_scrape | Import ads from the public Meta Ad Library: the brand’s own ads (omit source_id; designed graphics become remixable templates and the copy is summarized into the kit) or one tracked competitor/own source (source_id from brand_read(brand_id, sections: [competitors])). | |
ads_template_create | Bring your own ad: register one of the org’s own images as a private static template — remixable like the catalog but visible only to your org (or to the Community with is_public). | |
ads_template_read | Read source templates without changing them. | read-only |
ads_template_update | Patch one of the org’s own templates (uploads, scraped, Community snapshots): replace its tag set (send the full list; [] clears), retitle, file it under a product, toggle Community sharing, or delete it. | |
campaign_read | Read GooseWorks campaign planning records without changing them. | read-only |
campaign_upsert | Create a campaign when campaign_id is omitted, or update an existing campaign when campaign_id is provided. | |
meta_read | Read where this brand’s Meta work stands. | read-only |
pause_meta_ad_push | Pause the Meta ads from one of this brand’s Goose pushes, so they stop spending. | |
prepare_meta_ad_push | Prepare a push of this brand’s Goose creatives into its connected Meta ad account, for a human to approve. | |
propose_campaign_concepts | Propose concepts for a campaign from the brand’s own evidence (Meta performance, creative feedback, learnings, operating plan) and write them onto the campaign. | |
propose_meta_budget_change | Propose a new budget for a campaign Goose launched, for a person to approve. | |
propose_meta_creative_replacement | Propose swapping one ad Goose published for a new Goose creative, for a person to approve. | |
refresh_meta_sync | Refresh Goose’s copy of this brand’s connected Meta ad account — campaigns, ad sets, ads and their metrics — instead of waiting for the daily sync. | |
request_campaign_generation | Request creative generation for a campaign’s concepts (each concept’s templates × variants). | |
revert_meta_ad_push | Undo one of this brand’s Goose pushes in Meta: ads that never went live are DELETED, ads that did go live are paused so their spend history survives, and the whole push is marked canceled. | |
update_campaign_concept | Edit ONE concept by id — only the fields in the patch change (GOOSE-3345): wording, a template swap, or generation settings (variant_count, ratios, engine, quality). |
Automations
| Tool | What it does | Notes |
|---|---|---|
automation_delete | Permanently delete an automation and its files. | |
automation_list | List the brand coworker’s scheduled automations (cron, timezone, status, run counts, credits) plus its creative schedules. | read-only |
automation_upsert | Create an automation (omit automation_id; needs name + cron_expression, and agent_prompt for agent mode or script_content for script mode) or patch one — only the fields you pass change; cron_expression/timezone changes recompute next_run_at; enabled pauses/resumes (creative schedules ad_autopilot:<id> accept enabled only). |
Brands & brand kits
| Tool | What it does | Notes |
|---|---|---|
brand_create | Create a brand in the caller’s organization. | |
brand_onboarding | Start, read, and advance the same resumable Growth onboarding used by the GooseWorks web app, directly inside ChatGPT, Claude, Cowork, or a coding agent. | |
brand_read | Read brands without changing them. | read-only |
brand_update | One typed patch for everything on a brand: the brand row, the canonical kit fields (positioning, voice, palette — each edit is recorded as a user override that research re-runs preserve), a research kit-patch + finalize_research, products (create / update / delete / import from a URL), tracked competitor ad-library sources, the onboarding profile, and brand facts. | |
competitor_link | Start tracking one competitor against a brand from whatever the user gave you: a name (‘Allbirds’), a website, an Instagram or TikTok profile URL, or a Meta Ad Library URL. | |
competitor_read | Read competitor brands without changing research. | read-only |
competitor_research | Re-run automatic research on a competitor you already track: refresh their profile, follower counts and recent posts, re-check their ad library, and re-synthesize the structured profile. | |
competitor_unlink | Stop tracking a competitor and drop the research gathered about them — their stored posts, follower history and scraped ads go with it. |
Chat & delegation
| Tool | What it does | Notes |
|---|---|---|
chat_read | Read the brand coworker’s saved chat history without sending anything. | read-only |
Data providers
| Tool | What it does | Notes |
|---|---|---|
data_call_provider | GET through the GooseWorks proxy — no provider key, no local CLI. | billable |
data_post_provider | POST through the GooseWorks proxy — no provider key, no local CLI; paid. | billable |
Delegated tasks
| Tool | What it does | Notes |
|---|---|---|
goose_run_task | Delegate a multi-step job to the brand’s Goose coworker — the same server-side agent that powers the in-app chat, with our prompts, runtime widgets and approval gates. | billable |
Files
| Tool | What it does | Notes |
|---|---|---|
file_delete | Delete a file or a directory (recursive) from the workspace. | |
file_list | List one directory (not recursive; dirs first, then files with size and modified time) or, with query, find files anywhere in the workspace by path substring (case-insensitive, up to 200 matches, path scopes the search). | read-only |
file_read | Read one workspace file inline — text, or base64 for binary — up to 10MB. | read-only |
file_url | A short-lived presigned S3 URL: mode: upload → PUT (curl -X PUT -T <file> "$url", plus the Content-Type header when you set content_type; max 50MB advisory; skill paths refused); mode: download → GET (curl "$url" -o <file>). | |
file_write | Create or overwrite a workspace file from an inline string (base64 with is_base64 for binary), up to 10MB; intermediate directories are created. |
Job status
| Tool | What it does | Notes |
|---|---|---|
job_cancel | Cancel a queued job before it starts — today: a queued social post batch (held credits are released) and plan-mode ad batches that have not been approved. | |
job_get | Poll any async job by id: ad generation batches, renders, animate-image jobs, layer splits, product imports, photo generations, brand research, ad-library scrapes, social post batches/creatives, delegated Goose tasks and fal provider calls (job_id: "fal:<request_id>" from data_post_provider { provider: "fal" }, kind provider_call). | read-only |
Media library
| Tool | What it does | Notes |
|---|---|---|
media_confirm | Finish an upload started by media_upload with source.type: "file": call this after the PUT and the asset becomes usable (status goes pending → draft) with its real size and dimensions recorded. | |
media_list | List a brand’s registered media, newest first, filtered by scope, kind, status or tags. | read-only |
media_update | Patch one media asset: title, tags, status (draft → review; approval is done by a human in the app), metadata, which scopes it is linked to, or delete it. | |
media_upload | Register a media asset under a brand, product, video project, post or social account. |
Organic social
| Tool | What it does | Notes |
|---|---|---|
competitor_search_mentions | SPENDS CREDITS. | billable |
organic_creative_queue | Queue an APPROVED organic creative to its account’s linked destinations (1-2 owned TikTok/Instagram accounts) as a MANUAL to-do entry — nothing auto-publishes (GOOSE-3235). | |
social_account_list | List a brand’s social accounts (brand and creator accounts) with their identity summary, platform, lifecycle stage and setup status (research / strategy / initial batch). | read-only |
social_account_upsert | Create a social account (omit account_id; needs platform + display_name, and account_type brand|creator) or patch one. | |
social_analytics_get | Read performance for a brand’s managed social accounts: an overview, per-account metric snapshots, and per-post metrics joined to the posts Goose produced (via placements). | read-only |
social_inspiration_library | Read the brand’s saved Inspiration library: each saved post itself (url, permalink, caption/note, thumbnail, creator, content type), how it was saved (when, by whom, research vs competitor vs manual), and — where GooseWorks also tracks that exact post — its analytics. | read-only |
social_inspiration_save | Save an external post (URL + optional stats and note) to the brand’s inspiration store (Intelligence → Inspiration, D30), optionally linked to one account so it seeds research and strategy. | |
social_inspiration_search | Search the brand’s saved inspiration and the research runs’ discovered posts by text, platform or account. | read-only |
social_inspiration_watch | Download one saved inspiration VIDEO and analyse it with ffmpeg, returning a structured summary — duration, container/codec/resolution, scene boundaries, extracted-frame timestamps and, where audio and a transcription key allow, a transcript. | |
social_post_create | Generate count posts for an account in a given format through the server pipeline (evidence → copy → judge → pair assets → render), or create one hand-authored post. | billable |
social_post_list | List an account’s posts newest first — the review queue (status: review), approved, discarded, drafts — each with its idea reference, linked creative (render status, output/thumbnail URLs, credits) and placements. | read-only |
social_post_update | Patch a post’s content (caption, hook, hashtags, plug level, idea, media, rendered output, status, posted_at) and/or run one review action: approve (hands it to managed publishing, D45), discard, restore, retry (re-render, credits), revise (new batch steered by direction, credits), edit (deterministic asset/carousel/meme edit). | billable |
social_strategy_get | The single context-loading call for one social account: identity, the active strategy version (concept, audiences, pillars, voice, rules, tactics, avoid), linked products, the full pillars → buckets (lifecycle, evidence, ideas) tree, and post stats including the actual plug ratio vs the cap. | read-only |
social_strategy_upsert | Write the strategy tree: activate a new strategy version (pass expected_active_version to replace a changed one; identical retries are idempotent), and create/update pillars (by id, else title), buckets (by id, else pillar_id+name) and ideas (by id, else bucket_id+title+payload) in one call. |
Product photos
| Tool | What it does | Notes |
|---|---|---|
photos_generate | Shoot branded product photos through the studio pipeline (compose, generate, judge, retry; retries are free). | billable |
photos_read | Read product-photo work with one tool: generation_id returns one generation and its outputs; omit it to list a brand’s outputs with product, status, archive, and cursor filters. | read-only |
photos_update | approve links an output to the product and makes it available in the brand kit for ad generation; archive (with an optional reason, recorded as a brand “dont” learning) removes it from downstream generation. |
Templates & catalog
| Tool | What it does | Notes |
|---|---|---|
catalog_fetch | Fetch one catalog item by slug: a skill with its full instructions, scripts, files and dependency skills (follow content and use the live tools it names; in a terminal-free client use the skill’s MCP-native path); a format’s registry row (input schema, asset requirements, cost rule); or a curated template with its recipe, extracted script, skills used and how-to. | read-only |
catalog_search | Discover what Goose can do: skill — the GooseWorks skill catalog (the same one gooseworks search reads; slug, name, description, category); format — the format registry (server-rendered organic/ad formats with status and platform); template — the curated remixable template library (the same rows as ads_template_search(mode: library), listed here so one call covers all three). | read-only |
Video projects & rendering
| Tool | What it does | Notes |
|---|---|---|
set_final_render | Choose which version the app shows as the final ad for a project. | |
submit_render | Kick off a render for a video ad project. | |
update_render_status | Sandbox-side callback that moves a render between statuses and reports visible video QA progress. | billable |
video_catalog_list | Browse what a video project can be built from: characters and worlds (Higgsfield stock shared across orgs plus the org’s own uploads), voices (the curated ElevenLabs allowlist, with search and gender/accent filters), and formats (the video formats that can be made; each row says where it runs — execution: "client" rows run on the customer’s own machine through goose-video-local, and its start line says how to begin). | read-only |
video_project_read | Read video work with one tool: project_id returns one project with optional assets, scenes, messages, or renders; batch_id returns one concept batch; omit both to list a brand’s projects. | read-only |
video_project_upsert | Create or update a video project or concept batch. | |
video_render_run | The render row for a video the calling agent renders on the customer’s machine (a project created from a video_catalog_list format row with execution: "client", or from an ad template). | billable |

