HitKeep
Read-only HitKeep MCP server for querying web analytics, AI visibility, Search Console, ecommerce, Web Vitals, campaigns, and official docs.
List sites visible to the API client.
Retrieve site overviews with traffic KPIs, top dimensions, goals, funnels, chart data, filters, and comparisons.
Analyze AI crawler/assistant activity with overview, timeseries, and fetch-to-visit correlation.
Read ecommerce summaries, top products, source stats, and aggregate city/provider/ASN breakdowns.
List event names and break down event properties.
Get configured funnel conversion, drop-off, and step stats.
Check Google Search Console status and read overview, series, query, page, country, and device reports.
Analyze Web Vitals with summary, pages, timeseries, and visitor-context breakdowns.
Read QR campaign opens, pageviews, visitors, and optional timeseries.
Retrieve saved Opportunities recommendations.
Search and fetch official HitKeep docs, REST API reference, and MCP help.
Import Google Search Console aggregate data for query, page, country, and device reporting.
Integration for adding HitKeep analytics tracking to WordPress sites.

Why HitKeep
100% open source. The complete product is MIT-licensed. Custom tracking domains and team SSO live in the same public codebase—not in a separate proprietary edition.
Full data sovereignty. Self-host one Go binary with embedded DuckDB and NSQ, or export your data in open formats. Complete takeout, APIs, webhooks, share links, and permissions keep the data useful outside HitKeep.
AI-native analytics. HitKeep treats AI as a first-class traffic channel: crawler fetches, AI-referred visits, and chatbot outcomes remain distinct. Ask AI uses cited aggregate evidence, while read-only MCP gives approved assistants governed analytics access.
Privacy by default. The browser tracker sets no analytics cookies, respects Do Not Track, and collects focused website analytics without building a cross-site identity.
Reporting that reaches the outcome. Follow acquisition through pages, automatic and custom events, goals, funnels, ecommerce revenue, UTM and QR campaigns, Search Console, and Web Vitals.
Self-host the complete open-source product, or use HitKeep Cloud in a managed EU or US region when you do not want to operate it yourself.
HitKeep is web-focused. It favors aggregate traffic and conversion evidence over visitor profiles, session replay, mobile SDKs, or built-in experimentation. The result is a smaller collection boundary and operating surface without stopping at a basic pageview counter.
Related MCP server: Google Search Console Audit MCP
Quick Start
On Apple silicon macOS or x86_64 Linux, install HitKeep with Homebrew:
brew install HitKeep/hitkeep/hitkeep
hitkeep --versionFollow the Homebrew installation guide to configure and start HitKeep. On Linux ARM64, use the published ARM64 binary or Docker instead.
For a production-oriented self-hosted setup, download the Docker Compose file and environment template:
mkdir hitkeep && cd hitkeep
curl -fsSLo compose.yml https://raw.githubusercontent.com/HitKeep/hitkeep/main/examples/compose.yml
curl -fsSLo .env https://raw.githubusercontent.com/HitKeep/hitkeep/main/examples/.env.exampleOpen .env and replace paste-the-generated-value-here with a long random value from your password manager. Then start HitKeep:
docker compose up -dOpen http://localhost:8080 and create the first account. Keep .env private and retain the same secret across restarts.
Before exposing an instance publicly, follow the Docker Compose guide for HTTPS and trusted proxies, then review backups and the configuration reference. For a native Linux service, download an AMD64 or ARM64 binary from GitHub Releases and follow the binary installation guide.
Track Your First Site
Create a site in the dashboard, then add the tracker to your pages:
<script async src="https://analytics.example.com/hk.js"></script>Pageviews and supported automatic interaction events—outbound clicks, file downloads, and form submissions—start flowing immediately. Use the custom events guide for product-specific actions such as signups, purchases, or qualified leads.
Explore HitKeep
AI visibility

Ecommerce

Search Console

Ask AI

Assistants

