Limzo Telegram Group Stats
Ce que fait ce MCP
Lists tracked public Telegram groups and provides activity, member, engagement, mood, language, and leaderboard statistics.
Outils
Schéma d’entrée
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['ok', 'stats'], 'properties': {'ok': {'type': 'boolean', 'const': True}, 'docs': {'type': 'string', 'format': 'uri', 'description': 'Human-readable API documentation.'}, 'stats': {'type': 'object', 'properties': {'karma_7d': {'type': 'integer'}, 'replies_7d': {'type': 'integer'}, 'messages_7d': {'type': 'integer'}, 'messages_all': {'type': 'integer'}, 'reactions_7d': {'type': 'integer'}, 'members_total': {'type': 'integer', 'description': 'Distinct members ever tracked across all groups.'}, 'public_groups': {'type': 'integer', 'description': 'Public groups in the directory.'}, 'messages_total': {'type': 'integer', 'description': 'Messages analyzed across all groups, all time (durable — survives retention pruning).'}, 'active_users_7d': {'type': 'integer'}, 'spam_removed_total': {'type': 'integer', 'description': 'Spam messages removed by moderation across all groups, all time.'}}}, 'openapi': {'type': 'string', 'format': 'uri', 'description': 'Machine-readable OpenAPI document for the REST API.'}, 'top_groups': {'type': 'array', 'items': {'type': 'object', 'properties': {'plan': {'enum': ['free', 'pro', 'community'], 'type': 'string'}, 'slug': {'type': 'string'}, 'score': {'type': 'number'}, 'title': {'type': 'string'}, 'messages_7d': {'type': 'integer'}, 'active_users_7d': {'type': 'integer'}}}, 'description': 'Current top public groups by Limzo Score.'}}, 'description': 'Network-wide totals across all listed public groups.'}
Schéma d’entrée
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': "The group's public slug — the last part of its limzo.com/s/<slug> URL."}, 'range': {'enum': ['7d', '30d', 'all'], 'type': 'string', 'description': "Stats window. Defaults to 7d. 30d/all require the group's paid plan; free groups silently fall back to 7d."}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['ok', 'schema', 'generated_at', 'group', 'range', 'stats'], 'properties': {'ok': {'type': 'boolean', 'const': True}, 'docs': {'type': 'string', 'format': 'uri', 'description': 'Human-readable API documentation.'}, 'group': {'type': 'object', 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The human stats page for this group.'}, 'plan': {'enum': ['free', 'pro', 'community'], 'type': 'string'}, 'slug': {'type': 'string'}, 'title': {'type': ['string', 'null']}, 'username': {'type': ['string', 'null'], 'description': 'Telegram username without @, when the group is public on t.me.'}, 'is_private': {'type': 'boolean', 'description': 'True when the group has no public t.me address. Private groups expose aggregate stats and an anonymised leaderboard only: member identities, verbatim content, the group description and member_count are all withheld, and the group is not listed in the public directory.'}, 'description': {'type': ['string', 'null'], 'description': 'The group description. On a private group this is null unless an admin wrote a public description specifically for this page, in which case that text is served instead of the Telegram one.'}, 'bot_in_group': {'type': 'boolean', 'description': 'False once Limzo has been removed from the chat. Every windowed figure then stops advancing and the page becomes a frozen archive; the data is kept for 90 days after removal, then the page returns 410.'}, 'member_count': {'type': ['integer', 'null'], 'description': 'Telegram member count. Always null for a private group — Limzo only knows it because the bot is in the chat, so it is not ours to publish.'}, 'telegram_url': {'type': ['string', 'null'], 'format': 'uri'}}}, 'range': {'type': 'object', 'properties': {'key': {'enum': ['7d', '30d', 'all'], 'type': 'string'}, 'days': {'type': 'integer', 'description': 'Length of the window in days.'}, 'label': {'type': 'string'}}, 'description': 'The range actually served — compare `key` with what you requested to detect the plan fallback.'}, 'stats': {'type': 'object', 'properties': {'mood': {'type': ['object', 'null'], 'properties': {'emoji': {'type': 'string'}, 'label': {'type': 'string'}, 'positive_pct': {'type': 'number', 'description': 'Share of positive reactions, 0–100.'}}, 'description': 'Group mood derived from reactions. Null when there is not enough data.'}, 'daily': {'type': 'array', 'items': {'type': 'object', 'properties': {'day': {'type': 'string', 'format': 'date'}, 'replies': {'type': 'integer'}, 'messages': {'type': 'integer'}, 'active_users': {'type': 'integer'}}}, 'description': 'Per-day series over the selected range.'}, 'league': {'type': ['object', 'null'], 'properties': {'season': {'type': 'string', 'description': 'ISO week key, e.g. "2026-W30".'}, 'members': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'rank': {'type': 'integer', 'description': '1-based position this week.'}, 'tier': {'type': ['string', 'null'], 'description': 'bronze, silver, gold, platinum, or diamond.'}, 'messages': {'type': 'integer', 'description': 'Messages this ISO week.'}, 'movement': {'type': ['integer', 'null'], 'description': '1 promoted vs last week, -1 relegated, 0 unchanged, null = no baseline yet.'}, 'username': {'type': ['string', 'null']}}}}}, 'description': 'Weekly league standings (this ISO week, resets Monday). Only present when the group has the league enabled; null otherwise. Tiers are activity percentile bands: diamond top 10%, platinum next 15%, gold next 25%, silver next 25%, bronze rest.'}, 'levels': {'type': 'array', 'items': {'type': 'object', 'properties': {'xp': {'type': 'integer', 'description': 'Lifetime XP (karma) in this group.'}, 'name': {'type': 'string'}, 'rank': {'type': 'integer', 'description': '1-based position.'}, 'tier': {'type': ['string', 'null'], 'description': 'Badge tier key: newcomer, regular, familiar, veteran, elite, legend.'}, 'level': {'type': 'integer', 'description': 'Current level (permanent, no decay).'}, 'username': {'type': ['string', 'null']}, 'tier_title': {'type': ['string', 'null'], 'description': 'Display title for the tier (may be a group-custom name).'}}}, 'description': "Limzo Levels — the group's lifetime-XP ladder (top 12 members). XP accrues from karma (helpful replies, reactions received, conversation starters), never from raw message volume alone. Tier names may be customised by the group."}, 'replies': {'type': 'integer', 'description': 'Replies in the selected range.'}, 'messages': {'type': 'integer', 'description': 'Messages in the selected range.'}, 'stickers': {'type': 'integer', 'description': 'Stickers in the selected range.'}, 'languages': {'type': ['object', 'null'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'pct': {'type': 'number', 'description': 'Share of the group, 0–100.'}, 'code': {'type': ['string', 'null'], 'description': 'ISO 639-1 language code, or null for the aggregated "other" bucket.'}, 'name': {'type': 'string', 'description': 'Language name in English.'}}}, 'description': 'Top languages by share, largest first; a trailing null-code "other" bucket may aggregate the long tail.'}, 'primary': {'type': ['string', 'null'], 'description': 'Dominant language as an ISO 639-1 code (e.g. "fa", "es", "en").'}, 'distinct': {'type': 'integer', 'description': 'Number of distinct languages detected.'}}, 'description': 'How international the group is: its language mix, detected from the languages members actually write in (falling back to their app language for new or quiet groups). Null when there is not enough signal. Never derived from verbatim message text exposed over the API.'}, 'top_members': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'rank': {'type': 'integer', 'description': '1-based position.'}, 'replies': {'type': 'integer'}, 'messages': {'type': 'integer'}, 'username': {'type': ['string', 'null']}}}, 'description': 'Member leaderboard for the selected range.'}, 'top_reactor': {'type': ['object', 'null'], 'properties': {'name': {'type': 'string', 'description': 'Display name as shown on the public page.'}, 'count': {'type': 'integer', 'description': 'Reactions in the selected range.'}, 'username': {'type': ['string', 'null'], 'description': 'Telegram username without @, when public.'}}, 'description': 'A member singled out by reaction activity. Null when the range has no reaction data.'}, 'active_users': {'type': 'integer', 'description': 'Unique posting members in the selected range.'}, 'peak_hour_utc': {'type': ['integer', 'null'], 'maximum': 23, 'minimum': 0, 'description': 'Busiest hour of day, UTC.'}, 'messages_today': {'type': 'integer', 'description': 'Messages so far today (UTC).'}, 'reaction_magnet': {'type': ['object', 'null'], 'properties': {'name': {'type': 'string', 'description': 'Display name as shown on the public page.'}, 'count': {'type': 'integer', 'description': 'Reactions in the selected range.'}, 'username': {'type': ['string', 'null'], 'description': 'Telegram username without @, when public.'}}, 'description': 'The member whose messages attracted the most reactions. Null when the range has no reaction data.'}, 'tracking_frozen': {'type': 'boolean', 'description': "True while tracking is paused because the group used up its plan's monthly message allowance (resets on the 1st, UTC). While true, windowed stats undercount real activity — the group is NOT quiet."}, 'tracking_paused': {'type': 'boolean', 'description': 'True when Limzo is no longer in the group, so nothing further will ever be counted. Unlike tracking_frozen (a monthly cap that lifts on the 1st) this only clears if the bot is re-added. Mirrors group.bot_in_group === false.'}, 'lifetime_messages': {'type': 'integer', 'description': 'Messages since Limzo started tracking the group.'}, 'active_users_today': {'type': 'integer', 'description': 'Unique posting members so far today (UTC).'}, 'new_active_members': {'type': 'integer', 'description': 'Members who posted for the first time in the selected range.'}, 'tracked_since_days': {'type': 'integer', 'description': 'Days since tracking started.'}}}, 'schema': {'type': 'string', 'const': 'limzo.public_stats/v1'}, 'openapi': {'type': 'string', 'format': 'uri', 'description': 'Machine-readable OpenAPI document for the REST API.'}, 'generated_at': {'type': 'string', 'format': 'date-time'}}, 'description': 'Curated, versioned public stats payload. Never includes verbatim member messages. For a private group (one with no public t.me handle) the member identities, the group description and member_count are withheld too: aggregates plus an anonymised leaderboard are all it returns.'}
Schéma d’entrée
{'type': 'object', 'properties': {'lang': {'type': 'string', 'description': 'ISO 639-1 language code (e.g. "fa", "es", "en"). Keeps groups whose main language it is (the detected top language, or the admin\'s chosen one when both are languages Limzo speaks) or where it is a meaningful share of the group.'}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Maximum groups to return. Defaults to 20, capped at 50.'}, 'query': {'type': 'string', 'description': 'Keyword matched case-insensitively against group title, username, slug, and description. Omit to list the top groups by Limzo Score.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['ok', 'total_matches', 'groups'], 'properties': {'ok': {'type': 'boolean', 'const': True}, 'docs': {'type': 'string', 'format': 'uri', 'description': 'Human-readable API documentation.'}, 'lang': {'type': ['string', 'null'], 'description': 'The applied ISO 639-1 language filter, or null when not filtering by language.'}, 'query': {'type': ['string', 'null'], 'description': 'The normalized search keyword, or null when listing top groups.'}, 'groups': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The human stats page for this group.'}, 'plan': {'enum': ['free', 'pro', 'community'], 'type': 'string'}, 'slug': {'type': 'string', 'description': 'Use with /s/{slug}.json or the get_group_stats MCP tool.'}, 'score': {'type': 'number', 'description': 'Limzo Score — the directory ranking metric.'}, 'title': {'type': 'string'}, 'language': {'type': ['object', 'null'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'pct': {'type': 'number', 'description': 'Share of the group, 0–100.'}, 'code': {'type': ['string', 'null'], 'description': 'ISO 639-1 language code, or null for the aggregated "other" bucket.'}, 'name': {'type': 'string'}}}}, 'primary': {'type': ['string', 'null'], 'description': 'Dominant language as an ISO 639-1 code.'}, 'distinct': {'type': 'integer', 'description': 'Number of distinct languages detected.'}}, 'description': "The group's language mix (primary language + top languages as percentages). Null when there is not enough signal."}, 'username': {'type': ['string', 'null'], 'description': 'Telegram username without @, when the group is public on t.me.'}, 'stats_json': {'type': 'string', 'format': 'uri', 'description': 'Full curated stats payload for this group.'}, 'messages_7d': {'type': 'integer'}, 'member_count': {'type': ['integer', 'null']}, 'active_users_7d': {'type': 'integer'}}}}, 'openapi': {'type': 'string', 'format': 'uri', 'description': 'Machine-readable OpenAPI document for the REST API.'}, 'total_matches': {'type': 'integer', 'description': 'Groups that matched, before the limit was applied.'}}, 'description': 'Compact directory rows for discovering groups. Sorted by Limzo Score.'}
Modifications récentes des outils
Serveurs MCP similaires
captapi
Retrieves social media profiles, posts, engagement metrics, comments, marketplace listings, events, and Meta advertising data acr…
Social Media Search API — Twitter, Instagram, Reddit, TikTok (XPOZ)
Searches and analyzes posts, comments, users, trends, and tracked topics across Twitter/X, Instagram, Reddit, and TikTok.
Stocktwits
Provides public Stocktwits market data, including ticker chart history, OHLCV bars, and related stock-market context.
Social Signal
Provides time-series analysis of post volumes across open social networks for monitoring social activity and signals.
Viral Outliers
Finds viral outlier posts across TikTok, Instagram, and YouTube, tracks creator profiles, analyzes media, monitors watchlists, an…
Reel25 — Video Analytics for TikTok, Instagram & YouTube
Tracks and analyzes TikTok, Instagram, and YouTube creator accounts and videos, including performance metrics, trends, discovery,…
telemost-mcp-server
Searches public Telegram content and channels, extracts entities, tracks posts and mentions, analyzes sentiment, and reports chan…
Youfiliate Smart Links
Creates geo-targeted affiliate smart links, manages redirects and deep links, provides click analytics, and migrates YouTube desc…