Working with Socials (MCP tools)
Follow this flow unless the user explicitly asks for something else.
1. Verify connectivity
- Call
socials_check_accessfirst. - If the extension is not connected, tell the user they need a paid Socials plan (free tier does not connect), to stay signed in, and to keep the browser open with the extension loaded; do not assume tools work until access check succeeds.
2. Open the right context in the browser
- Use
socials_open_tabwith a concrete URL first. That tab is pinned as the Socials agent tab: feed, reply, scroll, search, and engage run there even if the user is focused on another tab or another Chrome window—automation uses the pinned tab id, not “the focused window.” By default the tab opens in the background; usefocus: trueto switch to it, orsocials_focus_agent_tabto bring that tab’s window forward. Additionalsocials_open_tabcalls open in the same window as the pinned tab when possible so a new empty window does not hijack the agent workspace. socials_get_agent_tab— see which tab is pinned (platformmay bex,linkedin,reddit, oryoutube).socials_set_agent_tab— pin an existing tab (e.g. X or YouTube already open) bytab_idfromsocials_get_active_tab.- Use
socials_navigate,socials_reload_tab, orsocials_scrollon the agent tab (omittab_idunless targeting a specific tab).socials_get_active_tabis the focused tab (what the user sees), not necessarily the agent tab. - If platform is X: use
socials_x_searchfirst, thensocials_get_feed/socials_quick_reply/ (optionally)socials_engage_poston results. - If platform is LinkedIn: use
socials_open_tabwithhttps://www.linkedin.com/feed/and thensocials_get_feed/socials_quick_reply(optionallysocials_scroll) to work with posts and replies. Usesocials_linkedin_posts_searchto search for posts, thensocials_get_feedto read results. Usesocials_linkedin_engage_postto like or repost. - If platform is Reddit: use
socials_open_tabwith the subreddit URL and thensocials_get_feed/socials_quick_reply(optionallysocials_scroll) to work with posts. - If the user wants YouTube: use
socials_open_tabwithhttps://www.youtube.com/(home), a watch URL, or search resultshttps://www.youtube.com/results?search_query=...where the query value is URL-encoded (same idea asencodeURIComponent). Refine search withsocials_navigateon the agent tab. To apply filters (Type/Duration/Upload date/Features/Prioritize), usesocials_apply_search_filterswithplatform: "youtube"and filter labels. Read search cards withsocials_get_page_content; on watch pages usesocials_get_page_contentfor metadata + comments (each hascommentId— the YouTubelctoken). To reply to a YouTube comment, usesocials_quick_replywithpost_idset to thatcommentId.socials_get_feedis not used for YouTube.
3. Read content
socials_fetch_image— pass a direct image URL (e.g.thumbnailUrlfrom YouTube cards, Xpbs.twimg.com, Reddit preview URLs). Returns an MCP image for side-by-side visual inspection without opening tabs. Token policy: image blocks are high-cost; use this only when it materially improves the outcome (visual comparison/detail checks). If text/URLs are enough, keep thumbnails as URLs and summarize from metadata. Requires the same Socials Pro + extension connection as other MCP tools. Public CDN URLs work; cookie-only private URLs may fail (fetch runs in the MCP process).socials_get_feed— recent posts from a feed (requires Socials Pro; extension should be on the right feed page).socials_get_post_context— thread/reply context for a post URL (Pro).socials_get_page_content—- On YouTube search results (
/results?search_query=…): returns video cards (title, URL, thumbnail URL, channel, views, duration, snippet) with auto-scroll untillimitis reached or no new rows load. - On YouTube watch pages (
/watch?v=…): returns structuredpage_datawith title/channel/views/likes/description/comments count and extracted comments. Usecomment_sort: "top" | "newest"to switch ordering before scrape,comments_limit(1–120, default 20), andexpand_description(default true). - On X/LinkedIn/Reddit: feed snippets as before.
- On YouTube search results (
4. Drafting and posting
socials_list_personas— when the user cares about tone or persona-backed generation.socials_generate_reply— optional AI-assisted draft from Socials (Pro); you may also write copy yourself.socials_quick_reply— posts a reply in the browser: X/LinkedIn from the feed (post id fromsocials_get_feed); YouTube watch —post_id=commentIdfromsocials_get_page_contentpage_data.comments. Always confirm exact text with the user before calling — this is a real post.
5. Errors and limits
- If a tool says not Pro or not connected, explain clearly and do not retry blindly.
- Respect each platform’s terms and the user’s intent; prefer summarizing and drafting over automating spam or harassment.