GSC Magic docs
Everything you need to connect your AI agent to Google Search Console, Bing Webmaster Tools and GA4, and to get useful answers out of it.
Last updated: October 12, 2026
What is GSC Magic
GSC Magic is a hosted MCP server. You sign in once, add one URL to your AI client, and the agent can read your search data directly instead of working from CSV exports and screenshots.
1. Connect
Sign in with Google or e-mail and password, and allow access to Search Console. Add Bing and GA4 if you use them.
2. Paste one URL
Add https://mcp.gscmagic.com/mcp to Claude, ChatGPT, Cursor or any MCP client.
3. Ask
The agent calls tools such as gsc_query_analytics and answers from your real numbers.
Along the way the dashboard at app.gscmagic.com shows the same data as charts, keeps a history longer than Google’s 16 months, sends alerts, and logs everything your agents do.
Quickstart
- Create your account. Open the dashboard and continue with Google, or create an account with e-mail and password (you will confirm the address by e-mail). Use the Google account that owns your Search Console properties.
- Allow access. The first sign-in asks Google once for Search Console, read-only Google Analytics 4 and read-only Tag Manager. Nothing is switched on for writing unless your plan allows it.
- Import your sites. On the Welcome screen, pick the properties to add. GSC Magic shows the busiest first and respects your plan’s site limit. Bing sites and GA4 properties with the same host are linked automatically.
- Connect your AI client. Follow AI clients below. The endpoint is
https://mcp.gscmagic.com/mcp. - Ask something. Start with “List my sites in GSC Magic.” Then try a prompt from Example prompts.
The Connect page in the dashboard has the same instructions, with one-click buttons and a connection test.
AI clients
The endpoint is the same everywhere:
https://mcp.gscmagic.com/mcp Clients that support OAuth sign you in through a GSC Magic page. For clients that do not, use an access token.
Claude (claude.ai, desktop and mobile)
- Open Customize → Connectors → Add custom connector, name it GSC Magic and paste the endpoint. The dashboard’s Connect page has an Add to Claude button that pre-fills this.
- Click Connect next to GSC Magic, continue with Google (or e-mail) and allow access.
- In a new chat, enable GSC Magic under + → Connectors and ask “List my sites in GSC Magic.”
On Team and Enterprise plans only an Owner can add the connector (Organization settings → Connectors → Add → Custom); members then click Connect themselves. Connectors added on the web appear in the desktop and mobile apps.
ChatGPT
- Turn on Developer mode: Settings → Apps → Advanced settings → Developer mode. On Business, Enterprise and Edu a workspace admin enables it first.
- Create an app: name GSC Magic, MCP server URL as above, authentication OAuth. Leave client ID and secret empty and tick “I trust this application.”
- Sign in with Google when ChatGPT opens the GSC Magic page, then pick GSC Magic from the + menu in a chat.
Custom MCP apps need a paid ChatGPT plan, and OpenAI moves these menus around. ChatGPT has no field for a custom header, so it cannot use an access token.
Claude Code
claude mcp add --transport http --scope user gsc-magic https://mcp.gscmagic.com/mcp Then type /mcp, pick gsc-magic and choose Authenticate. With a token instead of a browser sign-in:
claude mcp add --transport http --scope user gsc-magic https://mcp.gscmagic.com/mcp \
--header "Authorization: Bearer gsm_YOUR_TOKEN" Cursor
Add this to ~/.cursor/mcp.json, then click Connect next to gsc-magic in Settings → MCP:
{
"mcpServers": {
"gsc-magic": {
"url": "https://mcp.gscmagic.com/mcp"
}
}
} Older Cursor versions finish the sign-in on cursor://, which GSC Magic does not accept. Use a token there:
{
"mcpServers": {
"gsc-magic": {
"url": "https://mcp.gscmagic.com/mcp",
"headers": {
"Authorization": "Bearer gsm_YOUR_TOKEN"
}
}
}
} VS Code, Windsurf and others
Any client that speaks remote MCP over Streamable HTTP works. Give it the endpoint and, if it cannot do OAuth, this request header:
Authorization: Bearer gsm_YOUR_TOKEN The dashboard’s Connect page lists ready-made snippets for VS Code, Windsurf, Hermes Agent, OpenClaw, Grok and DeepSeek.
Access tokens
An access token (gsm_…) lets a client connect without a browser sign-in. It suits scripts, automation tools and clients without OAuth.
- Create one in the dashboard under Connect → Access tokens (workspace owner or admin). The full token is shown once. Store it in the client’s own config, never in a chat.
- Tokens expire after 365 days by default. You can pick a different lifetime up to 730 days, or none.
- Tick Read-only to make a token incapable of writing, whatever your plan allows.
- A token works on the MCP endpoint only, not on the dashboard API, and can be revoked at any moment. Revoking takes effect immediately.
- The Test connection button on the Connect page checks that an endpoint and token work.
Data sources
| Source | How to connect | Access |
|---|---|---|
| Google Search Console | Granted when you sign in with Google, or from Sources → Connect for e-mail accounts. | Read; write needs Pro and write mode |
| Google Analytics 4 | Granted with the same Google consent. Link a GA4 property to each site (Sites → edit) so the dashboard can show its data. | Read-only |
| Google Tag Manager | Granted with the same Google consent. | Read-only, Pro and Agency |
| Bing Webmaster Tools | Paste your Bing Webmaster API key under Sources. Link a Bing site to each site. | Read; a few write tools |
| IndexNow | Generate a key with indexnow_generate_key, host the key file on your site and save the key under Sources. | Write (Pro) |
| Core Web Vitals | Nothing to connect. Uses the Chrome UX Report and PageSpeed Insights. | Read-only |
Connected is not linked. Access to GA4 or a Bing key only makes properties discoverable. To see data on the Overview page, link a GA4 property and a Bing site to each site under Sites. Sources shows how many sites are linked.
Each source has Reconnect and Disconnect. Disconnecting GA4 stops GSC Magic reading it and removes the GA4 rows we stored; your Google connection and Search Console stay as they are.
Dashboard
| Page | What it does |
|---|---|
| Overview | Clicks, impressions and position across one site or all sites, for 28 days, 3 months or 12 months. Top queries and pages with change against the previous period, Bing clicks, AI referrals from GA4, a What changed card, Core Web Vitals with an on-demand Lighthouse audit, and CSV export. |
| Sites | Add, edit and remove sites, link Bing and GA4, and run a quick robots.txt and sitemap audit. |
| Sources | Connection state for Google, GA4, Bing and IndexNow, with Reconnect and Disconnect. |
| Connect | Your endpoint, instructions per AI client, access tokens and the connection test. |
| Alerts | Rules, e-mail delivery and the weekly digest. See Alerts and digest. |
| Activity | A log of every tool call your agents made (30 days), filterable by client, source and status, with export. |
| Team | Invite people, set roles and create client groups (Agency). |
| Billing | Plan, usage, invoices and the customer portal. |
| Settings | Profile, password, sessions, write mode, appearance (system, light or dark), data export and account deletion. |
History. After you add a site, GSC Magic backfills up to 16 months of daily data (14 days on Free), then refreshes every six hours. Raising your plan pulls in the older months. You can export or delete your stored history at any time.
Alerts and digest
On Pro and Agency, GSC Magic checks your sites after every sync and e-mails you when something needs attention. Delivery is by e-mail to the workspace owner. Every message has an unsubscribe link.
- Traffic drop: a page lost a large share of its clicks (30% by default).
- Indexing: a page that had traffic stopped appearing.
- Cannibalization: two of your pages started splitting a query.
- Ranking: an important query fell several positions.
- AI traffic: sessions from AI assistants jumped (needs GA4).
You can edit thresholds, turn rules off and delete them (with an Undo for a few seconds). A weekly digest summarizes your sites. On Free, the Overview’s What changed card previews what these rules would find. Each finding is reported once per week.
Example prompts
Replace example.com with your site. Your agent picks the right tools by itself.
Weekly check
“Compare the last 28 days with the previous 28 for example.com. What lost the most clicks, and what is the likely reason?”
Quick wins
“Show quick wins for example.com: pages at positions 4–20 with the most impressions. Suggest a title and meta change for the top five.”
Cannibalization
“Find queries where two of my pages compete on example.com and tell me which page should win each one.”
Indexing
“Run an index health report from my sitemap and list the URLs that are not indexed, grouped by reason.”
Two engines
“Compare Google and Bing clicks per page for example.com. Where is Bing clearly stronger?”
AI traffic
“How many GA4 sessions came from ChatGPT, Perplexity and Claude in the last 90 days, and which landing pages got them?”
More ideas in the prompt library.
Tools reference
Tools marked write change something in Google, Bing or IndexNow. They are offered to the agent only when your plan allows writing, write mode is on in Settings, and the source permits it (Search Console writes also need the full Google permission, which the first sign-in requests). Everything else is read-only.
Google Search Console
Search performance, indexing and sitemaps. One query returns at most 25,000 rows (a Google limit).
| Tool | What it does |
|---|---|
gsc_list_sites | List the properties you can access, with permission level. |
gsc_get_site | One property and your permission level on it. |
gsc_query_analytics | Clicks, impressions, CTR and position by query, page, country, device, search appearance, date or hour, with filters. |
gsc_list_sitemaps | Submitted sitemaps with status, errors, warnings and indexed counts. |
gsc_get_sitemap | Details of one sitemap. |
gsc_inspect_url | URL Inspection: indexed or not, coverage state, canonicals, last crawl, robots, mobile usability, rich results. |
gsc_inspect_urls_batch | Inspect up to 500 URLs, throttled to stay inside Google’s quota (2,000 per day per property). |
gsc_add_sitewrite | Add a property (you still verify it in Search Console). |
gsc_delete_sitewrite | Remove a property from your account. |
gsc_submit_sitemapwrite | Submit or resubmit a sitemap. |
gsc_delete_sitemapwrite | Remove a sitemap. |
gsc_request_indexingwrite | Indexing API notification. Google officially supports it only for JobPosting and BroadcastEvent pages. |
SEO reports
Ready-made analyses built on Search Console and Bing data, so your agent does not have to assemble them query by query.
| Tool | What it does |
|---|---|
report_quick_wins | Query and page pairs at positions 4–20 with many impressions, sorted by potential extra clicks. |
report_traffic_drops | Biggest losers and gainers against the previous period of the same length. |
report_content_decay | Pages that lost clicks in three consecutive windows: candidates for a refresh. |
report_brand_split | Branded and non-branded queries with clicks, impressions and share. |
report_cannibalization | Queries where two or more of your pages split the impressions. |
report_ctr_outliers | Pages whose CTR is under half of your median CTR at the same position. |
report_index_health | Inspects URLs from your sitemap and groups them by coverage state. |
report_google_vs_bing | Clicks and impressions per page, Google and Bing side by side. |
Bing Webmaster Tools
Needs your Bing Webmaster API key. Read tools cover the whole API; a few write tools manage sites, sitemaps and blocked URLs.
| Tool | What it does |
|---|---|
bing_list_sites | Sites on your Bing account. |
bing_query_statsbing_page_stats | Top queries and top pages. |
bing_page_query_statsbing_query_page_statsbing_query_page_detail_stats | Queries for a page, pages for a query, and query plus page detail. |
bing_query_traffic_statsbing_rank_traffic_stats | Traffic over time, for one query or the whole site. |
bing_crawl_statsbing_crawl_issuesbing_crawl_settings | How Bingbot crawls you, what it trips on, and your crawl settings. |
bing_url_infobing_url_trafficbing_fetched_urlsbing_fetched_url_details | Index information, traffic and fetch results for URLs. |
bing_list_sitemapsbing_sitemap_details | Sitemaps known to Bing. |
bing_link_countsbing_url_links | Inbound links by page and to a single URL. |
bing_keywordbing_keyword_statsbing_related_keywords | Keyword research: impressions, history and related terms. |
bing_url_submission_quotabing_list_blocked_urlsbing_list_query_paramsbing_get_site_roles | Quota, blocked URLs, URL-normalization parameters and site users. |
bing_add_sitebing_verify_sitebing_remove_sitewrite | Manage sites on your Bing account. |
bing_submit_sitemapbing_remove_sitemapwrite | Manage Bing sitemaps. |
bing_block_urlbing_unblock_urlwrite | Block or unblock a URL in Bing. |
bing_add_query_parambing_remove_query_paramwrite | Manage URL-normalization parameters. |
bing_fetch_urlwrite | Fetch a URL as Bingbot. |
Google Analytics 4
Read-only. Use it to compare search clicks with sessions or to measure traffic from AI assistants.
| Tool | What it does |
|---|---|
ga_list_properties | Accounts and GA4 properties you can access. Start here to get property ids. |
ga_list_data_streams | Data streams of a property, with the Measurement ID (G-XXXXXXX). |
ga_get_metadata | Dimensions and metrics available on a property, custom ones included. |
ga_run_report | A GA4 report: dimensions, metrics, date range and structured filters. |
ga_run_realtime_report | Realtime report for roughly the last 30 minutes. |
ga_list_key_events | Key events (formerly conversions) configured on a property. |
Google Tag Manager
Read-only, on Pro and Agency. Useful for checking what actually runs on your site.
| Tool | What it does |
|---|---|
gtm_list_accountsgtm_list_containersgtm_list_workspaces | Walk from account to container (GTM-XXXX) to workspace. |
gtm_list_tagsgtm_list_triggersgtm_list_variables | Everything configured in a workspace, including nested parameters. |
gtm_get_live_version | The published version: exactly what runs on the site right now. |
Core Web Vitals and IndexNow
Real-user performance from the Chrome UX Report, lab audits from PageSpeed Insights, and instant URL notification for Bing and other engines.
| Tool | What it does |
|---|---|
cwv_get_origin | LCP, INP, CLS, FCP and TTFB for a whole origin, last 28 days. |
cwv_get_url | The same for a single URL, when Chrome has enough traffic for it. |
cwv_history | Weekly history for up to about six months. |
psi_run_audit | Lighthouse through PageSpeed Insights: scores, lab metrics and top opportunities (10–30 seconds). |
indexnow_generate_key | Generate an IndexNow key and the file to host on your site. |
indexnow_submitwrite | Notify Bing, Yandex, Seznam, Naver and others about new, changed or deleted URLs. Needs your IndexNow key. |
Plans and limits
| Free | Pro | Agency | |
|---|---|---|---|
| Price | $0 | $10/month or $96/year | $34/month or $340/year |
| Tool calls | 200/month, 10/day | Unlimited | Unlimited |
| Sites | 1 | 10 | 50 |
| Stored history | 14 days | 16 months | 16 months |
| Search Console, Bing, IndexNow, Web Vitals, reports, GA4 | Yes | Yes | Yes |
| Tag Manager | No | Yes | Yes |
| Write tools | No | Yes | Yes |
| Alerts and weekly digest | No | Yes | Yes |
| Team seats and client reports | No | No | 5 seats, monthly client reports |
- 7-day Pro trial on new accounts, with no card needed. When it ends the account returns to Free. One trial per e-mail address.
- Every call to a tool counts, including failed ones. The daily limit resets at midnight UTC.
- If a plan ends and you have more sites than the new plan allows, the dashboard asks which to keep and the MCP endpoint pauses until you choose.
- Payments and invoices are handled by Polar. Cancel any time; the plan stays active to the end of the period you paid for.
Teams and roles
The Agency plan includes five seats counting the owner. Everyone works on the owner’s workspace, data and plan.
| Role | Can do |
|---|---|
| Owner | Everything, including billing, team and deleting sites. |
| Admin | Manage sites, sources, tokens and alerts. No billing or role changes. |
| Member | Use the AI tools, read-only. |
| Viewer | View the dashboard. No AI access. |
Client groups restrict a person to selected sites. A member or admin in a group sees only those sites in the dashboard, in alerts and through MCP, and nothing else. Subdomains count as separate sites, so you can give a.com to one client and blog.a.com to another. Invitations are e-mailed and valid for seven days.
Security and privacy
- Google and Bing credentials are encrypted at rest. Access tokens are stored only as hashes.
- Your agent sees data only from accounts you connected, scoped to your workspace and your role.
- Read-only is the default. Write tools need the right plan, write mode and Google permission, and each token can be forced read-only.
- Sessions expire after 14 idle days. Sensitive actions such as deleting your account require a recent sign-in.
- Export everything we hold about you from Settings, or delete your account and data there. Active paid subscriptions must be cancelled first.
Details are in the privacy policy and terms. To report a vulnerability write to support@gscmagic.com.
Troubleshooting
| Problem | What to try |
|---|---|
| The client cannot sign in or says the redirect is not allowed | Use an access token in the request header. This affects older Cursor, VS Code on vscode.dev and Grok. |
| ChatGPT fails to connect | Delete the app and create it again, then sign in once more. A stale sign-in is the usual cause. Make sure your plan allows custom MCP apps. |
| “No Search Console property” or an empty list | Sign in with the Google account that owns the properties, then check Sources. If it shows Reconnect, Google revoked or expired the connection: reconnect it. |
| The tool list lacks write tools | Check that your plan is Pro or Agency, that write mode is on in Settings, that you granted full Search Console access, and that the token or role is not read-only. |
| Bing returns nothing | Check the Bing Webmaster API key under Sources and that a Bing site is linked to the site. |
| Overview shows no GA4 or Bing numbers | The source is connected but not linked: open Sites, edit the site and choose the GA4 property or Bing site. |
| “Daily limit reached” | Free allows 10 calls a day and 200 a month. The daily count resets at midnight UTC; Pro removes the limits. |
| A site shows Reconnect | Google rejected our access. Reconnect Google under Sources. Apps in Google’s testing mode expire after seven days, which does not apply to GSC Magic. |
| Inspection quota errors | Google allows 2,000 URL inspections per day per property. Wait for the reset or inspect fewer URLs. |
Still stuck? Write to support@gscmagic.com with the client you use and the error message. Never include an access token.
Quick answers
Which AI clients work?
Any client that supports remote MCP over Streamable HTTP: Claude, ChatGPT, Claude Code, Cursor, VS Code, Windsurf and others.
Can my agent change anything?
Not unless you allow it. Write tools need the Pro or Agency plan, write mode switched on, and, for Search Console, full Google access. Tokens can be made read-only.
Is the data stored?
Tool calls read live from Google and Bing. The dashboard keeps daily statistics for the sites you add, for as long as your plan’s history allows.