Analytics MCP Server
Appearance

Releases

Changelog

What changed in each release of Analytics MCP Server. Current version: v1.24.0.

v1.24.0

More workspaces, and moving projectsCurrentOct 17, 2026

Create another workspace from the workspace menu (for a company or a client) and move a project into it from Projects. Your plan is shared across the workspaces you own.

Added
  • Workspace menu → Create workspace: a new, empty workspace you own, with its own Google connection, projects, team and AI clients. Up to 10 per account.
  • Projects → Move: the owner moves a project to another workspace they own. The target workspace's Google connection must be able to read the project's sources; the project keeps its id, sources and GA4 hosts. AI clients approved for a fixed list that included it lose access in the old workspace.
  • IndexNow: the site publishes an IndexNow key, and a GitHub workflow tells Bing about new and changed pages from the live sitemap after each deploy and once a day.
Changed
  • Plans are per account: the project allowance counts projects across every workspace you own, so a new workspace never adds projects. Pro requests and operator plan changes apply to the account; the Projects page and project menu show account-wide usage.
  • Deleting an account disables every workspace it owns. Admin → Users counts and lists projects across all owned workspaces and shows each project's workspace.

v1.23.0

Clearer Pro reviews and user pagesOct 17, 2026

Pro reviews read top to bottom (who asked, their message, their websites, your decision) with counts at the top; every user opens to a page of their websites and Pro requests; and an open tab offers a reload after a deploy.

Added
  • Admin → Users: click any row to open the user. The list shows each account's domains as links.
  • User page: name and email first, a Websites section with each project's domains (linked to the live site), Search Console site, GA4 property and hosts, time zone and setup state, and the user's Pro requests with their messages.
  • When a new release is live, an open tab shows "A newer version is live" with a Reload button, instead of quietly running old screens.
Changed
  • Admin → Pro reviews: counts (waiting, approved, declined, expired) at the top; each request shows the person with their initials, their message under a label, their domains and projects, and a separate "Your decision" bar with Approve / Decline and a plain confirmation. Approval defaults to 5 projects. The email log is folded away with readable names for each email.

v1.22.0

Operator emails that say whoOct 17, 2026

The operator now gets an email for every sign-up, and the Pro request email names the requester, with their reason, plan and projects.

Added
  • New sign-up email to the operator mailbox (EMAIL_OPERATOR_TO) for every new account: name, email, sign-up time and a link to the user in Admin.
Changed
  • The Pro request email now says who asked (name and email), their reason, workspace, current plan and allowance, and their projects with websites, with a link to Pro reviews. The subject names the requester.
Security
  • Names in subjects are stripped of line breaks and bounded. Once an operator email is sent, fails or the account is deleted, the stored copy is reduced to a generic notice, so the database does not keep the name and email from it.

v1.21.0

Who asked for Pro, and what they runOct 17, 2026

Admin → Pro reviews now shows the requester's name and email, their plan, Google connection and projects, before and after a decision. The user list shows each account's websites.

Added
  • Pro reviews: each request shows the requester (name, email linked to their user page, sign-up and last sign-in), the workspace name, plan with project and seat allowance, Google connection, and its projects with their website and data sources.
  • Recent decisions keep the same details, plus who decided and when; after an approval the plan shown is the one granted.
  • Admin → Users: the Projects column lists each account's websites (project name, site, GA4 property, Search Console, setup state), up to 10 per user, and search matches names as well as emails.

v1.20.3

Pro request flow tested end to endOct 17, 2026

A browser test now covers the whole Pro request: a new user asks on /pro, the operator sees it in Pro reviews and approves it, and the user gets Pro.

Added
  • End-to-end test: a new user submits a Pro request, which queues the requester's receipt and the operator's review email; the request appears in Admin → Pro reviews, approving it upgrades the workspace, and a second project can then be added.

v1.20.2

Umami site analyticsOct 17, 2026

Visits to analyticsmcpserver.com are also counted in Umami, with the same path-only privacy rules as Google Analytics.

Added
  • This website's own page views now also go to Umami (cookieless, self-hosted). It loads after the page is idle, only on the production host (SITE_UMAMI_WEBSITE_ID overrides or turns it off), with auto-tracking off.
