Skip to main content
Glama

HitKeep dashboard showing traffic metrics, a 30-day comparison chart, and analytics navigation

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 --version

Follow 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.example

Open .env and replace paste-the-generated-value-here with a long random value from your password manager. Then start HitKeep:

docker compose up -d

Open 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

HitKeep AI visibility report separating crawler fetches, AI referrals, and related activity

Ecommerce

HitKeep ecommerce analytics showing revenue KPIs, trends, top products, and revenue sources

Search Console

HitKeep Search Console report showing clicks, impressions, click-through rate, position, and query trends

Ask AI

HitKeep Ask AI answer with completed analytics tools, cited evidence, a table, and a safe dashboard action

Assistants

HitKeep Assistants setup showing the MCP endpoint, connection guides, and OAuth access controls

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.

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 tools
hitkeep_get_ai_visibilityGet HitKeep AI VisibilityA
Read-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 ReferenceA
Read-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 DocA
Read-onlyIdempotent

Fetch an official HitKeep docs page as markdown.

Inputs: path (required). Returns: url, path, markdown

hitkeep_get_ecommerceGet HitKeep Ecommerce AnalyticsB
Read-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 BreakdownB
Read-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 NamesA
Read-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 StatsA
Read-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 HelpA
Read-onlyIdempotent

Return local MCP usage guidance, token setup, privacy boundaries, date ranges, and filter syntax.

Returns: url, path, markdown

hitkeep_get_opportunitiesGet HitKeep OpportunitiesA
Read-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 CampaignsA
Read-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 ConsoleA
Read-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 StatusA
Read-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 OverviewA
Read-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 VitalsA
Read-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 SitesA
Read-onlyIdempotent

List HitKeep sites visible to the bearer API client.

Returns: sites

hitkeep_search_docsSearch HitKeep DocsA
Read-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

    A3.9/5.0

    Scored across 16 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count4/5

    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.

    Completeness4/5

    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

    ActivityActive
    ResponsivenessUsually handled

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      F
      maintenance
      Downloads 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.
      12
      10 npm
      16
      Apache 2.0
    • F
      license
      Not graded
      quality
      D
      maintenance
      Read-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.
      -
    • A
      license
      A
      quality
      B
      maintenance
      MCP server for Plausible Analytics that enables querying traffic, conversions, and comparing time periods from any AI tool supporting MCP.
      4
      42 npm
      50
      MIT