Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Vitrus analytics

by Vitrus-Devversion 0.11.1i★ –iRuns in the cloud
Registry namedev.vitrus/analytics

Install

Overview

Description from the maker (original English)

Read-only analytics for all your apps: users, AI traffic, revenue, with the SQL behind every number.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs in the cloud
  • Transport: Streamable HTTP
  • Category: Marketing & social media

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • The registry lists no key to fill in.

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://app.vitrus.dev/mcp

Run this in your terminal

claude mcp add --transport http analytics https://app.vitrus.dev/mcp

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "analytics": {
      "url": "https://app.vitrus.dev/mcp"
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "analytics": {
      "type": "http",
      "url": "https://app.vitrus.dev/mcp"
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://app.vitrus.dev/mcp

Menu names can differ slightly by plan and over time.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

We have not read this server’s tool list yet; we check endpoints in rotation.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain vitrus.dev (the registry checks domain ownership)

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • … Not checked yet

    Endpoint responds

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    Sign-in with OAuth

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Compared with others in Marketing & social mediai

  • More stars than 0% of the other 2954 servers in this category
  • Published to the registry more recently than 63% of the other 2954 servers in this category
  • Basic checks equal to or better than 100% of the other 2954 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Vitrus analytics safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.11.1) reached the registry 18 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

An MCP server retrieving transcripts of YouTube videos

Runs on your computer★ 495MITUpdated 9 days ago
Install

GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.

Runs on your computer★ 244MITUpdated 9 days ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Open-source analytics for every app you ship. One panel you can check.

Cookie-free web and product analytics for websites, iOS and Android apps — traffic, users, retention and

revenue side by side, without storing who your users are. Every number carries the SQL that produced it,

and your AI agent can ask about all of them over MCP. One process, on your own server.

Live demo · Use with ChatGPT / Claude · Website · Cloud · Documentation · Quickstart · Compare · Changelog · Discussions

Quickstart

You need Bun 1.3 or newer. That is the whole list.

bun install -g @vitrus-dev/cli

vitrus init # creates ./vitrus.db and a secret salt vitrus site add "My site" example.com # prints your script tag VITRUS_PASSWORD="a long secret" vitrus start # ingest + dashboard on http://localhost:3000

From source instead: git clone https://github.com/Vitrus-Dev/vitrus && cd vitrus && bun install && bun run build:tracker, then run bun packages/cli/src/cli.ts wherever this says vitrus.

Then one line in your site's :

<script defer data-site="SITE_ID" src="https://YOUR-HOST/v.js"></script>

Mobile apps: Vitrus for Swift (iOS, iPadOS, macOS — Swift Package Manager) and Vitrus for Flutter & Dart. Same panel, user ids hashed on the device, no device identifier.

No Docker Compose file, no database server, no migration step. Rather not run it? [app.vitrus.dev](https://app.vitrus.dev) is the same engine, hosted, with a free plan — and [the live demo](https://vitrus.dev/demo) opens the full hosted dashboard on sample data, no account needed.

Every number opens the query that made it

Click a figure and you get the SQL that ran, its parameters, the window and the result — not a description of the number, the number's origin. It is the same evidence the AI summary is checked against.

That matters more now that models write the reports. When an AI-written sentence contains a number that is not in the evidence, Vitrus drops the sentence before it reaches you:

Visitors are down 18% against the previous period. [e1]

The drop coincides with the last deploy. [e1, e7] ✗ dropped: "The new theme caused a 41.7% fall in conversion." → 41.7 is in no evidence record, and "caused" is a claim nobody can make from this data.

Every app you ship, one panel

Shipping several apps — web and mobile — usually means one admin page per app just to see who signed up. Add one line where your app knows the user is signed in, and Vitrus counts who is new, who came back, who you lost and who started paying, per app and for all of them side by side:

vitrus.identify(user.id)           // required: hashed in the browser, never sent raw

vitrus("signup") // optional vitrus("plan", { plan: "pro" }) // optional: your own plan labels

  • Every user, under a made-up name. Open an app and each signed-in user is a row — returning, one-time or signed up only, actions, active days, visits, joined, last active; opened, actions by day and recent visits — shown as "Amber Falcon · 3f9a2c", because no email or name is stored to show.
  • Lifecycle per app. New, active, came back, lost, net, quick ratio, one-and-done, current plans, became and stopped paying — each with its query.
  • Ask your AI. "Which of my apps lost the most users this week?" — get_portfolio and get_lifecycle over MCP answer with counts and the queries behind them.
  • Hashed before it leaves the browser. The script sends sha256(site + "|" + id); the server hashes that again with a secret before storing it. Your users' ids — often emails — never reach the server. No WebCrypto, no id sent.
  • Separate per app, by design. The same person in two of your apps is two unrelated hashes; nobody can join them. Portfolio totals say so instead of pretending to deduplicate.
  • Personal fields dropped twice. Email, phone, name, address, password, token and similar properties — and any value shaped like an email or phone number — are removed in the browser and again on the server, and the removal is counted.
  • No auth provider to connect. Works the same with Supabase, Clerk, Firebase, Better Auth or your own login.

Self-hosted: GET /api/people?site=…, GET /api/lifecycle?site=… and GET /api/portfolio on your server; over MCP, get_lifecycle and get_portfolio. How it is counted →

A whole analytics product

Globe. Sessions at their city, on a canvas drawn from our own geometry — no map provider, no GeoIP database.

Real-time. Who is on the site now, and the latest events, streamed as they arrive.

AI traffic. Visitors ChatGPT and Claude sent you, kept apart from the crawlers that read your pages.

Funnels. Ordered — a step counts only after the one before it, so the conversion is not inflated.

Journeys. The paths people take, as a Sankey you can filter by start and end.

Revenue. Per currency, never converted, attributed to where the visit began.

Web Vitals. LCP, INP, CLS, FCP and TTFB at the percentile you choose, per page.

Retention. Cohorts of identified users — and an honest blank for days that have not happened yet.

Heatmaps. Clicks and scroll depth per device class, drawn over the page from your own recordings — nothing extra collected.

Users. Every signed-in user under a made-up name — returning, one-time, signed up only — with actions by day.

Screenshots: the hosted dashboard on a demo workspace; every figure is sample data — open it yourself . The self-hosted dashboard in this repository is simpler today — see Architecture for exactly which views it renders.

Ask your AI about your analytics

Vitrus speaks MCP. Your assistant reads your analytics — read-only — and every number it gets back comes with the query that produced it, so it can cite instead of assert. Listed in the official MCP Registry as dev.vitrus/analytics.

WhereHow
ChatGPT · Claude (web & desktop)Add a custom connector with https://app.vitrus.dev/mcp, sign in, pick a workspace, Allow.
Claude Code — plugin with 4 skillsclaude plugin marketplace add Vitrus-Dev/vitrus then claude plugin install vitrus@vitrus
Claude Code — server onlyclaude mcp add vitrus --transport http https://app.vitrus.dev/mcp
Cursor
Gemini CLIgemini extensions install https://github.com/Vitrus-Dev/vitrus
Anything else{"type": "http", "url": "https://app.vitrus.dev/mcp"} — OAuth, or Authorization: Bearer vk_… (a workspace API key)

The plugin's skills, under plugins/vitrus/skills:

  • `/vitrus:weekly-report` — last week against the week before, channels, AI assistants, goals; every figure cited.
  • `/vitrus:traffic-drop` — finds the day a number broke and the segment it lives in, then checks errors and Web Vitals.
  • `/vitrus:measurement-plan` — reads your code and proposes the events, goals, funnels and revenue calls to add.
  • `/vitrus:ai-search-audit` — which assistants send people, which pages the AI crawlers read, and where the two disagree.

17 tools, all read-only: query_stats (any metric by any of 20 dimensions or by day, with filters), get_portfolio (all your apps side by side), get_lifecycle, get_realtime, get_ai_traffic, get_revenue, goal_report, analyze_funnel, get_journeys, get_retention, get_web_vitals, get_errors, get_digest and more — docs. Connections are scoped to one workspace and can be disconnected any time under Account → Connected apps.

What it is, in one paragraph

Vitrus tells you how many people visit your website, where they come from, what they do and wh

Only the beginning is shown; read the rest in the repo

Ask PopNx