plausible-mcp
plausible-mcp
Ein MCP-Server, mit dem oder Überjede in einer Organisation Plausible Analytics von Claude aus abfragen kann.
Eine instanz bedient die ganze Org. Er hält einen einzigen Plausible-API-Schlüssel serverseitig und autentifiziert jede Person mit Google, sodass niemand einen eigenen Schlüssel braucht und niemand einzeln Zugriff enhalten muss: In ALLOWED_DOMAINS in deine Google-Workspace-Domain, und jede Person mit eire Adresse dort kann sich beim ersten Versuch verbinden. Kolleginnen und Kollegen außerhalb eier Domain kommen in ALLOWED_EMAILS, jeweils ein Adresse.
Wenn du Analysen für ein Them betreibst und möchtest, dass sie die Zahlen selbst ablesen, statt dich danach zu fragen, genau dafür is d dien.
So funktioniert die Authentifizierun
Clade registriert sich bei diesem Server über die dynamische Client-Registrierung von OAuth-2.1. Google untertützt die dynamische Client-Registrierung nicht, darum tritt dieser Server als eigener Autorisierungsserver auf und would die faceomeating Anmeldung an Google weiter.
Google erkennt, wer die Person Be. Google entscheidet nicht, ob sie deine Analysen lessbar ist. Eine Zwischensoft (Middleware) prüft bei jedem Tool-Aufruf die verifizierte E-Mail-Adress des Aufrufers gegen ALLOWED_DOMAINS und ALLOWED_EMAILS. Wenn du keine von beiden setzt, weigert sich der Server zu starten.
ALLOWED_DOMAINS ist das, reches diese Einrichtung org-weit macht: Sie gleicht die Domain der verifizierten Adresse exakt ab, so ist example.com lässst alice@example.com zu, aber nicht alice@evil-example.com oder alice@example.com.evil.com.
Um jemanden zu widerrufen, nimm die / denjenige aus ALLOWED_EMAILS oder ALLOWED_DOMAINS und stelle neu lässig ein. Das Sperren des Google-Kontos verhindert beine erneute Anmeldung, aber die Zulassungsliste liest die Ansprüche (Claims), Ol ha ein Token, von diesem Server signiert wude; ein bereits Ausgestelltes Token funktioniert also weiter bis zum Ablusses.Lch. JWT_SIGNING_KEY zuwechseln macht alle Tokens auf einmal ungültig, allerdings wird damit jeder werden abgemeldet.
Related MCP server: Plausible MCP
Tools
queryführt eine Stats-API-2-Abfrage durch. Durch Gruppierung nach verschiedenen Dimensionen kannst du mit demselben Werkzeug Zeitreihen, Aufschlüsselungen und Ziel-Conversions erhalten. Um zwei Zeiträume zu vergleichen, rufst du sie jeweils einmal pro Zeitraum auf.list_sites„die Site-Domains zurück, die du alssite_idübergeben kannst.usage_statsberichtete, wer den Server genutzt hat, wie oft und welche Konten abgewiesen wurden.
Nutzungserfassung
Die Zulassungslisten-Middleware setzt E-Mail-Adresse jedes Aufrufers, weil sie sie prüfen muss. Sie erzeugt einen Aufrufzähler pro Person, einen Zeitpunkt des ersten und letzten Sehens sowie eine Aufteilung pro Tool im Volume unter USAGE_PATH. Abgewiesene Konten werden separat erfasst; so erkenntst du, ob jemand außerhalb der Zulassungsliste verbinden will.
Lies sie mit dem Tool usage_stats. Alle auf der Zulassungsliste können die Zeilen aller Personen sehen. Wenn du USAGE_PATH nicht setzt, wird das Erfassen deaktiviert.
Konfiguration
Variable | Erforderlich | Zweck |
| ja | Google-OAuth-Client zum Anmelden von Personen |
| ja | Plausible-Schlüssel mit Stats-API-Zugriff; wird von allen gemeinsam gennutzt |
| ja | Öffentliche URL dieses Servers; der Google-Weiterleitungs-URI ist |
| eines von beiden | Wer abfragen darf. Wenn keine gesetzt, weigert sich Server, zu starten |
| empfohlen | Auf dieser Servers Zugriffstokens signiert. Ohne ih werden alle bei einem Neustart gemeldet |
| nein | Wo OAuth-Client-Registrierungen gespeichert werden. Nicht gesetzt bedeutet zwischenspeicher |
| nein | Wo die Nutung pro Person einesa aufgezeichnet wird. Nicht gesetzt schalte Tracking aus |
Die gleiche Liste ininto in .env.example.
Deploy
Das Repo ships fly.toml, die Anweisungen unren beziehen sich If Fly.io, aber aus. nichts am er ist Fly-pe:ifischerver is ein Container, der a schreibares Verzeics und die obige Umgebung Gut: Ersetze YOUR-APP überall.
Erstelle deinen OAuth-Client in der Gooogle. Cloud Konto. Wähle Webanwendung und den autorisierten Weisileitungs-URI auf
https://YOUR-APP.fly/dev/auth/callback. The URI must match precisely.Erstelle die App und das Volume:
fly apps create YOUR-APP --org YOUR-ORG fly volumes create plausible_mcp_data --app YOUR-APP --region fra --size 1 --yesHedje
fly apps createnichtfly launch, den regeneratefly.tomlund würde tes Volume-Mount und den Healte-Hheck verwerfen.Setze in
.Appeninfly.tomlden Namen deiner App ein.Setze the Konfiguration.
BASE_URLundALLOWED_DOMAINSgehören hierhin, night infly.toml, weil sie mit deiner emotionion unterschiedlich sind, und ein eingecheckter Platzhalters würde beim nächsten Deployment den rölicherweisechtenigen Wert überschreiben:fly secrets set --app YOUR-APP \ BASE_URL=https://YOUR-APP.fly.dev \ ALLOWED_DOMAINS=your-domain.org \ GOOGLE_CLIENT_ID=xxx.apps.googleusercontent.com \ GOOGLE_CLIENT_SECRET=GOCSPX-xxx \ PLAUSIBLE_API_KEY=xxx \ JWT_SIGNING_KEY="$(openssl rand -hex 32)"Halte
JWT_SIGNING_KEYstabil; ein Wechsel breakedet alle ab.--ha=false. Ohne--ha=falsekann Fly mehrere Maschinen starten, each with a eigen Volume, sodass eine Anmeldung, die auf einerMaschire ausführ, scheitert, wenn die nächste Anfrage auf der ander landet.
Zu Claude hinzufügen
Um it zu einem Team hinzuzufügen, geh in Settings > Connectors in claude.ai und wähle Add custom connector, and then https://YOUR-APP.fly.dev/mcp eingeben. Jede Person net sich bei der ersten Nutzung mit Google an.
So fügst du es to Claude Code hinzu:
claude mcp add --transport http plausible https://YOUR-APP.fly.dev/mcpLokal ausführen
uv venv && uv pip install -r pyproject.toml
cp .env.example .env # then fill it in
set -a && source .env && set +a
python server.pyFüge http://localhost:8000/auth/callback to den Weiterleitungs-URIs des GoogleClients hinzu, to Test the Anmeldevorgang lokal.
Führe die Testst with python test_server.py aus. Use desselben Werkzeuge und OAuth-Flow, wiew npx @modelcontextprotocol/inspector.
Lizenz
MIT — siehe LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Cookieless dashboard aggregates for Claude and Cursor. No visitor hashes. Starter and Growth.
Give Claude only the Google Drive files you choose. Every action logged.
Query 40 databases from Claude, ChatGPT, or Cursor — on any device. Read-only, encrypted, audited.
Ask Claude about your ads: Meta, Google, TikTok, LinkedIn, GA4 & Shopify. No AI credits.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables Claude AI to query Google Search Console data and manage properties via OAuth 2.0 authentication, eliminating the need for API keys.MIT
- AlicenseBqualityDmaintenanceEnables natural language interaction with Plausible Analytics data to query traffic, visitors, engagement, and more using conversational questions.41MIT
- FlicenseAqualityDmaintenanceEnables natural language querying of Google Analytics 4, Google Search Console, Meta Ads, and Google Ads data through Claude.23
- FlicenseAqualityCmaintenanceConnects Claude to Google Analytics 4 for querying website analytics via natural language, enabling traffic summaries, top pages, traffic sources, and user engagement.4
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/effektiv-spenden-jetzt/plausible-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server