StatistikyStatistics

Kolik kopií mailmcp běží.How many copies of mailmcp run.

mailmcp počítá běžící kopie na vlastních serverech za den a za měsíc, nic jiného. Tady je přesně, co se posílá a co vidíme.mailmcp counts running self-hosted copies per day and per month, nothing else. Here is exactly what is sent and what we see.

Co kopie posíláWhat a copy sends

Nejvýš jednou denně POST https://mailmcp.ai/api/ping s tímto tělem a ničím dalším:At most once a day, POST https://mailmcp.ai/api/ping with this body and nothing else:

PoleFieldHodnotyValuesVýznamMeaning
s1verze schématuschema version
vhlavní.vedlejší, např.major.minor, e.g. "0.9"verze mailmcp bez opravného číslamailmcp version without the patch number
rvercel docker node claude-desktop stdiojak kopie běžíhow the copy runs
d22 znaků base64url22 base64url charactersměsíční otisk kopie, viz nížethe copy’s monthly digest, see below

Přesně takhle vypadá tělo (tenhle vzorový otisk se nikdy nezapočítá):The body, exactly (this sample digest is never counted):

{"s":1,"v":"0.13","r":"vercel","d":"sample-not-counted-000"}

Vzorový požadavek. Můžete ho bezpečně spustit: tenhle vzorový otisk se nikdy nezapočítá.A sample request. Safe to run: this sample digest is never counted.

curl -X POST https://mailmcp.ai/api/ping -H 'content-type: application/json' -d '{"s":1,"v":"0.13","r":"vercel","d":"sample-not-counted-000"}'

Co je d. Zůstává stejné po jeden kalendářní měsíc, takže kopii můžeme započítat jednou za den a jednou za měsíc; číslo z dalšího měsíce s ním nijak nesouvisí. Počítá se z hodnot, které nikdy neopustí váš server (na Vercelu ID vašeho projektu, jinde ID stroje, nebo náhodné číslo, které si kopie jednou uloží do ~/.mailmcp), a z MAILMCP_KEY, pokud ho máte. Dny jedné kopie v rámci měsíce tak sdílejí jeden pseudonym, který nenese nic dalšího a na konci měsíce končí. Z toho, co ukládáme, nepoznáme, která instalace ping poslala.What d is. It stays the same for one calendar month, so we can count a copy once per day and once per month; the next month’s number is unrelated. It is computed from values that never leave your server (on Vercel your project id, elsewhere your machine id or a random number the copy stores once in ~/.mailmcp), and from MAILMCP_KEY when present. Within a month, the days of one copy therefore share one pseudonym, which carries nothing else and ends with the month. From what we store we cannot tell which installation sent a ping.

Co se nikdy neposílá:What is never sent:

Kdy je to zapnutéWhen it is on

Servery (produkce na Vercelu, Docker, Node) posílají statistiku ve výchozím stavu. Claude Desktop a ostatní stdio kopie ji neposílají, dokud v rozšíření nezaškrtnete „Anonymous usage statistics“ (výchozí je vypnuto) nebo nenastavíte MAILMCP_STATS=1. Náhledy na Vercelu, CI a buildy ze zdrojového kódu nikdy. Vercel pošle ping při prvním požadavku dne, Docker a Node v náhodnou denní dobu, Claude Desktop při spuštění, ale nejvýš jednou denně, i když ho spustíte vícekrát (další spuštění téhož dne se jen zeptají na verzi); nikdo mezi 23:50 a 00:10 UTC. V Claude Desktop zrušením volby „Check for updates“ v nastavení rozšíření vypnete všechny požadavky.Servers (Vercel production, Docker, Node) send statistics by default. Claude Desktop and other stdio copies do not, unless you tick “Anonymous usage statistics” in the extension (off by default) or set MAILMCP_STATS=1. Vercel previews, CI and source builds never do. Vercel pings on the first request of the day, Docker and Node at a random time of day, Claude Desktop at start but at most once a day however often you open it (later starts that day only ask for the version); nobody sends between 23:50 and 00:10 UTC. In Claude Desktop, unticking “Check for updates” in the extension settings switches every request off.

NastaveníSettingStatistikaStatisticsKontrola aktualizacíUpdate check
výchozí, serverdefault, serverzapnutoonzapnuto (odpověď na ping)on (the ping’s answer)
výchozí, Claude Desktop a stdiodefault, Claude Desktop and stdiovypnutooffzapnuto, GET /api/versionon, GET /api/version
MAILMCP_STATS=1 nebo zaškrtnutí v Claude Desktopor ticked in Claude Desktopzapnutoonzapnutoon
MAILMCP_NO_STATS=1, MAILMCP_STATS=0vypnutooffzapnuto, GET /api/version bez tělaon, GET /api/version with no body
DO_NOT_TRACK=1vypnutooffzapnuto, GET /api/version bez tělaon, GET /api/version with no body
MAILMCP_NO_UPDATE_CHECK=1vypnutooffvypnuto: neposílá se vůbec nicoff: nothing is sent at all
Claude Desktop: nezaškrtnuté „Check for updates“Claude Desktop: “Check for updates” untickedvypnutooffvypnuto: neposílá se vůbec nicoff: nothing is sent at all
náhled na VerceluVercel previewvypnutooffzapnutoon
CI=1, build ze zdrojového kódusource buildvypnutooffvypnutooff

