MCPサーバー

Statiko — Telegram trends & channel analytics

io.statiko/telegram

このMCPでできること

Provides searchable Telegram channel data, post histories, trend detection, channel metrics, engagement statistics, and historical channel events.

fetch
Fetch a Statiko document
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', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': "Document id from a previous search: 'channel:<slug>' or 'trend:<window>:<lang>:<norm>'"}}}
出力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id', 'title', 'text', 'url', 'metadata'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'text': {'type': 'string'}, 'title': {'type': 'string'}, 'metadata': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'additionalProperties': False}
get_channel_posts
Posts from a channel
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', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['channel'], 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 500, 'minLength': 1, 'description': 'Only posts whose text contains this term (case-insensitive substring)'}, 'since': {'type': 'string', 'description': 'Only posts at or after this ISO 8601 timestamp'}, 'until': {'type': 'string', 'description': 'Only posts before this ISO 8601 timestamp'}, 'channel': {'type': 'string', 'minLength': 1, 'description': 'Channel slug (Telegram username, without the @) or numeric channel id'}, 'message_type': {'type': 'string', 'description': 'Filter by message type: TEXT, PHOTO, VIDEO, AUDIO, DOCUMENT, UNSUPPORTED (case-insensitive)'}}}
出力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['channel', 'chat_id', 'posts'], 'properties': {'posts': {'type': 'array', 'items': {'type': 'object', 'properties': {'text': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'views': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'replies': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'forwards': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'reactions': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'created_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'ISO 8601 timestamp'}, 'message_id': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'message_type': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'reactions_map': {'anyOf': [{'type': 'object', 'description': 'Reaction emoji to count', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'number'}}, {'type': 'null'}]}, 'album_message_ids': {'anyOf': [{'type': 'array', 'items': {'type': 'number'}}, {'type': 'null'}], 'description': 'Sibling ids of a collapsed album; null for a standalone post'}}, 'additionalProperties': {}}}, 'channel': {'type': 'string'}, 'chat_id': {'type': 'number'}}, 'additionalProperties': False}
get_channels
Channel profiles & metrics
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', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['channels'], 'properties': {'channels': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 10, 'minItems': 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.'}, 'end_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Metrics window end (YYYY-MM-DD, inclusive); default today. Single channel only'}, 'start_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Metrics window start (YYYY-MM-DD, inclusive); default -30d. Single channel only'}}}
出力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['channels'], 'properties': {'channels': {'type': 'array', 'items': {'anyOf': [{'type': 'object', 'properties': {'id': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'info': {'anyOf': [{'type': 'object', 'properties': {'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'verified': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'count_posts': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'count_views': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'active_usernames': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'count_subscribers': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}}, 'additionalProperties': {}}, {'type': 'null'}]}, 'slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'metrics': {'anyOf': [{'type': 'object', 'properties': {'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'}]}, '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'}]}, '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'}]}}, 'additionalProperties': {}}, {'type': 'null'}]}, 'ai_insights': {'anyOf': [{'type': 'object', 'properties': {'summary': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'AI-written profile of the channel, when one exists'}, 'metrics_period': {'anyOf': [{'type': 'object', 'properties': {'end': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'ISO 8601 calendar date, inclusive'}, 'days': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'start': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'ISO 8601 calendar date, inclusive'}}, 'additionalProperties': {}}, {'type': 'null'}]}, 'previous_period': {'anyOf': [{'type': 'object', 'properties': {'end': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'ISO 8601 calendar date, inclusive'}, 'days': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'start': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'ISO 8601 calendar date, inclusive'}}, 'additionalProperties': {}}, {'type': 'null'}]}, 'sparkline_dates': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'description': 'ISO dates aligned 1:1 with every metric sparkline'}}, 'additionalProperties': {}}, {'type': 'object', 'properties': {'id': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'statiko.io permalink to cite'}, 'slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'metrics': {'anyOf': [{'type': 'object', 'properties': {'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'}]}, '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'}]}, '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'}]}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': "null when the row's shard did not answer"}, 'verified': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'languages': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'categories': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'subscribers': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'last_post_date': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'metrics_period': {'anyOf': [{'type': 'object', 'properties': {'end': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'ISO 8601 calendar date, inclusive'}, 'days': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'start': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'ISO 8601 calendar date, inclusive'}}, 'additionalProperties': {}}, {'type': 'null'}]}, 'previous_period': {'anyOf': [{'type': 'object', 'properties': {'end': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'ISO 8601 calendar date, inclusive'}, 'days': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'start': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'ISO 8601 calendar date, inclusive'}}, 'additionalProperties': {}}, {'type': 'null'}]}}, 'additionalProperties': {}}]}}, 'unresolved': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Requested entries no row answered to; comparison branch only'}}, 'additionalProperties': False}
get_channel_timeline
Channel timeline events
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', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['channel'], 'properties': {'page': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}, 'order': {'enum': ['asc', 'desc'], 'type': 'string', 'default': 'desc', 'description': 'Sort by event time: desc (newest first) or asc'}, 'channel': {'type': 'string', 'minLength': 1, 'description': 'Channel slug (Telegram username, without the @) or numeric channel id'}, 'event_types': {'type': 'array', 'items': {'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'], 'type': 'string'}, 'description': 'Event types to keep; omit for all of them'}}}
出力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['channel', 'events'], 'properties': {'page': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'total': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'events': {'type': 'array', 'items': {'type': 'object', 'properties': {'data': {'anyOf': [{'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Event payload; its shape follows event_type'}, 'event_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'event_type': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'message_id': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'event_timestamp': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'ISO 8601 timestamp'}}, 'additionalProperties': {}}}, 'channel': {'type': 'string'}}, 'additionalProperties': False}
get_post_stats
Interaction history of a post
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', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['channel', 'message_id'], 'properties': {'since': {'type': 'string', 'description': 'Only snapshots taken at or after this ISO 8601 timestamp'}, 'until': {'type': 'string', 'description': 'Only snapshots taken before this ISO 8601 timestamp'}, 'bucket': {'enum': ['1h', '1d'], 'type': 'string', 'default': '1h', 'description': 'Series resolution: one snapshot per hour (1h) or day (1d)'}, 'channel': {'type': 'string', 'minLength': 1, 'description': 'Channel slug (Telegram username, without the @) or numeric channel id'}, 'message_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Post id within the channel'}}}
出力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['channel', 'chat_id', 'message_id', 'bucket', 'snapshots'], 'properties': {'bucket': {'type': 'string'}, 'channel': {'type': 'string'}, 'chat_id': {'type': 'number'}, 'snapshots': {'type': 'array', 'items': {'type': 'object', 'properties': {'views': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'replies': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'forwards': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'reactions': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'received_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'bucket_start': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'reactions_map': {'anyOf': [{'type': 'object', 'description': 'Reaction emoji to count', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'number'}}, {'type': 'null'}]}}, 'additionalProperties': {}}, 'description': 'Sparse, oldest first; empty for an untracked post'}, 'message_id': {'type': 'number'}}, 'additionalProperties': False}
get_similar_channels
Similar channels
Channels that resemble the given one by category and audience — the peer cohort to compare a channel's metrics against.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['channel'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1}, 'channel': {'type': 'string', 'minLength': 1, 'description': 'Channel slug (Telegram username, without the @) or numeric channel id'}}}
出力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['channel', 'results'], 'properties': {'channel': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'verified': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'categories': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'subscribers': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}}, 'additionalProperties': {}}}}, 'additionalProperties': False}
get_trending_topics
Trending topics board
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', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'lang': {'type': 'string', '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."}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Number of stories to return'}, 'window': {'enum': ['now', 'yesterday'], 'type': 'string', 'default': 'now', 'description': "Rolling 24h window to rank: 'now' (live) or 'yesterday'"}}}
出力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['window', 'lang', 'url', 'items'], 'properties': {'url': {'type': 'string'}, 'lang': {'type': 'string'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'norm': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Topic key to pass to get_trend_samples'}, 'rank': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'type': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'context': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'display': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'channels': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'keywords': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'display': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': {}}}, {'type': 'null'}]}, 'mentions': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'momentum': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'delta_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'sparkline': {'anyOf': [{'type': 'array', 'items': {'type': 'number'}}, {'type': 'null'}], 'description': 'Hourly mention counts'}}, 'additionalProperties': {}}}, 'window': {'type': 'string'}, 'languages': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'lang': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'topics': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}}, 'additionalProperties': {}}}, {'type': 'null'}]}, 'window_end': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'computed_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'window_start': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}
get_trend_samples
Posts behind a trend
Sample Telegram posts that mention a trending topic, for reading what a story on the trending board is actually about.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['norm'], 'properties': {'lang': {'type': 'string', '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."}, 'norm': {'type': 'string', 'minLength': 1, 'description': "Normalized topic key of the story ('norm' field from get_trending_topics)"}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1}, 'window': {'enum': ['now', 'yesterday'], 'type': 'string', 'default': 'now'}}}
出力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['norm', 'window', 'lang', 'samples'], 'properties': {'lang': {'type': 'string'}, 'norm': {'type': 'string'}, 'window': {'type': 'string'}, 'samples': {'type': 'array', 'items': {'type': 'object', 'properties': {'text': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'chat_id': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'display': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'created_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'message_id': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'message_type': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': {}}}}, 'additionalProperties': False}
search
Search Statiko
Search Statiko for tracked Telegram channels and currently trending stories. Returns document ids for the fetch tool; results cite statiko.io pages.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'query': {'type': 'string', 'minLength': 1, 'description': 'Free-text search query'}}}
出力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['results'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'url'], 'properties': {'id': {'type': 'string', 'description': 'Document id to pass to fetch'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
search_channels
Search Telegram channels
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', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'sort': {'enum': ['subs', 'name'], 'type': 'string', 'description': "Sort order: 'subs' (largest first, default) or 'name'"}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1}, 'query': {'type': 'string', 'minLength': 1, 'description': 'Channel name or username to match; omit to browse by filters'}, 'activity': {'type': 'array', 'items': {'enum': ['recently', 'week', 'month', 'dormant', 'inactive'], 'type': 'string'}, 'description': 'Last-post activity buckets to filter by (any match)'}, 'verified': {'type': 'boolean', 'description': 'true = verified channels only, false = unverified only'}, 'languages': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'description': 'ISO-639-1 language codes to filter by (any match)'}, 'categories': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'description': 'Category slugs to filter by; a channel matching any one passes'}}}
出力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['results'], 'properties': {'total': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'results': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'statiko.io permalink to cite'}, 'slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'verified': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'languages': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'categories': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'subscribers': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'last_post_date': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': {}}}}, 'additionalProperties': False}
追加
fetch
2026年9月17日12:53
追加
search
2026年9月17日12:53
追加
get_post_stats
2026年9月17日12:53
追加
get_channel_posts
2026年9月17日12:53
追加
get_similar_channels
2026年9月17日12:53
追加
get_channel_timeline
2026年9月17日12:53
追加
get_channels
2026年9月17日12:53
追加
search_channels
2026年9月17日12:53
追加
get_trend_samples
2026年9月17日12:53
追加
get_trending_topics
2026年9月17日12:53