Statiko — Telegram trends & channel analytics
Live Telegram data: trending topics, channel profiles & metrics, post history incl. edits/deletions.
Should I use this
Quality & Safety
Findings (2)
- LOWin get_similar_channels
- LOWin fetch
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"telegram": {
"url": "https://mcp.statiko.io/mcp"
}
}
}Remote endpoints
https://mcp.statiko.io/mcpstreamable-httpWhat it can do
Tool inventory
Tools (10)
🟢get_trending_topics(window, lang, limit)
Ranked board of trending topics (stories) across tracked Telegram channels for a rolling 24h window. Each story carries a headline, context paragraph, member keywords, mention/channel counts, momentum and an hourly sparkline.
Input Schema
{
"type": "object",
"properties": {
"window": {
"default": "now",
"description": "Rolling 24h window to rank: 'now' (live) or 'yesterday'",
"type": "string",
"enum": [
"now",
"yesterday"
]
},
"lang": {
"default": "ru",
"description": "ISO-639-1 language code of the board, defaulting to 'ru'. Boards are per-language; pick the language the audience posts in.",
"type": "string"
},
"limit": {
"default": 20,
"description": "Number of stories to return",
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"window": {
"type": "string"
},
"lang": {
"type": "string"
},
"window_start": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"window_end": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"computed_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"languages": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"lang": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"topics": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
]
},
"url": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rank": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"norm": {
"description": "Topic key to pass to get_trend_samples",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"display": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"channels": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mentions": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"delta_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"momentum": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"sparkline": {
"description": "Hourly mention counts",
"anyOf": [
{
"type": "array",
"items": {
"type": "number"
}
},
{
"type": "null"
}
]
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"context": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"keywords": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"display": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
}
},
"required": [
"window",
"lang",
"url",
"items"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_trend_samples(norm, window, lang, limit)
Sample Telegram posts that mention a trending topic, for reading what a story on the trending board is actually about.
Input Schema
{
"type": "object",
"properties": {
"norm": {
"type": "string",
"minLength": 1,
"description": "Normalized topic key of the story ('norm' field from get_trending_topics)"
},
"window": {
"default": "now",
"type": "string",
"enum": [
"now",
"yesterday"
]
},
"lang": {
"default": "ru",
"description": "ISO-639-1 language code of the board, defaulting to 'ru'. Boards are per-language; pick the language the audience posts in.",
"type": "string"
},
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"norm"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"norm": {
"type": "string"
},
"window": {
"type": "string"
},
"lang": {
"type": "string"
},
"samples": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chat_id": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"message_id": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"created_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"display": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"message_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
}
},
"required": [
"norm",
"window",
"lang",
"samples"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢search_channels(query, verified, categories, languages, activity, ...)
Search Statiko's catalog of tracked Telegram channels by name and filter by verification, category, language and activity. Returns channel slugs to use with get_channels and get_channel_posts.
Input Schema
{
"type": "object",
"properties": {
"query": {
"description": "Channel name or username to match; omit to browse by filters",
"type": "string",
"minLength": 1
},
"verified": {
"description": "true = verified channels only, false = unverified only",
"type": "boolean"
},
"categories": {
"description": "Category slugs to filter by; a channel matching any one passes",
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"languages": {
"description": "ISO-639-1 language codes to filter by (any match)",
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"activity": {
"description": "Last-post activity buckets to filter by (any match)",
"type": "array",
"items": {
"type": "string",
"enum": [
"recently",
"week",
"month",
"dormant",
"inactive"
]
}
},
"sort": {
"description": "Sort order: 'subs' (largest first, default) or 'name'",
"type": "string",
"enum": [
"subs",
"name"
]
},
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"total": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"subscribers": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"verified": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"categories": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"languages": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"last_post_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"url": {
"description": "statiko.io permalink to cite",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
}
},
"required": [
"results"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_channels(channels, start_date, end_date)
One channel: full profile of a tracked Telegram channel — description, subscriber and post counts, categories, AI insights, and metrics (subscriber growth, post frequency, view rate, engagement) with dated sparklines over an optional date range. Several channels (up to 10, ids and slugs mixed): compact comparison rows with headline metric values and changes over the last 30 days, from one lookup; unknown entries are listed as unresolved instead of failing the call.
Input Schema
{
"type": "object",
"properties": {
"channels": {
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Channel slug (Telegram username, without the @) or numeric channel ids, mixed freely. One channel answers its full profile; several answer compact comparison rows."
},
"start_date": {
"description": "Metrics window start (YYYY-MM-DD, inclusive); default -30d. Single channel only",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"end_date": {
"description": "Metrics window end (YYYY-MM-DD, inclusive); default today. Single channel only",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"channels"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"channels": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"slug": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"info": {
"anyOf": [
{
"type": "object",
"properties": {
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"active_usernames": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"verified": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"count_subscribers": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"count_posts": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"count_views": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"ai_insights": {
"description": "AI-written profile of the channel, when one exists",
"anyOf": [
{
"type": "object",
"properties": {
"summary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"metrics": {
"anyOf": [
{
"type": "object",
"properties": {
"totalSubscribers": {
"anyOf": [
{
"type": "object",
"properties": {
"value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"change": {
"anyOf": [
{
"type": "object",
"properties": {
"absolute": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"percentage": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"postFrequency": {
"anyOf": [
{
"type": "object",
"properties": {
"value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"change": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"previousValue": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"viewRate": {
"anyOf": [
{
"type": "object",
"properties": {
"value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"change": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"previousValue": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"erByViews": {
"anyOf": [
{
"type": "object",
"properties": {
"value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"change": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"previousValue": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"metrics_period": {
"anyOf": [
{
"type": "object",
"properties": {
"start": {
"description": "ISO 8601 calendar date, inclusive",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"end": {
"description": "ISO 8601 calendar date, inclusive",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"days": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"previous_period": {
"anyOf": [
{
"type": "object",
"properties": {
"start": {
"description": "ISO 8601 calendar date, inclusive",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"end": {
"description": "ISO 8601 calendar date, inclusive",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"days": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"sparkline_dates": {
"description": "ISO dates aligned 1:1 with every metric sparkline",
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "object",
"properties": {
"slug": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"subscribers": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"verified": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"categories": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"languages": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"last_post_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"url": {
"description": "statiko.io permalink to cite",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"id": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"metrics": {
"description": "null when the row's shard did not answer",
"anyOf": [
{
"type": "object",
"properties": {
"totalSubscribers": {
"anyOf": [
{
"type": "object",
"properties": {
"value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"change": {
"anyOf": [
{
"type": "object",
"properties": {
"absolute": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"percentage": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"postFrequency": {
"anyOf": [
{
"type": "object",
"properties": {
"value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"change": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"previousValue": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"viewRate": {
"anyOf": [
{
"type": "object",
"properties": {
"value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"change": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"previousValue": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"erByViews": {
"anyOf": [
{
"type": "object",
"properties": {
"value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"change": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"previousValue": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"metrics_period": {
"anyOf": [
{
"type": "object",
"properties": {
"start": {
"description": "ISO 8601 calendar date, inclusive",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"end": {
"description": "ISO 8601 calendar date, inclusive",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"days": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"previous_period": {
"anyOf": [
{
"type": "object",
"properties": {
"start": {
"description": "ISO 8601 calendar date, inclusive",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"end": {
"description": "ISO 8601 calendar date, inclusive",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"days": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
]
}
},
"unresolved": {
"description": "Requested entries no row answered to; comparison branch only",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"channels"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_channel_timeline(channel, event_types, order, page, limit)
Structural events in a channel's history: renames, description and photo changes, verification flips, subscriber/view milestones, and post edits or deletions — for telling what happened on a given date.
Input Schema
{
"type": "object",
"properties": {
"channel": {
"type": "string",
"minLength": 1,
"description": "Channel slug (Telegram username, without the @) or numeric channel id"
},
"event_types": {
"description": "Event types to keep; omit for all of them",
"type": "array",
"items": {
"type": "string",
"enum": [
"CHANNEL_FOLLOWED",
"CHANNEL_TITLE_CHANGED",
"CHANNEL_ABOUT_CHANGED",
"CHANNEL_PHOTO_CHANGED",
"VERIFIED_STATUS_CHANGED",
"SUBSCRIBERS_MILESTONE",
"CHANNEL_FIRST_MESSAGE",
"POST_EDITED",
"POST_DELETED",
"VIEW_MILESTONE",
"COMMENT_MILESTONE"
]
}
},
"order": {
"default": "desc",
"description": "Sort by event time: desc (newest first) or asc",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"default": 0,
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"limit": {
"default": 20,
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"channel"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"channel": {
"type": "string"
},
"total": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"page": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"event_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"event_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"event_timestamp": {
"description": "ISO 8601 timestamp",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"message_id": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"data": {
"description": "Event payload; its shape follows event_type",
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
}
},
"required": [
"channel",
"events"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_similar_channels(channel, limit)
Channels that resemble the given one by category and audience — the peer cohort to compare a channel's metrics against.
Input Schema
{
"type": "object",
"properties": {
"channel": {
"type": "string",
"minLength": 1,
"description": "Channel slug (Telegram username, without the @) or numeric channel id"
},
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"channel"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"channel": {
"type": "string"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"slug": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"subscribers": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"verified": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"categories": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
}
},
"required": [
"channel",
"results"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_channel_posts(channel, query, since, until, message_type, ...)
Recent posts from a tracked Telegram channel, newest first, with text, view/forward/reply/reaction counts and `reactions_map`, the five most used reaction emoji with their counts. Accepts a channel slug or a numeric chat id, an optional text `query` to search the channel's posts, and an optional time range. Album posts are collapsed to one row, so a page may hold fewer than `limit` posts.
Input Schema
{
"type": "object",
"properties": {
"channel": {
"type": "string",
"minLength": 1,
"description": "Channel slug (Telegram username, without the @) or numeric channel id"
},
"query": {
"description": "Only posts whose text contains this term (case-insensitive substring)",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"since": {
"description": "Only posts at or after this ISO 8601 timestamp",
"type": "string"
},
"until": {
"description": "Only posts before this ISO 8601 timestamp",
"type": "string"
},
"message_type": {
"description": "Filter by message type: TEXT, PHOTO, VIDEO, AUDIO, DOCUMENT, UNSUPPORTED (case-insensitive)",
"type": "string"
},
"limit": {
"default": 20,
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"channel"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"channel": {
"type": "string"
},
"chat_id": {
"type": "number"
},
"posts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"message_id": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"created_at": {
"description": "ISO 8601 timestamp",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"message_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"views": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"forwards": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"replies": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"reactions": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"reactions_map": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
},
"description": "Reaction emoji to count"
},
{
"type": "null"
}
]
},
"album_message_ids": {
"description": "Sibling ids of a collapsed album; null for a standalone post",
"anyOf": [
{
"type": "array",
"items": {
"type": "number"
}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
}
},
"required": [
"channel",
"chat_id",
"posts"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_post_stats(channel, message_id, since, until, bucket)
How a post's views, forwards, replies and reactions (total and per-emoji) evolved over its life, as a sparse series of snapshots bucketed per hour or per day, oldest first — for view velocity and reaction drift. `message_id` comes from get_channel_posts. A post with no recorded snapshots answers an empty series.
Input Schema
{
"type": "object",
"properties": {
"channel": {
"type": "string",
"minLength": 1,
"description": "Channel slug (Telegram username, without the @) or numeric channel id"
},
"message_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Post id within the channel"
},
"since": {
"description": "Only snapshots taken at or after this ISO 8601 timestamp",
"type": "string"
},
"until": {
"description": "Only snapshots taken before this ISO 8601 timestamp",
"type": "string"
},
"bucket": {
"default": "1h",
"description": "Series resolution: one snapshot per hour (1h) or day (1d)",
"type": "string",
"enum": [
"1h",
"1d"
]
}
},
"required": [
"channel",
"message_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"channel": {
"type": "string"
},
"chat_id": {
"type": "number"
},
"message_id": {
"type": "number"
},
"bucket": {
"type": "string"
},
"snapshots": {
"type": "array",
"items": {
"type": "object",
"properties": {
"bucket_start": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"received_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"views": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"forwards": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"replies": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"reactions": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"reactions_map": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
},
"description": "Reaction emoji to count"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
"description": "Sparse, oldest first; empty for an untracked post"
}
},
"required": [
"channel",
"chat_id",
"message_id",
"bucket",
"snapshots"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢search(query)
Search Statiko for tracked Telegram channels and currently trending stories. Returns document ids for the fetch tool; results cite statiko.io pages.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "Free-text search query"
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Document id to pass to fetch"
},
"title": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"id",
"title",
"url"
],
"additionalProperties": false
}
}
},
"required": [
"results"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fetch(id)
Fetch the full document behind a search result id: a channel profile with metrics, or a trending story with context and sample posts.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Document id from a previous search: 'channel:<slug>' or 'trend:<window>:<lang>:<norm>'"
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"text": {
"type": "string"
},
"url": {
"type": "string"
},
"metadata": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"id",
"title",
"text",
"url",
"metadata"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Recommended Prompts
search_channelssearch_channelsget_trending_topicsget_trending_topicssearch_channelsget_trending_topicsCommunity
Evidence