MAILMCP_NO_STATS=1 se pořád ptá GET /api/version na aktualizace (bez těla, nic se nezaznamenává); MAILMCP_NO_UPDATE_CHECK=1 neposílá vůbec nic. Každá kopie při startu vypíše jeden řádek, zda je statistika zapnutá. Námitka podle čl. 21 GDPR = tenhle vypínač.MAILMCP_NO_STATS=1 still asks GET /api/version for updates (no body, nothing recorded); MAILMCP_NO_UPDATE_CHECK=1 sends nothing at all. Every copy logs one line at start saying whether statistics are on. Objection under Art. 21 GDPR = the switch.

Co ukládáme a jak dlouhoWhat we store and for how long

Každý příkaz, který přijímač posílá do RedisuEvery command the receiver sends to Redis
  • EVALSHA of the ping script (EVAL once when Redis answers NOSCRIPT): INCR + EXPIRE pings:<day>, then PFADD + EXPIRE hll:d:<day>:<dim> and hll:m:<month>:<dim> for dim = all, v:<minor>, r:<runtime>
  • EXISTS hll:d:<day>:all, hll:m:<month>:all (finalize: is there a finished period to fold)
  • PFCOUNT hll:d:<day>:<dim>, hll:m:<month>:<dim> (finalize, and today / this month on /stats)
  • GET pings:<day> (finalize)
  • HSETNX days <day> {all,pings,capped,dims}, HSETNX months <month> {all,dims} (finalize)
  • DEL hll:d:<day>:<dim>, hll:m:<month>:<dim> (finalize, once counted)
  • HGETALL days, months (/stats, and finalize to find fields to prune)
  • HDEL days <day older than 400 days>, months <month older than 25 months> (finalize)

Skript, který zapíše jeden ping (jedno volání):The script that records one ping (one call):

local n = redis.call('INCR', KEYS[1])
redis.call('EXPIRE', KEYS[1], 172800)
if n > tonumber(ARGV[1]) then return 0 end
for i = 2, #KEYS do
  redis.call('PFADD', KEYS[i], ARGV[2 * i - 2])
  redis.call('EXPIRE', KEYS[i], tonumber(ARGV[2 * i - 1]))
end
return 1

ČíslaNumbers

Jen kopie na vlastních serverech od verze 0.13.0; uživatelé hostované služby mailmcp.ai tu nejsou.Self-hosted copies of 0.13.0 and later only; users of the hosted mailmcp.ai service are not included.

Kopie, které ten den obsloužily aspoň jeden požadavek (Vercel; nečinné kopie na Vercelu se ten den nepočítají) nebo ten den běžely (Docker, Node, Claude Desktop). Čísla hlásí kopie samy a bez ověření.Copies that served at least one request that day (Vercel; idle Vercel copies are not counted that day) or ran that day (Docker, Node, Claude Desktop). Counts are self-reported and unauthenticated.

1

dnes zatím (UTC)today so far (UTC)

1

tento měsíc zatímthis month so far

Kopie aktivní za den, posledních 90 dníDaily-active copies, last 90 days

Zatím žádný uzavřený den.No finished day yet.

Kopie aktivní za měsícMonthly-active copies

Zatím žádný uzavřený měsíc.No finished month yet.

Rozpad je zaokrouhlený na 5 („< 5“ znamená 1 až 4, nuly nevypisujeme), součty jsou přesné. Den označený jako omezený překročil denní limit zápisů, další pingy toho dne se nezapočítaly.Breakdowns are rounded to 5 ("< 5" means 1 to 4, zeros are left out); totals are exact. A day marked capped hit the daily write budget; later pings that day were not counted.

MCP požadavky na mailmcp.aiMCP requests on mailmcp.ai

Hostovaný server mailmcp.ai (ne vaše kopie) zapisuje jako událost do Vercel Web Analytics tyto MCP požadavky: initialize, tools/list a tools/call (z dávky nejvýš prvních 10 zpráv) a požadavky odmítnuté před MCP (auth, nejvýš 60 za hodinu na instanci). Notifikace, ping, resources/*, prompts/* a volání neznámých nástrojů se nepočítají. Událost nese jen: metodu, název nástroje ze seznamu nástrojů serveru (- u jiných metod), rodinu klienta (ChatGPT, Claude, Claude Code, Cursor, other) a výsledek (ok, error, refused), čas zaokrouhlený na hodinu. Žádnou IP adresu, cookie, user agent klienta, token ani obsah. Čísla tu nezveřejňujeme.The hosted mailmcp.ai server (not your copy) records these MCP requests as Vercel Web Analytics events: initialize, tools/list and tools/call (of a batch, at most the first 10 messages), and requests refused before MCP (auth, at most 60 an hour per instance). Notifications, ping, resources/*, prompts/* and calls of unknown tools are not counted. The event carries only: the method, the tool name from the server’s own tool list (- for other methods), the client family (ChatGPT, Claude, Claude Code, Cursor, other) and the outcome (ok, error, refused), with the time rounded to the hour. No IP address, cookie, client user agent, token or content. We do not publish numbers for it here.

Další čteníFurther reading