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
-
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.
-
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.
-
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.
-
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:
Chains keyword_research and serp_overview so the target and the competition arrive in one answer.
Calls keyword_difficulty and returns a score plus the referring domains you would realistically need.
Runs competitor_keywords and returns what they rank for and you do not, ready to become a content plan.
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