Integration · Kilo Code
Connect Kilo Code to Google Search Console
5 steps · about 5 minutes
By the GSC PAP team · Updated
Kilo Code is an open-source coding agent for VS Code that reads Model Context Protocol servers from its own JSONC config. GSC PAP is hosted, so it goes in as a remote server: a URL, and either a token header or an OAuth handshake.
Added that way, the agent can read your Search Console clicks, impressions, CTR and average position, your GA4 sessions and conversions, and PageSpeed field data, all with read-only Google scopes.
Kilo tries Streamable HTTP first and falls back to SSE on its own, so you do not pick a transport. You pick where the config lives and how it authenticates.
How to connect Google Search Console to Kilo Code
- 1
Sign in to GSC PAP
Go to gscpap.com, click "Sign in with Google" and approve the read-only access, then choose which properties to authorize. If you plan to use the OAuth route in step 4 you do not need to copy a token at all.
- 2
Open the Kilo config file
The global config is ~/.config/kilo/kilo.jsonc, which covers every project. A project can override it with ./kilo.jsonc, or ./.kilo/kilo.jsonc if the root is already taken. Project configuration takes precedence over global. The UI route is the Settings icon in the sidebar toolbar, then the Agent Behaviour tab, then MCP Servers.
shell# global ~/.config/kilo/kilo.jsonc # project ./kilo.jsonc # or ./.kilo/kilo.jsonc - 3
Add GSC PAP with a token
Note the top-level key: it is mcp, not mcpServers. Paste the block and replace YOUR_TOKEN with a token from app.gscpap.com/account/tokens.
json{ "mcp": { "gsc-pap": { "type": "remote", "url": "https://mcp.gscpap.com/mcp", "headers": { "Authorization": "Bearer YOUR_TOKEN" }, "enabled": true, "timeout": 15000 } } } - 4
Or let it do the OAuth handshake
Kilo starts an OAuth 2.0 flow automatically when the server supports it, and GSC PAP does, including dynamic client registration. Drop the headers block and Kilo will send you through the consent screen instead, which leaves no token in your config at all.
json{ "mcp": { "gsc-pap": { "type": "remote", "url": "https://mcp.gscpap.com/mcp", "enabled": true } } } - 5
Ask a Search Console question
In the VS Code extension you can also add a server from Settings, then MCP, then Add Server, then Remote (HTTP), filling in the URL and headers. Either way, start with "list my Search Console sites", then move to "show the queries where I rank between 5 and 20 with a CTR under 2%".
Kilo Code MCP setup: common issues
- ·The config key is mcp. The SSE example in Kilo's own docs uses mcpServers, which is the older shape; a remote server under mcpServers will be ignored.
- ·If you authenticate with a header and Kilo still tries an OAuth flow, set "oauth": false on the server entry so it uses the token you gave it.
- ·Project config overrides global. An edit that appears to do nothing usually means a project kilo.jsonc is shadowing it.
- ·The files are JSONC, so comments are allowed. Trailing commas are still a parse error.
- ·"Missing or invalid bearer token" is a token problem, not a transport problem. Mint a new one at app.gscpap.com/account/tokens.
Frequently asked questions
Does Kilo Code support remote MCP servers?
Yes, with "type": "remote" and a url. Kilo attempts Streamable HTTP first and falls back to SSE automatically, and it supports custom headers as well as OAuth 2.0, which it starts on its own when the server advertises it.
Where is Kilo Code's MCP config?
Globally in ~/.config/kilo/kilo.jsonc, and per project in ./kilo.jsonc or ./.kilo/kilo.jsonc. Project config wins. In the UI it is the Settings icon in the sidebar toolbar, then Agent Behaviour, then MCP Servers.
Can I connect without putting a token in the config?
Yes. Leave the headers out and Kilo negotiates OAuth with the server, which GSC PAP supports along with dynamic client registration, so nothing sensitive ends up in a file you might commit.
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.
Roo Code
Add Google Search Console to Roo Code in VS Code as a streamable-http MCP server. One block with your token, no Google Cloud project, read-only.
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.