Integration · Roo Code
Connect Roo Code to Google Search Console
5 steps · about 5 minutes
By the GSC PAP team · Updated
Roo Code is an autonomous coding agent in VS Code, and it reads Model Context Protocol servers from its own settings file. Add GSC PAP and the agent can pull your Search Console, Google Analytics 4 and PageSpeed numbers while it works on the pages those numbers describe.
GSC PAP is hosted, so in Roo's terms it is a streamable-http server: a URL and a header, with no process for Roo to start and no Google Cloud project for you to create.
If you have set this up in Cline before, read the transport name carefully. The two projects share a lineage and spell it differently, which is the single most common reason a working config stops working after a switch.
How to connect Google Search Console to Roo Code
- 1
Sign in to GSC PAP and copy your token
Go to gscpap.com and click "Sign in with Google." Approve the read-only access, pick the sites you want to expose, and copy the bearer token the connect page shows once. More, each scoped to a subset of your sites, are at app.gscpap.com/account/tokens.
- 2
Open Roo's MCP settings file
Click the MCP icon in the top navigation of the Roo Code pane, scroll to the bottom of the MCP settings view, and click Edit Global MCP for mcp_settings.json or Edit Project MCP for .roo/mcp.json in the project root. Roo creates the project file if it does not exist. If both files define a server with the same name, the project one wins.
- 3
Add the GSC PAP server
Paste the block below and replace YOUR_TOKEN. The type is required and it is spelled streamable-http, with a hyphen.
json{ "mcpServers": { "gsc-pap": { "type": "streamable-http", "url": "https://mcp.gscpap.com/mcp", "headers": { "Authorization": "Bearer YOUR_TOKEN" }, "disabled": false } } } - 4
Optional: auto-approve the read tools
alwaysAllow takes a list of tool names Roo may call without asking each time. Nothing GSC PAP exposes can change a property, so auto-approving its tools removes a confirmation per call without giving the agent a way to break something.
json"alwaysAllow": [ "list_sites", "search_analytics_query", "find_quick_wins", "compare_periods" ] - 5
Ask a Search Console question
Open a Roo task and ask: "Use gsc-pap to list my sites, then show the top 10 queries by clicks over the last 28 days." The first call is always list_sites, because the other tools need the exact property URL it returns.
Roo Code MCP setup: common issues
- ·The transport is "streamable-http" with a hyphen. Cline spells the same thing "streamableHttp", so a config copied between the two will not connect until you change it.
- ·A project .roo/mcp.json overrides a global entry with the same server name. If an edit to the global file seems to do nothing, look for a project file shadowing it.
- ·Put the token in the global mcp_settings.json rather than .roo/mcp.json if the project is a git repo, or you will be rotating a committed token.
- ·"Missing or invalid bearer token" means the token is wrong or revoked, not that the transport is wrong. Replace it at app.gscpap.com/account/tokens.
- ·timeout and disabledTools also work on this transport, which is useful when you want only part of a 34-tool server in context.
Frequently asked questions
Does Roo Code support remote MCP servers?
Yes. Streamable HTTP is the transport Roo recommends for new remote servers: set type to "streamable-http" and give a url, with an optional headers object for authentication. SSE is still accepted for older servers.
Where is Roo Code's MCP config file?
Globally in mcp_settings.json, which you open from the MCP settings view with Edit Global MCP, and per project in .roo/mcp.json in the project root. The project file takes precedence for servers defined in both.
How do I stop Roo Code asking before each Search Console call?
List the tool names in alwaysAllow on the server entry. Because GSC PAP only holds read-only Google scopes, there is no destructive call to guard against, so auto-approving its tools is a reasonable trade for fewer prompts.
Other integrations
All integrationsClaude Desktop
Connect Claude Desktop to Google Search Console without creating a Google Cloud project. Sign in with Google, paste one config block, restart Claude.
Cursor
Connect Google Search Console to Cursor through a hosted MCP server. Sign in with Google, paste one token into mcp.json, and skip the Google Cloud project.
Claude Code
Add Google Search Console to Claude Code with one claude mcp add command. Hosted and read-only: no Google Cloud project, no OAuth credentials, no Python.
Codex CLI (OpenAI)
Add Google Search Console, GA4 and PageSpeed data to OpenAI's Codex CLI with one TOML block and a bearer token. You never create a Google Cloud project.
VS Code (GitHub Copilot)
Connect Google Search Console to GitHub Copilot in VS Code with one .vscode/mcp.json entry, then ask agent mode about GSC. You skip Google Cloud setup.
Gemini CLI (Google)
Query Google Search Console (GSC) from your terminal with Gemini CLI. Register GSC PAP as an MCP server in settings.json, with no Google Cloud project.
Windsurf (Devin Desktop)
Give Windsurf, now Devin Desktop, your Google Search Console data. Add GSC PAP as a remote MCP server with one bearer token and no Google Cloud project.
Zed Editor
Bring Google Search Console into Zed's AI assistant as an MCP context server. You add one settings.json block and a token, with no Google Cloud setup.
JetBrains IDEs
Connect Google Search Console to IntelliJ, PyCharm, WebStorm and other JetBrains IDEs via AI Assistant's MCP settings, without a Google Cloud project.
Continue (extension)
Continue MCP setup for Google Search Console: add one mcpServers entry with a bearer token in VS Code or JetBrains. You do not need a Google Cloud project.
Claude.ai (browser)
Add Google Search Console to Claude.ai as a custom connector. Paste one URL and approve access. No token to copy, no config file, no Google Cloud project.
Direct HTTP (curl, custom agents)
Call the GSC PAP MCP server from curl or your own agent. It is JSON-RPC over HTTP with a bearer token, so you need no MCP client or Google Cloud project.
opencode
Add Google Search Console to opencode as a remote MCP server. One config block with your token, no Google Cloud project, no local server to run.
Cline
Add Google Search Console to Cline in VS Code or the Cline CLI as a remote MCP server. One token, no Google Cloud project, read-only access.
Warp
Add Google Search Console to Warp's agent as a remote MCP server. Paste one JSON block with your token, press Start, and ask about your traffic in the terminal.
LM Studio
Give a local model your Search Console data. Add GSC PAP to LM Studio's mcp.json as a remote server, with one token and no Google Cloud project.
ChatGPT
Add Google Search Console to ChatGPT as a custom MCP server. What the setup looks like, and the plan requirement that decides whether you can do it at all.
Goose
Add Google Search Console to Goose as a streamable_http extension. One block in config.yaml with your token, no Google Cloud project, read-only access.
Google Antigravity
Add Search Console to Google Antigravity as a custom MCP server. It handles dynamic client registration, so the setup is a URL and a sign-in, with no token.
Kilo Code
Add Google Search Console to Kilo Code as a remote MCP server. It can negotiate OAuth for you, or take a bearer token. No Google Cloud project either way.
Amp
Add Google Search Console to Amp as a remote MCP server, in settings or with one CLI command. No Google Cloud project, read-only scopes.
Kiro
Add Google Search Console to Kiro as a remote MCP server. One entry in mcp.json, the token read from an approved environment variable, read-only access.
Raycast
Add Google Search Console to Raycast AI as an HTTP MCP server. Dynamic OAuth means no token to paste, and HTTP servers work on Raycast for iOS too.
GitHub Copilot CLI
Add Google Search Console to GitHub Copilot CLI with one command or one JSON entry. Remote HTTP transport, your token in a header, read-only access.
n8n
Give an n8n AI Agent your Search Console data through the MCP Client Tool node, and schedule the SEO report you keep meaning to write.
LibreChat
Add GSC PAP to librechat.yaml as a streamable-http MCP server, and give every user on your install their own Search Console access rather than a shared one.