Documentation, Community, and Support
Find answers in the documentation, report reproducible bugs through GitHub Issues, and disclose vulnerabilities privately through the security policy.
Run ./hk setup, then start seeded development with ./hk dev --seed or use ./hk dev --detach. Capture product proof with ./hk screenshot; inspect ./hk catalog commands --output json and ./hk catalog configuration --output json instead of copying mutable workflow facts. Validate with ./hk qa pr. The Compose stack and complete workflow live in CONTRIBUTING.md.
Operate: Installation · Configuration · REST API · Goals · Funnels
Evaluate: Comparison library · Compliance · Releases · Changelog
Contribute: Contributor guide · Security policy · Issues
Support open source: Fund HitKeep on GitHub Sponsors or make a one-time contribution.
License
HitKeep is distributed under the MIT License.
DuckDB extensions
HitKeep includes the DuckDB extensions required for S3 backups and XLSX exports.
It does not download extensions at startup. On first use, bundled files are
extracted into HITKEEP_DATA_PATH/.duckdb/extensions; this directory must be
writable by the process running HitKeep and reside on a mount without noexec.
The cache is disposable and can be
recreated without network access. No HOME override or separate extension
installation is needed for binary, Homebrew, or container deployments.
Contributor instructions for DuckDB upgrades are in the extension bundle documentation.
Available Tools
16 toolshitkeep_get_ai_visibilityGet HitKeep AI VisibilityARead-onlyIdempotent
Read AI crawler fetch overview, timeseries, and optional fetch-to-visit correlation for one site.
Inputs: site_id (required), to, from, path, +6 more. Returns: to, from, site_id, overview, +2 more
hitkeep_get_api_referenceGet HitKeep API ReferenceARead-onlyIdempotent
Fetch an official HitKeep REST API reference page as markdown by path or operation slug.
Inputs: path_or_operation (required). Returns: url, path, markdown
hitkeep_get_docGet HitKeep DocARead-onlyIdempotent
Fetch an official HitKeep docs page as markdown.
Inputs: path (required). Returns: url, path, markdown
hitkeep_get_ecommerceGet HitKeep Ecommerce AnalyticsBRead-onlyIdempotent
Read ecommerce summary, top products, source stats, and aggregate city, provider, and ASN breakdowns for one site.
Inputs: site_id (required), to, from, limit, +3 more. Returns: to, from, site_id, sources, +2 more
hitkeep_get_event_breakdownGet HitKeep Event BreakdownBRead-onlyIdempotent
Read a count breakdown for one event property.
Inputs: site_id (required), event_name (required), property_key (required), to, +2 more. Returns: to, from, site_id, breakdown
hitkeep_get_event_namesGet HitKeep Event NamesARead-onlyIdempotent
List event names tracked for one site in a date range.
Inputs: site_id (required), to, from. Returns: to, from, names, site_id
hitkeep_get_funnel_statsGet HitKeep Funnel StatsARead-onlyIdempotent
Read aggregate step visitors, drop-off, and conversion for one configured funnel.
Inputs: site_id (required), funnel_id (required), to, from. Returns: to, from, stats, site_id
hitkeep_get_mcp_helpGet HitKeep MCP HelpARead-onlyIdempotent
Return local MCP usage guidance, token setup, privacy boundaries, date ranges, and filter syntax.
Returns: url, path, markdown
hitkeep_get_opportunitiesGet HitKeep OpportunitiesARead-onlyIdempotent
Read saved localized Opportunities recommendations for one site without raw prompts or provider payloads.
Inputs: site_id (required), limit, status. Returns: site_id, opportunities
hitkeep_get_qr_campaignsGet HitKeep QR CampaignsARead-onlyIdempotent
Read aggregate QR campaign opens, pageviews, visitors, and optional open timeseries without redirect tokens or raw hit data.
Inputs: site_id (required), to, from, limit, +1 more. Returns: to, from, site_id, campaigns
hitkeep_get_search_consoleGet HitKeep Search ConsoleARead-onlyIdempotent
Read imported Google Search Console overview, series, and optional dimension reports for one site.
Inputs: site_id (required), to, from, page, +5 more. Returns: to, from, pages, device, +8 more
hitkeep_get_search_console_statusGet HitKeep Search Console StatusARead-onlyIdempotent
Read Google Search Console mapping and sync status for one HitKeep site.
Inputs: site_id (required). Returns: mapped, reason, site_id, team_id, +7 more
hitkeep_get_site_overviewGet HitKeep Site OverviewARead-onlyIdempotent
Read aggregate traffic KPIs, top dimensions, goals, chart data, and optional comparison for one site.
Inputs: site_id (required), to, from, filters, +2 more. Returns: to, from, stats, site_id
hitkeep_get_web_vitalsGet HitKeep Web VitalsARead-onlyIdempotent
Read aggregate Web Vitals p75, sample counts, rating counts, and optional page or visitor-context breakdowns for one site.
Inputs: site_id (required), to, from, path, +6 more. Returns: to, from, pages, metric, +5 more
hitkeep_list_sitesList HitKeep SitesARead-onlyIdempotent
List HitKeep sites visible to the bearer API client.
Returns: sites
hitkeep_search_docsSearch HitKeep DocsARead-onlyIdempotent
Search official HitKeep documentation using the LLM catalog and cached markdown pages.
Inputs: query (required), limit. Returns: results
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 16 tools
All 16 tools have clearly distinct purposes. Analytics tools target specific data types (overview, ecommerce, web vitals, funnels, events, QR, search console, opportunities), while docs tools are separated into reference, doc, and search functions. No two tools appear to compute or return the same information.
Every tool follows the 'hitkeep_<verb>_<noun>' pattern, using either 'get', 'list', or 'search' as verbs. The resource nouns are descriptive and match the output type. This is a perfectly consistent and predictable naming scheme.
With 16 tools, the server is slightly above the typical 3-15 threshold, but each tool represents a distinct analytics report or documentation feature. The breadth is justified by the wide domain coverage, though a few tools could be consolidated without loss of clarity.
The tool set covers the major analytics aspects a user would expect from HitKeep (overview, ecommerce, web vitals, funnels, events, search console, QR, opportunities). The only missing pieces are write operations, but for a read-only analytics server that is appropriate. The documentation tools (get_doc, get_api_reference, search_docs) are a nice addition for self-navigation.
Maintenance
Related MCP Connectors
Read-only Google Search Console MCP server for AI assistants.
Read-only Google Analytics 4 MCP server for AI assistants.
Read-only MCP for AI usage profiles, leaderboards, stats, and docs; no writes or private data.
Hosted, read-only Google Search Console MCP: performance, comparisons, URL inspection, sitemaps.
Related MCP Servers
- AlicenseAqualityFmaintenanceDownloads your entire Search Console dataset into a local SQLite database, then gives your LLM a pre-built SQL query library for every standard SEO analysis type, with context available for your LLM to perform any SQL query to answer your questions and analyse for you.1210 npm16Apache 2.0
- AlicenseAqualityCmaintenanceRead-only MCP server for Google Search Console: performance queries, URL inspection, indexing checks, sitemaps, and one-call HTML SEO audit reports.17246 PyPI10MIT
- FlicenseNot gradedqualityDmaintenanceRead-only MCP server that retrieves SEO analytics data from WordPress, Google Search Console, and Google Analytics 4, enabling users to fetch posts, search performance, page metrics, and more via natural language.-
- AlicenseAqualityBmaintenanceMCP server for Plausible Analytics that enables querying traffic, conversions, and comparing time periods from any AI tool supporting MCP.442 npm50MIT