Skip to main content
Glama

Limzo – Telegram Group Stats

Get public stats for one Telegram group

get_group_stats
Read-only

Call this when the user asks about the activity, health, leaderboard, mood, or trends of a specific Telegram group tracked by Limzo. slug is the last part of the group's public page URL, limzo.com/s/ (e.g. "hipo"). Returns the curated limzo.public_stats/v1 JSON: messages, replies, active members, daily series, top members, mood, reactions, language mix, the Limzo Levels ladder (lifetime XP + badge tiers), and weekly-league standings when the group has the league enabled. Optional range: 7d (default), 30d, all — the wider ranges only serve real data for groups on a paid plan and otherwise silently fall back to 7d, so check range.key in the result. 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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugYesThe group's public slug — the last part of its limzo.com/s/<slug> URL.
rangeNoStats window. Defaults to 7d. 30d/all require the group's paid plan; free groups silently fall back to 7d.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYes
docsNoHuman-readable API documentation.
groupYes
rangeYesThe range actually served — compare `key` with what you requested to detect the plan fallback.
statsYes
schemaYes
openapiNoMachine-readable OpenAPI document for the REST API.
generated_atYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the read-only annotation, it discloses that verbatim member messages are never included, that private groups withhold identities/description/member_count and return an anonymised leaderboard, and that wider ranges silently fall back to 7d unless the group is on a paid plan. These are important behavioral caveats an agent needs to set correct expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The trigger is front-loaded, every sentence carries distinct information, and the detailed return-field list and caveats are justified given the tool's complexity. Nothing feels redundant or padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the annotations, parameter schema, and output-schema presence, the description fully covers when to call, what to pass, what to expect, and edge cases such as paid-plan fallback and private-group anonymisation. An agent has enough context to call the tool correctly without additional inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds actionable meaning: slug is tied to the URL pattern with an example, and range's default/paid-plan/fallback behavior is spelled out with the instruction to check range.key. That goes beyond simply restating parameter names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear trigger: 'Call this when the user asks about... activity, health, leaderboard, mood, or trends of a specific Telegram group' and the title states the resource as 'public stats for one Telegram group'. This clearly distinguishes it from global-stats or group-listing tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says when to call the tool and scopes it to a specific group, which separates it from the global/listing siblings. It does not name the alternatives directly or state explicit when-not-to-use conditions, but the trigger phrasing and 'specific group' scope are strong enough to make intended use clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.6/5.0
Disambiguation4/5

get_group_stats and list_groups are clearly distinct, but get_global_stats and list_groups both surface top groups by Limzo Score, so an agent could pick the wrong one for a 'top groups' request. The descriptions help disambiguate, but the overlap keeps this from being a perfect score.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern: get_global_stats, get_group_stats, list_groups. The verbs get and list are appropriate for their actions, and the scope is clear in each name.

Tool Count5/5

Three tools is at the low end but well-scoped for a read-only stats server: one for network-wide stats, one for a single group's stats, and one for directory discovery. Each tool earns its place with no redundancy.

Completeness4/5

The core surface is covered: global stats, per-group stats, and group discovery/search. The only notable gap is that list_groups exposes total_matches but no pagination parameter, so large result sets may be truncated without a way to page through them.

Resources