Changed
  • The privacy policy names Umami and what it receives.
Security
  • Umami gets exactly what Google Analytics gets: the path without query strings, fragments or record ids, the referring site's origin and the page title. Invite, consent and OAuth pages are never tracked.

v1.20.1

Founder photo loadsOct 17, 2026

The founder photo on the homepage now loads; the server did not yet serve it.

Fixed
  • The homepage photo of M Asif Rahman answered 404: the production server serves only listed public files and had no WebP type. It is now listed, served as image/webp and cached like the logo.

v1.20.0

Why I'm building thisOct 17, 2026

The homepage now carries a note from the founder, M Asif Rahman, on why he built Analytics MCP Server, with links to his full story on ar.bd.

Added
  • Homepage section "Why I'm building this" with M Asif Rahman's photo and story, linking to the full guide and comparison on ar.bd and to ar.bd.
Changed
  • The public footer credits M Asif Rahman, links to his site and the story behind the product, and shows the copyright.
  • Homepage structured data names M Asif Rahman as the founder (Person, linked to ar.bd and LinkedIn).

v1.19.1

Public changelog and homepageOct 17, 2026

The changelog is now a public page, the homepage opens for signed-in users with their account in the header, and direct links to Indexing load normally.

Changed
  • /changelog is public and prerendered like the docs (also as Markdown), listed in the sitemap and llms.txt and linked from the public header and footer; signed-in users still see it inside the app. GET /api/changelog is public too.
  • The release list ships with the web app (generated by pnpm run changelog), so the page and the sidebar version need no API call.
  • Signed-in users can open the homepage (it no longer redirects to setup). The public header then shows who is signed in (initials, name and email) with a Dashboard button instead of Sign in and Get started.
Fixed
  • Opening /indexing directly (a bookmark or a reload) answered HTTP 404 before the app loaded; it is now an app route like the other reports.

v1.19.0

Submit sitemaps to GoogleOct 17, 2026

One optional write: owners can turn on sitemap submission, then resubmit sitemaps from Indexing or let an AI client do it.

Added
  • Connections → Sitemap submission: the workspace owner can turn on Search Console write access on its own Google consent screen (never at sign-in). It is used only to submit the projects' sitemaps; turning it off reconnects read-only.
  • Indexing → Sitemaps: Resubmit on each sitemap for owners and admins, with a confirmation. Google fetches the sitemap again; submitting does not guarantee indexing.
  • submit_sitemap MCP tool, listed only for AI clients granted the new sitemaps:write permission, which an owner or admin ticks on the consent screen (asking for it alone grants nothing).
  • POST /api/analytics/sitemaps/submit; list_sitemaps and the sitemaps report say whether submitting is possible (submission.enabled, can_submit).
Changed
  • Product rules, privacy policy and AGENTS.md: read-only Google with one opt-in write (owner decision 2026-10-16).
Security
  • Submissions stay on the project's own Search Console property and hosts, are limited to once an hour per sitemap and 20 a day per project, are audited without the URL, and a refused write never revokes the connection or the project.

v1.18.0

Indexing & sitemapsOct 16, 2026

A Search Console page for what you submitted, whether Google indexed it and why not, and where else you appear in Google.

Added
  • Indexing page (Project reports → Indexing): submitted sitemaps with Google's submitted URL counts, errors, warnings, pending state and when Google last read them.
  • Index check on demand: inspect a sitemap's URLs 20 at a time (newest first, with Next/Previous) or one URL, with Google's coverage state per URL, the reasons counted, a plain-language meaning and what to do, last crawl, canonical mismatches and rich results. Nothing is inspected until asked, and repeat checks the same day are free.
  • Where you appear in Google: clicks, impressions, CTR and position per search type (web, image, video, News tab, Discover, Google News) and web results by search appearance (rich results, videos, product snippets). A type with no data says so, never 0.
  • Request indexing and resubmitting stay in Search Console: each URL that is not indexed links to its inspection there, with the Sitemaps and Page indexing reports. The app remains read-only; Google offers no read-only way to do either.
  • get_search_features MCP tool: the same search types and search appearance rows for AI clients.
  • The Indexing page has second-level tabs (Sitemaps, Index check, Search types), kept in the URL as ?tab=; search types load only when their tab opens.
  • Read-only endpoints /api/analytics/sitemaps, /api/analytics/index-status and /api/analytics/search-features.
