Integration

ContextBolt SEO in Goose (2026 Setup Guide)

Beginner 3 minutes setup By David Hamilton

Goose is Block’s open-source agent, and it was designed around MCP from the beginning rather than having support bolted on later. That shows in the setup: remote streamable HTTP extensions are a first-class concept, so ContextBolt SEO connects without a bridge or a proxy.

The easy route: goose configure

Run goose configure, choose Add Extension, then Remote Extension (Streamable HTTP). Give it the name contextbolt-seo and paste your MCP URL as the URI.

This is worth doing even if you are comfortable in YAML, because it writes the correct field names for you and Goose has two that catch people out.

The config.yaml entry

If you would rather edit it directly, open ~/.config/goose/config.yaml:

extensions:
  contextbolt-seo:
    enabled: true
    type: streamable_http
    name: contextbolt-seo
    description: Live keyword, SERP, and competitor data
    uri: https://seo.contextbolt.app/mcp/YOUR_TOKEN
    timeout: 60

Two field names matter. Goose uses uri, where almost every other MCP client uses url. And it uses streamable_http with an underscore, where JetBrains uses a hyphen and VS Code just says http.

Both describe exactly the same thing, which is what makes them dangerous. A config copied from a working Cursor or VS Code setup looks right, parses fine, and produces no tools. If the extension shows as enabled and nothing appears, check those two lines before anything else.

Run goose info -v after any hand edit to confirm the file still parses.

Why the terminal suits SEO work

Goose runs where your project runs, with file access, which makes the research loop unusually tight. You ask what a page should target, the answer comes back in the terminal, and the lookup is written to ./seo-findings/ as markdown in the same directory as the site you are working on.

Plan a page: keyword research plus difficulty, before a word is written.

Find the gaps: competitor_keywords returns what a rival ranks for and you do not, which is usually the fastest way to fill a content backlog.

Audit what shipped: page_audit against a live URL returns a fix list you can work through in the same session.

Read your own data free: the Search Console tools never spend lookups, so checking what moved this month costs nothing.

Because your MCP URL carries a personal token, treat config.yaml like any other file holding a credential. The full tour of tools is in the ContextBolt SEO guide, and the background on how an SEO MCP server works is worth reading first if this is new.

How to connect ContextBolt SEO to Goose

  1. Subscribe and get your MCP URL

    Subscribe to ContextBolt SEO ($35/month for 1,000 lookups). Your private MCP URL arrives by email and looks like https://seo.contextbolt.app/mcp/YOUR_TOKEN. Keep it private, like a password.

  2. Run goose configure

    In the terminal run goose configure, choose Add Extension, then Remote Extension (Streamable HTTP). Give it the name contextbolt-seo and paste your MCP URL as the URI. This is the safest route because it writes the YAML for you.

  3. Or edit config.yaml by hand

    Open ~/.config/goose/config.yaml and add contextbolt-seo under extensions with type streamable_http and a uri field. Note that Goose uses uri, not url, and streamable_http with an underscore, where JetBrains uses a hyphen.

  4. Validate and connect Search Console

    Run goose info -v to confirm the extension loaded, then start a session and ask 'what SEO tools do you have?'. Ask 'connect my Google Search Console' and approve read-only access to read your real clicks and positions, free and without spending lookups.

Example prompts for ContextBolt SEO + Goose

Once connected, try asking Goose:

What should this page target, and who already ranks for it?

Chains keyword_research and serp_overview so the target and the competition arrive in one answer.

How hard is 'open source ai agent' to rank for?

Calls keyword_difficulty and returns a score plus the referring domains you would realistically need.

Find keyword gaps against our closest competitor

Runs competitor_keywords and returns what they rank for and you do not, ready to become a content plan.

Audit this URL and write the fixes to a file

Calls page_audit, then uses Goose's file access to save the checklist where you can work through it.

What you can do with ContextBolt SEO in Goose

Run keyword research in plain English from the terminal

Score how hard a keyword is to rank for before you write

See who ranks in Google's top 10 for any query

Size up any domain's traffic, keywords, and authority

Find the keywords a competitor already ranks for

Spot backlink gaps: who links to rivals but not you

Connect your own Google Search Console, read-only and free

Save every lookup to ./seo-findings/ as markdown

ContextBolt SEO + Goose: FAQs

Is it uri or url? +
uri. Goose extensions use a uri field where almost every other MCP client uses url. It is a small difference that makes a config copied from Cursor or VS Code fail silently. If the extension shows as enabled but no tools appear, check that field first.
Is it streamable_http or streamable-http? +
streamable_http, with an underscore. JetBrains uses streamable-http with a hyphen and VS Code just uses http. All three refer to the same transport. Between this and the uri field, most failed Goose setups come down to a value copied from a working config in another tool.
Should I use goose configure or edit the YAML? +
Use goose configure for the first setup, because it writes correct YAML and saves you from both gotchas above. Edit ~/.config/goose/config.yaml afterwards when you want to tune the timeout, rename the extension, or add headers. Run goose info -v after any hand edit to confirm it still parses.
Does Goose need a bridge for remote servers? +
No. Goose was co-designed around MCP from the start and supports remote streamable HTTP extensions natively, including OAuth where a server needs it. ContextBolt SEO carries its token in the URL path, so no auth block is required.
Can Goose save research to disk? +
Yes. Goose has file access, so every lookup mirrors to a ./seo-findings/ folder as markdown, one file per keyword or domain plus an INDEX. You can search it, commit it, or open it in Obsidian. The files are free and do not count against your 1,000 monthly lookups.
How many lookups does a question cost? +
The six research tools cost one lookup each. The three backlink tools cost three each. An agent chaining several calls in one task spends more, so watch your first few sessions. Checking your balance is always free.