npx.
1
Connect Goose
- Claude Code (terminal)
- Claude app (claude.ai)
Paste this into your agent — Claude Code, Cursor, Codex, or a chat app like Claude or ChatGPT:Your agent reads that page and follows it. It asks you before it installs anything, then runs the GooseWorks CLI with
Then open a new Claude Code session, verify the connection with
--all (it sets up every coding agent on your machine at once), opens a browser for Google sign-in, checks the install, and carries on in the same chat: it sets up your brand there (it asks for your website and a couple of quick questions), then gets back to what you asked for. You don’t need to reopen your agent; the GooseWorks tools also show up in its next session. If your agent is a chat app like claude.ai, the Claude desktop app’s chat or ChatGPT, it gives you the MCP connector address instead.The page only ever runs npx gooseworks@latest …. It writes your agent’s skills folder, your agent’s MCP config (for Cursor that is the global Cursor MCP config, plus the project’s .cursor/mcp.json if the folder has one), and ~/.gooseworks/credentials.json. The MCP config entries contain your sign-in token. It writes no other files. Installing is free; some skills spend credits when they run. The check at the end also reports whether ffmpeg and a browser are present; those only matter for rendering video ads on your machine and do not block the install.A browser opens for Google sign-in. Use the same account as your GooseWorks login. Claude Code keeps going in the same chat: it checks the connection and sets up your brand there. You don’t need to restart it.Run it yourself (terminal)
Run it yourself (terminal)
account_whoami, and ask GooseWorks for a real task. If your brand isn’t set up yet, Claude Code sets it up in the chat first.2
Check it's really connected
Type this into Claude:
You: Use GooseWorks to tell me which account I’m signed in as.Claude calls
account_whoami and answers with something like:Claude: You’re signed in to GooseWorks as you@yourcompany.com.If Claude says it has no GooseWorks tools, check that
gooseworks is enabled in Claude Code’s MCP settings or connected in the Claude app’s connector settings. Restart or reconnect the client, then try account_whoami again.3
Give Goose your brand
Goose makes ads for a brand, so the first thing it needs is your website. It reads the site, works out what you sell and how you talk, and saves that as a reusable brand.Already have brands in GooseWorks? Skip this. Say “use my existing Acme brand” and Claude will find it with
You: Use GooseWorks to set up a brand for yourcompany.com.Claude checks company setup with
brand_onboarding, uses brand_read to find an existing brand, and creates one with brand_create only if needed. It reads the research state with brand_read (passing the brand’s id) before generating:Claude: I’ve created the brand Your Company and researched the site. Research is complete and a brand kit is ready — logo, colours, and a set of messaging angles. Want to see the angles before I make anything?
Research can take a few minutes. Later requests reuse the saved brand context.
brand_read.4
Ask for three ads
Now the actual request:
You: Make three square ad creatives for that brand, one image per concept. Different angles — one problem-first, one product-hero, one social-proof. Show me the credit cost before you spend anything.Claude finds and inspects sources with
ads_template_read, then calls ads_generate with dry_run: true, one variant per template, and ratios: ["1:1"] for each item. It shows the returned quote before generating:Claude: I picked three templates that fit your brand. Here is the current credit quote for three square images and your available balance. Shall I generate them?
You: Yes, go.Claude submits the same request through
ads_generate with dry_run: false and mode: "generate", then polls job_get(kind: "ads_batch") until the images finish:Claude: All three are done. Here they are:Each one is linked above and saved to your GooseWorks account.
- “Still doing this the hard way?” — problem-first, square
- “One tool. Every channel.” — product hero, square
- “Why teams switch” — social proof, square
Ask for the quote before generation.
ads_generate with dry_run: true returns it without starting the images. Omitting ratios can produce three sizes per variant, so keep them explicit. Ask “how many credits do I have?” any time — the agent checks account_whoami.5
Change one and re-roll it
The point of driving this from a chat is that editing is a sentence, not a UI trip.
You: The second one’s headline is too long. Shorten it to four words and make the background darker.Claude uses
ads_creative_edit on that creative and returns the new version. Edits can use additional credits; agree on the work before starting it.What just happened
brand_onboardingandbrand_readestablish the account and brand.ads_template_readidentifies the source images.ads_generate(dry_run: true)quotes the exact requested outputs.- After approval,
ads_generatestarts the cloud job andjob_getchecks progress. ads_creative_edithandles paid follow-up edits.
If something goes wrong
doctor checks saved credentials and local video prerequisites. A successful account_whoami call through your AI app is the connection check for this walkthrough.
Next
All the tools
Every tool the connector exposes, generated from the server itself.
Other AI apps
Cursor, Codex, ChatGPT — same account, same tools.

