Core capabilities for the Z-Sight APP, including live streaming search, short video and variety show browsing, trending topics, app page navigation, content publishing, and more.
CategoryFunctionDescriptionSearchsearch_hotGet platform trending search keywordsSearchsearch_liveSearch live streams by keywordSearchsearch_varietySearch variety shows by keywordLiveget_hot_live_listGet hot live stream listLiveget_live_detailGet live detail page URL by live IDLivewatch_live_channelWatch TV channel live (Zhejiang TV, Qianjiang, etc.)Varietyget_variety_listGet trending variety show rankingShort Videoget_short_video_listGet trending short video rankingAppopen_app_pageOpen app page (returns deep link)Createpublish_postPublish a text & image postCreatepublish_short_videoPublish a short videoMessagesget_message_listGet message list (mentions/comments/likes)UGCget_user_content_listGet user short video listUGCget_user_post_listGet user post (text & image) listUGCget_user_audio_listGet user audio list (e.g. KTV recordings)UGCdelete_articleDelete an article (requires article ID)
User wants trending topics -> use search_hot
User wants to find a live stream -> use search_live with a keyword
User wants to find a variety show -> use search_variety with a keyword
User wants hot live streams -> use get_hot_live_list
User wants to enter a specific live room -> use get_live_detail with liveId
User wants to watch TV live -> use watch_live_channel with channel name
User wants trending variety shows -> use get_variety_list
User wants trending short videos -> use get_short_video_list
User wants to open the app to a specific page -> use open_app_page with schema
publish_post
publish_short_video
get_message_list with msg_type: "mention"
get_message_list with msg_type: "comment"
get_message_list with msg_type: "like"
get_user_content_list
get_user_post_list
get_user_audio_list
delete_article with article_id
get_user_content_list, get_user_post_list, or get_user_audio_list to get the article ID ( id field)MCP Server address (built into skill.json):
json
{
"mcp": {
"transport": "sse",
"url": "https://zmg-mcp.cztv.com/sse",
"auth": {
"type": "bearer",
"header": "Authorization",
"token_prefix": "zmg_",
"acquire_url": "https://zmg-mcp.cztv.com"
}
}
}
Client configuration example (replace <ai_token> with actual token):
json
{
"mcpServers": {
"zmg-zsj-skill": {
"url": "https://zmg-mcp.cztv.com/sse",
"headers": {
"Authorization": "Bearer <ai_token>"
}
}
}
}
The MCP Server is stateless and does not manage user sessions. Authentication is handled via ai_token sent with each request:
ai_token is issued after the user scans a QR code in the app (format: zmg_xxxxx), stored in Redisai_token into client configAuthorization: Bearer <ai_token> in MCP request headerschannel parameter accepts channel names (e.g. "Zhejiang TV"), supports fuzzy matching, defaults to Zhejiang TVget_live_detail requires a live ID to get the detail page URLopen_app_page returns a link that can be used as a hyperlink to launch the apppublish_post / publish_short_video) require user authorization; return 401 if unauthorized or expiredWhen ANY API returns code: 401, immediately follow this procedure:
Stop the current task immediately -- do not continue calling any APIs
Tell the user to scan the QR code and display:
https://zmg-mcp.cztv.comAfter the user scans and authorizes, update the new ai_token in the MCP config Authorization: Bearer <ai_token>
Retry the original request after updating the token
401 Response Format:
json
{
"code": 401,
"message": "Authorization expired, please re-scan to authorize",
"action": "REAUTHORIZE",
"authorize_url": "https://zmg-mcp.cztv.com"
}
Strictly prohibited: