
Dottide
io.github.dotbrainhqPublished by GitHub account dotbrainhqv0.4.1Updated Oct 29, 2026
Read-only Search Console, GA4, Bing and store numbers for every site, across Google accounts.
Overview
Read-only MCP server and CLI that gives AI agents Search Console, GA4, Bing and store numbers for all your sites across Google accounts.
- What you can do
- List configured sites, which key covers each, and whether Search Console, GA4 and Bing access works
- Query Search Console clicks, impressions, CTR and position by query or page, with date ranges, comparisons and filters
- Read GA4 sessions by source and medium, with AI assistant referrals and their landing pages
- Pull public store numbers for WordPress.org plugins, Firefox Add-ons and GitHub stars
- Surface opportunities, per-page queries, competing pages, index health and Core Web Vitals
- Read Bing Webmaster queries, discover properties, and write a weekly JSON snapshot
- When to use it
- Useful when you run several sites under different Google accounts and want an agent to answer SEO and traffic questions from live numbers, or to produce a recurring weekly review without logging in and out of each account.
- Requirements
- Runs locally as a Python package via uvx on macOS, Windows or Linux. Needs a Google service account key, imported and stored in the system secret store, with the service account invited to each site in Search Console and GA4. Bing is optional and needs a Bing Webmaster Tools API key. An optional read-only GitHub token can be set via DOTTIDE_GITHUB_TOKEN.
Installation
In SourceWeft
- Open Dottide in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
dotTide
[PyPI version] [MCP registry version] [dotTide on Glama] [cursor.directory]
dotTide is a read-only MCP server and command-line tool that gives Claude, Cursor, Codex and other AI agents the numbers for every site you run. It reads Google Search Console and Google Analytics 4 (GA4) across multiple Google accounts, plus WordPress.org, Firefox Add-ons and GitHub stats, and writes a weekly snapshot for scripts and agents.
Nothing gets added to your sites. dotTide only reads numbers you already have, and your keys stay on your computer.
Why
If your sites sit under different Google accounts, checking them means logging in and out of each one. The weekly check slips to monthly, and any AI agent you ask works from stale numbers. Store numbers for plugins, extensions and repos live in yet more places.
dotTide reads all of it with one read-only key, and answers the same way in Claude, on the command line, and in a weekly JSON file.
What it does
sites: every configured site, which key covers it, and whether Search Console, GA4 and Bing access works when you ask.search_queries: clicks, impressions, CTR and average position by query or page, for any date range, with an optional comparison to the previous period and filters for country, device and search type.traffic: GA4 sessions by source and medium, with AI assistant referrals (ChatGPT, Perplexity, Copilot, Gemini, Claude and others) counted separately, with the landing pages each assistant sent visits to (landing_pages). Only for sites that have GA4.store_stats: live public numbers that need no key: WordPress.org plugins, Firefox Add-ons, GitHub stars.opportunities: what to work on next: queries in striking distance, pages and queries losing clicks, pages and queries slipping in position (slipping_pages,slipping_queries), and page-one queries with a low click-through rate for their position. When that last list is empty because too few queries rank on page one,low_ctr_notesays so and gives each position band's count. List your brand names asbrand_termsin the profile and searches for them stay out of the low click-through check, since they get far more clicks at the top.page_queries: the queries that bring people to one page, and how much of the page's traffic Google hides behind anonymized queries.competing_pages: queries where two or more of your pages split the impressions, biggest overlaps first.index_health: every sitemap's state, and whether the top pages are in Google's index, with a plain list of problems to fix.core_web_vitals: real-user LCP, INP and CLS with Google's ratings when there's enough data, plus a lab run, from PageSpeed Insights.bing_queries: Bing Webmaster Tools clicks, impressions and position by query. Bing feeds Copilot.discover: finds every Search Console property and GA4 property the key can read, and writes the profile entries for you, with abrand_termssuggestion from each domain name, commented out until you check it.- Ready-made prompts: a weekly review, what to work on, and an index check, shown as commands in Claude and other MCP clients.
- Weekly snapshot: last full week against the week before, one JSON file per profile, for scripts and agents that read files.
How access works
No site moves to a new Google account. You create one Google service account, and whichever Google account owns a site invites that service account's email:
- Search Console: as a Restricted user.
- GA4: as a Viewer.
The service account can only read, and you can remove it from any site in one click. Bing is optional and uses one API key from Bing Webmaster Tools that covers all your sites there. Its key lives in your system's secret store: the macOS keychain, Windows Credential Manager or the Linux Secret Service.
Quick start
You need macOS, Windows or Linux, and uv. There is nothing to clone: uvx downloads dotTide the first time you run it.
- Write a starter profile, then add a plugin slug, an add-on slug or a GitHub user under
[stores]in it:
- Check that it runs. Store numbers need no Google setup at all:
-
Set up Google access by following Google setup. It takes about ten minutes, plus a minute per site.
-
Store the key, let dotTide find your sites, and check access:
-
Optional: add Bing numbers by following Bing setup. It takes about five minutes.
-
Connect it to Claude Code:
To update later, run uvx dottide@latest sites once; after that uvx dottide uses the new version.
Documentation
- Google setup: the service account, click by click, and sharing each site.
- Bing setup: optional Bing Webmaster Tools numbers with one API key.
- Configuration: profiles, every field, keys and environment variables.
- Using dotTide: each tool and its options, MCP clients, the weekly snapshot and its format, and fixes for common errors.
- Asking an AI agent for your numbers: example prompts for weekly checks, content to refresh, AI referrals and store numbers, plus a saved Claude Code command.
- Connecting AI clients: Claude Code, Claude Desktop, Cursor, Windsurf, VS Code, Codex, Gemini CLI, Grok, and agents without MCP.
Good to know
- Search Console data settles about three days after the fact, so default ranges end three days ago.
- Every Google scope dotTide asks for is read-only, and no tool can change anything.
- GitHub allows 60 anonymous requests an hour per IP. Set
DOTTIDE_GITHUB_TOKENto a read-only token if you hit the limit.
Contributing
See CONTRIBUTING.md. Security reports go through SECURITY.md.
License
The code is released under the MIT License. The dotTide name and icon are not covered by the license, so please use your own name and icon if you ship a copy.
Source: README.md at commit 110d97d
Tools
0Version history
1- v0.4.1LatestOct 29, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