Changed
  • get_index_status takes offset to page through a whole sitemap and returns by_reason (Google's coverage states counted) and rich_results per URL.

v1.17.0

One project, many sitesOct 15, 2026

Cover a hub and all its subdomains in one project, and answer for one site or all of them, in GA4 and Search Console alike.

Added
  • Hostnames accept *.example.com (every subdomain), up to 30 entries: example.com plus *.example.com covers a hub and one site per country, and new subdomains need no edit. The Projects editor offers it when GA4 recorded a host and its subdomains.
  • host argument on every Search Console tool (query detail, opportunities, trending queries, query_search_performance, list_sitemaps, get_index_status), narrowing GA4 and Search Console to one site.
  • get_host_breakdown MCP tool: per host, GA4 sessions, users and key events, Search Console clicks, impressions, CTR and position, and submitted sitemaps, with totals and warnings that name hosts with traffic but no sitemap, a sitemap but no traffic, or sitemap errors.
  • Setup checks: every hostname is covered by the Search Console property, and per host whether sitemaps and GA4 traffic line up (and which sitemaps have errors).
Changed
  • A project's hostnames now limit Search Console too: every Search Console query is filtered to pages on those hosts (unless a URL-prefix property already covers exactly them). Results say so; Google counts these per page, so totals can differ from the property's own.
  • list_sitemaps keeps to the hosts in scope and gives each sitemap's URL and host; get_index_status picks a host's sitemap on a Domain property, keeps its URLs to that host, and asks for a full URL when a path matches several hosts' sitemaps.

v1.16.0

AI traffic across your workspaceOct 13, 2026

A consistent app-wide theme, prominent AI attribution, and reliable report drill-downs.

Added
  • App-wide Light/Dark preference covering reports, settings, public pages and portaled menus. Added subtle panel, route and chart entrance motion with reduced-motion support.
  • AI traffic spotlight on both workspace dashboard modes, with tracked sessions, matched-cohort traffic share, key events and leading assistants; project reports include a linked AI summary.
Changed
  • Rebuilt the public homepage around AI traffic and MCP workflows, with an interactive labelled example, modern responsive styling, accessible motion, and cohesive docs, sign-in and policy pages.
  • Workspace AI and overview reports share bounded request concurrency and a 48-entry, 1.5 MB cache under the existing authorization and invalidation rules.
Fixed
  • Top pages link when the API supplies the URL in the label. Page and query drill-down links retain their project, including in new tabs.

v1.15.0

Two dashboard modesOct 13, 2026

Keep the classic light dashboard or switch to an animated dark command view.

Added
  • Light and Dark dashboard switcher, defaulting to Light and remembering the choice in this browser. Both views share the same authorized reports, cache and refresh behavior.
  • Pause control for decorative animation, automatic reduced-motion support, and compact expandable daily values, coverage and source notes.
Changed
  • Preserved the classic light all-projects dashboard and added an optional dark cyan and violet command view with an animated traffic core, metric-switching chart and website sparkline cards.

v1.14.1

Reliable landing and daily coverageOct 13, 2026

Live-data verification fixes for existing workspaces and sparse daily reports.

Changed
  • Project source notes expand on demand so the comparison table stays readable.
Fixed
  • Existing workspaces land on the all-projects dashboard even when saved source verification is pending. Explicit setup and consent callbacks still stay in onboarding; live report authorization is unchanged.
  • Daily charts show sums of reported values with per-day project coverage instead of hiding almost the entire chart when a small project has sparse data. Days with no values remain blank.

v1.14.0

All your projects at a glanceOct 13, 2026

A new 30-day workspace dashboard and a refreshed analytics experience.

Added
  • All-projects dashboard after onboarding, with combined sessions, weighted engagement, search metrics, daily traffic and project drill-downs. Missing sources and overlapping properties are disclosed.
  • 30-day overview reports and explicit refresh, using authorized, versioned server caches and bounded per-tab report persistence.
Changed
  • Modern blue and white homepage and workspace navigation.

v1.13.1

Clear message when Google access endsOct 13, 2026

When Google ends a workspace's access, every page says so and offers Reconnect, instead of a generic error.

Added
  • A banner on every signed-in page while the workspace's Google connection has expired or been disconnected, with a one-click Reconnect Google for the owner (members are pointed to the owner).
Fixed
  • Reports showed "Could not load this · Connect Google read-only data access first · Try again" after Google ended access. They now say Google access ended and link to Connections; retrying could not help.

v1.13.0

Find your sources by domainOct 9, 2026

Type your website and the matching GA4 property and Search Console site are found and filled in.

Added
  • Find your sources by domain, in onboarding and on Projects: type a domain or URL and see the GA4 properties (matched by their web streams, then by name) and Search Console properties (domain property first) that your Google account can read, each with the reason it matched. The best pair is filled in; one click creates the project.
  • GET /api/connections/google/matches for owners and admins. Read-only: it lists what Google already has and never creates or changes anything there.

v1.12.1

Automatic release tagsOct 7, 2026

Release tags are created on GitHub automatically; nobody has to tag a release by hand.

Added
  • Release tags workflow: after every push to main it creates any missing v<version> tag from the changelog, including all earlier releases. Existing tags are never moved.

v1.12.0

Versions and changelogOct 7, 2026

Every release now has a version number, a git tag and an entry in this changelog.

Added
  • Version numbers for every release since launch, with a git tag (v0.1.0 onwards) on each release's merge commit.
  • Changelog page for signed-in users (Help → Changelog) and CHANGELOG.md in the repository. Visitors who are not signed in cannot read it.
  • The current version is shown at the bottom of the sidebar.

v1.11.0

Honest date ranges and index statusOct 7, 2026

Reports say exactly which days each source covers, and a new tool asks Google whether pages are indexed.

Added
  • get_index_status MCP tool: Google's URL Inspection for up to 20 URLs or the newest URLs of a submitted sitemap (indexed or not, last crawl, canonical, robots), with the daily inspection quota shown.
  • include_today option on the snapshot, top pages, page detail and trending tools.
Changed
  • get_site_snapshot reports GA4 and Search Console ranges separately, so GA4 can include today while Search Console ends on its last complete day.
  • Projects without GA4 hostnames leave out local and test hosts (localhost, 127.0.0.1, private ranges, *.local, *.test); a setup check flags properties with more than 5% local traffic and offers the real hostnames.
Fixed
  • Sorting by a Search Console column lists pages without a value last and says how many have one.
  • list_sitemaps no longer shows Search Console's deprecated "0 indexed" as fact; it reports it as unavailable and points to get_index_status.

v1.10.0

Email through toSendOct 7, 2026

Transactional email is live, sent through toSend from notify@analyticsmcpserver.com.

Added
  • Team invites, "workspace ready", account deletion and Pro request emails are delivered.
Changed
  • Email provider switched from Resend to toSend, with signed bounce and complaint webhooks.
  • Privacy policy lists toSend as the email processor.

v1.9.0

Privacy, terms and speedOct 7, 2026

Final privacy policy and terms with Google's Limited Use disclosure, a privacy-safe site tag and faster public pages.

Added
  • Privacy policy with the Google API Services Limited Use disclosure, final terms of service, and a Google OAuth verification guide.
  • The site's own GA4 tag on public and app pages: clean paths only, no query strings, record ids or token pages.
  • Step-by-step email setup brief for an assistant agent.
Changed
  • Self-hosted fonts, inlined critical CSS and cached public pages for faster first loads.

v1.8.0

Realtime and navigationOct 7, 2026

See who is on the site right now, and find everything from a reorganised sidebar.

Added
  • "Right now" card on Overview and the get_realtime MCP tool (GA4 realtime, last 30 minutes).
  • Rename a workspace, and a prompt to connect an AI client when none is connected.
Changed
  • Workspace and project switchers and the profile menu moved to the top right; the sidebar is grouped by Reports, AI & MCP, Workspace and Help.

v1.7.1

Page detail fixOct 7, 2026

Page detail and broken pages load again.

Fixed
  • Page detail and broken pages asked GA4 for an "entrances" metric it does not have; they now use landing-page sessions.

v1.7.0

Search insights and audience filtersOct 7, 2026

Drill into single queries, find ranking opportunities, and filter reports by audience.

Added
  • Query detail, opportunities (pages close to page one, low click-through) and cannibalisation, on the web and as get_query_detail and get_opportunities.
  • Country, device and browser filters for GA4 reports.
  • Weekday × hour traffic heatmap and get_traffic_heatmap.

v1.6.0

Landing pages, referrers and data qualityOct 7, 2026

Which pages convert, where visitors come from, and where the data itself has gaps.

Added
  • Landing pages with conversions and source mix.
  • Referrers and source groups on Traffic and in get_traffic_breakdown.
  • Broken pages report (get_broken_pages); "(not set)" rows explained and excludable; pages with fewer views than sessions explained.

v1.5.0

Project editing and setup checksOct 7, 2026

Change a project's sources without losing it, and see what is wrong with a setup.

Added
  • Edit a project's GA4 property or Search Console site and keep its id; only AI-client grants naming the project are revoked.
  • Setup quality checks (GA4 data, Search Console data, timezones, hostnames) in get_project_status and on project cards.

v1.4.1

Project fixesOct 7, 2026

Fixes for project names, single-source projects and the GA4 hostnames editor.

Fixed
  • Reusing the name of a deleted project no longer fails.
  • Projects with only GA4 or only Search Console no longer show as incomplete.
  • The GA4 hostnames dialog opens and saves correctly.

v1.4.0

AI referrals and page detailOct 7, 2026

See which AI assistants send visitors and to which pages, and everything about one page.

Added
  • AI referrals page and get_ai_referrals: sessions from ChatGPT, Perplexity, Gemini, Claude, Copilot and others, by assistant, landing page and day.
  • Page detail with conversions, referring sources and AI assistants; every page row links to it.
Changed
  • The project switcher drives every report and the URL (?project=); edit which projects an AI client can read.
Fixed
  • query_ga4_report rejected some valid requests; GA4 regex filters are kept short.

v1.3.0

Plans, snapshot and speedOct 7, 2026

Operator plans, one-call site snapshots, GA4 hostname scope and a much faster app.

Added
  • get_site_snapshot: totals, top pages, queries, channels and trends in one MCP call, plus MCP resources and prompts.
  • GA4 hostname scope per project.
  • Operator plans, unlimited allowances and a Google API usage page.
Changed
  • MCP consent lets you choose a workspace and grant all of its projects or a selection.
  • Faster app: smaller entry bundle, route prefetch, per-report caching and fewer Google calls.

v1.2.0

Teams and content analyticsOct 6, 2026

Invite teammates, and analyse pages and trends.

Added
  • Team membership: roles (owner, admin, viewer), invites, seats and a workspace switcher.
  • Pages, page detail and trends pages, with content, trend and flexible-query MCP tools (query_ga4_report, query_search_performance).
Changed
  • Google calls are metered per workspace.

v1.1.0

Project switcher, admin and Connect AIOct 6, 2026

Switch projects from the header, connect any AI client, and operate the service.

Added
  • Sticky header with a project switcher and account menu.
  • Connect AI guides for Claude, ChatGPT and other MCP clients.
  • Admin insights and privacy-safe MCP tool usage counters for operators.
Changed
  • Production moved to analyticsmcpserver.com.

v1.0.0

Launch on our own stackOct 6, 2026

Google sign-in, Postgres sessions and a Docker deployment on xCloud, with one aligned GA4 and Search Console report.

Added
  • Google sign-in with database sessions, replacing the previous sign-in provider.
  • Single sign-up: identity and read-only Google data access on one screen.
  • MCP server with OAuth and rotating refresh tokens, answering with live, project-scoped data.
  • Overview as one aligned GA4 and Search Console report with comparisons, top channels, queries and pages.
  • Docker Compose deployment on xCloud with push-to-deploy and forward-only migrations.
Security
  • Framing blocked, CSRF origin guard, sign-in rate limits, and token revocation on account deletion and replayed codes.

v0.1.0

PrototypeOct 6, 2026

The first prototype, imported into this repository.

Added
  • Onboarding, GA4 and Search Console connection, and the first reports.