clarity-mcp
Superseded by seo-stack-mcp — the same tools plus GSC, GA4, Bing Webmaster and Microsoft Clarity unified in a single uvx-installable MCP server with local credentials. This repo remains as the remote-SSE variant.
MCP Clarity — Microsoft Clarity Data Export API
Server MCP per Microsoft Clarity ospitato su CT102, registrato come upstream clarity del mcp-gateway con tag analytics.
Architettura
Voce | Valore |
Stack | Python 3.12 + FastMCP ( |
Porta | 8091 |
Working dir |
|
Stato persistente |
|
Systemd |
|
Endpoint API |
|
Auth |
|
Quota | 10 chiamate/giorno/progetto, reset UTC (hard stop locale a 9) |
Tag gateway |
|
Tool esposti
Tool | Cosa fa |
| Sessions / bot % / pages-per-session per dimensione |
| Top URL per visite |
| Engagement time + scroll depth |
| Top URL con click su elementi non interattivi |
| Top URL con click ripetuti veloci (frustrazione) |
| Top URL con scroll eccessivo |
| Top URL con bounce immediato |
| JS errors + error clicks per URL |
| Raw breakdown libero (power user) |
| Quota residua oggi (locale, niente API call) |
| Progetti configurati nel server |
Cache condivisa: tutti i tool URL-based (popular_pages, dead_clicks, rage_clicks, excessive_scroll, quickback_clicks, script_errors, engagement con dimension=URL) usano la stessa chiave cache → 1 chiamata API alimenta 7 tool.
Configurazione
1. Generare il token Clarity
Vai su clarity.microsoft.com, apri il progetto.
Settings → Data Export → Generate new API token.
Dai un nome (4-32 char, no spazi, no
@#$%&*!).Copia il token (mostrato una sola volta).
Solo gli admin del progetto possono generare token.
2. Variabili .env
Copia .env.example in .env e compila:
PORT=8091
CLARITY_TOKENS={"calcolatorigratis":"eyJhbG..."}
CLARITY_DEFAULT_PROJECT=calcolatorigratis
CLARITY_CACHE_DB_PATH=/var/lib/clarity-mcp/cache.db
CLARITY_QUOTA_PATH=/var/lib/clarity-mcp/quota.json
CLARITY_CACHE_TTL=21600
CLARITY_DAILY_LIMIT=9
CLARITY_WARNING_THRESHOLD=7Multi-progetto: aggiungi chiavi al JSON, es. {"calcolatorigratis":"...", "tuttoseo":"..."}. Le chiamate prendono project="alias" come primo parametro.
Deploy su CT102
./deploy/install.sh root@192.168.1.107Lo script: rsync della working dir, crea .venv, installa requirements, crea /var/lib/clarity-mcp, installa il systemd unit e fa restart. Se .env non esiste su CT102, lo copia dall'esempio (poi va compilato con il token).
Avvio manuale (debug locale)
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
PORT=8091 CLARITY_TOKENS='{"test":"<token>"}' python clarity_server.py
curl http://localhost:8091/Registrazione nel mcp-gateway
Su CT102, append in /etc/mcp-gateway/upstreams.yaml:
- name: clarity
url: http://127.0.0.1:8091/sse
tags:
- analyticsPoi:
systemctl restart mcp-gateway
curl -s https://mcp.calcolatorigratis.com/healthz | grep clarityVisibile in Claude Code come mcp__mcp-gateway__clarity__*.
Verifica end-to-end
# 1. Service attivo
ssh root@192.168.1.107 'systemctl status clarity-mcp'
# 2. Homepage / health
curl http://192.168.1.107:8091/
# 3. SSE endpoint
curl -H "Accept: text/event-stream" http://192.168.1.107:8091/sse
# 4. Gateway
curl -s https://mcp.calcolatorigratis.com/healthz
# 5. Da Claude Code (sessione con tag analytics caricato)
# → chiamare mcp__mcp-gateway__clarity__clarity_list_projects
# → chiamare mcp__mcp-gateway__clarity__clarity_quota_status
# → chiamare mcp__mcp-gateway__clarity__clarity_trafficTroubleshooting
Sintomo | Causa | Fix |
| Token scaduto o non valido | Rigenerare in clarity.microsoft.com → Data Export |
| Token non admin | Solo admin del progetto può generare token Data Export |
| Superato 10/giorno (lato API) | Reset mezzanotte UTC, riusa la cache ( |
| Superato | Stesso effetto del 429, aspetta reset UTC |
| Alias non in | Aggiungere |
Tool ritorna | Niente sessioni nel range | Normale su siti a basso traffico — controllare in dashboard Clarity |
Vincoli API ricordare
numOfDays∈ {1, 2, 3} (ultime 24/48/72h, niente date arbitrarie).Max 3 dimensioni per request.
Risposta max 1.000 righe, non paginabile.
10 chiamate/giorno/progetto, reset UTC.
Dimensioni valide:
Browser, Device, Country/Region, OS, Source, Medium, Campaign, Channel, URL.
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/Raffaele86/clarity-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server