Statiko — Telegram trends & channel analytics
Live Telegram data: trending topics, channel profiles & metrics, post history incl. edits/deletions.
我该使用它吗
质量与安全性
发现(2)
- LOW在 get_similar_channels 中
- LOW在 fetch 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"telegram": {
"url": "https://mcp.statiko.io/mcp"
}
}
}远程端点
https://mcp.statiko.io/mcpstreamable-http它能做什么
工具清单
工具(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.
输入模式
{
"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"
}输出模式
{
"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.
输入模式
{
"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"
}输出模式
{
"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.
输入模式
{
"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"
}输出模式
{
"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.
输入模式
{
"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"
}输出模式
{
"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.
输入模式
{
"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"
}输出模式
{
"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.
输入模式
{
"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"
}输出模式
{
"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.
输入模式
{
"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"
}输出模式
{
"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.
输入模式
{
"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"
}输出模式
{
"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.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "Free-text search query"
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/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.
输入模式
{
"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"
}输出模式
{
"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
}推荐提示词
search_channelssearch_channelsget_trending_topicsget_trending_topicssearch_channelsget_trending_topics社区
证据