Integration · VS Code (GitHub Copilot)
Connect GitHub Copilot in VS Code to Google Search Console
4 steps · about 4 minutes
By the GSC PAP team · Updated
GitHub Copilot in VS Code can use Model Context Protocol (MCP) servers from its agent. You configure servers in an mcp.json file: .vscode/mcp.json in a workspace, which you can commit and share with your team, or the mcp.json in your user profile, which stays private to you.
This guide uses the workspace file with an input variable, so the file never holds a token and each teammate enters their own.
How to connect Google Search Console to GitHub Copilot
- 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 it asks for. The connect page then shows your bearer token once, so copy it now. If you lose it, create a new one at app.gscpap.com/account/tokens; your other tokens keep working.
- 2
Create .vscode/mcp.json in your workspace root
Add the gsc-pap server below. The ${input:gsc_pap_token} placeholder makes VS Code ask for the token the first time the server starts and store the value securely, so the token never goes into the file. To set this up only for yourself, run MCP: Open User Configuration from the Command Palette and add the same entry there instead.
json{ "servers": { "gsc-pap": { "type": "http", "url": "https://mcp.gscpap.com/mcp", "headers": { "Authorization": "Bearer ${input:gsc_pap_token}" } } }, "inputs": [ { "type": "promptString", "id": "gsc_pap_token", "description": "GSC PAP bearer token (from app.gscpap.com/account/tokens)", "password": true } ] } - 3
Start the server and enter your token
In mcp.json, use the inline actions shown above the gsc-pap entry to start it, or run MCP: List Servers from the Command Palette, pick gsc-pap, and start it there. VS Code asks you to confirm that you trust the server, then prompts for the token. Paste the one from step 1.
- 4
Ask Copilot in Agent mode
Open the Chat view, select Agent from the agent picker, and ask: "What sites are in my Search Console?" Copilot calls list_sites and replies with your verified properties. It may ask you to approve each tool call. The Configure Tools button in the chat input shows the gsc-pap tools and lets you turn individual tools off.
Copilot agent mode and MCP: common issues
- ·MCP: List Servers lets you start, stop or restart gsc-pap and open its output log. If the tool list looks out of date, run MCP: Reset Cached Tools.
- ·VS Code does not forward servers that use ${input:...} variables to Agent Host sessions. If gsc-pap works in a regular chat but is missing in an Agent Host session, that is the reason. The Agent Host reads its own MCP config from ~/.copilot/mcp-config.json or a workspace .mcp.json.
- ·A tool call that fails with "Missing or invalid bearer token" means the token you entered is wrong or was revoked. Create a new one at app.gscpap.com/account/tokens.
- ·Keep "type": "http" and the full URL, https://mcp.gscpap.com/mcp. VS Code requires the type field for remote servers.
Frequently asked questions
Do I have to create a Google Cloud project before connecting Copilot?
No. GSC PAP already handles the Google Cloud side (the project, the Search Console API, the OAuth credentials). You sign in with Google at gscpap.com, copy a bearer token, and VS Code asks for it the first time the gsc-pap server starts.
Does GitHub Copilot need agent mode to read Search Console data?
Yes. MCP tools are used by Copilot's agent, so select Agent in the chat input's agent picker before you ask your Search Console question.
Is it safe to commit .vscode/mcp.json with the GSC PAP server in it?
Yes, with the config on this page. The file holds only the ${input:gsc_pap_token} placeholder, never the token itself. Each teammate is asked for their own token when the server first starts, and VS Code stores that value securely instead of writing it to the file.
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.
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.
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.