Socials MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SOCIALS_MCP_DEV_MODE | No | Set to '1' to enable development mode for local MCP path. | |
| SOCIALS_MCP_DEV_MCP_PATH | No | Absolute path to local MCP dist/index.cjs for development. | |
| SOCIALS_MCP_RECLAIM_PORT | No | Set to '1' to automatically reclaim port 9847 if in use. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| socials_check_accessA | Check connection status. After confirming access, use socials_open_tab to open X, LinkedIn, Reddit, or YouTube (home, watch, or /results?search_query=... for search). RECOVERY FLOW if this fails: 1) socials_refresh_auth 2) if still fails, socials_restart_bridge 3) user refreshes browser extension 4) retry check_access. |
| socials_get_feedA | Get recent posts from a social media feed. Requires Pro access. Reads the pinned agent tab (set by socials_open_tab), not the tab or window you are looking at—works across Chrome windows. |
| socials_get_post_contextA | Get detailed context for a specific post including replies. Requires Pro access. |
| socials_quick_replyA | Post a reply in the pinned agent tab: X — tweet id from socials_get_feed; LinkedIn — post URN from feed; YouTube watch — |
| socials_create_postA | Publish a new original post on X (not a reply) in the pinned agent tab (need not be focused). Opens the compose dialog from the sidebar, fills the text, optionally attaches media, and clicks Post. Agent tab should be on X (e.g. https://x.com/home) with the left nav visible. IMPORTANT: Always confirm the exact text with the user before calling this tool. |
| socials_instagram_create_postA | Post a photo or carousel (up to 10 images) to Instagram. The agent tab must be on instagram.com. Use image_path for a single image or image_paths array for a carousel. Opens Create New Post dialog, uploads the image(s), fills caption and hashtags, then posts. Always confirm with user before calling. |
| socials_engage_postA | Engage with a tweet (like, repost, bookmark, share). Pass post_id from socials_get_feed. Actions are toggles — calling again may undo. IMPORTANT: Only use when the user explicitly wants these actions. |
| socials_x_searchA | Advanced X search with full operator support. User: from/to/retweets_of. Time: since/until (YYYY-MM-DD) or since_time/until_time (Unix). Engagement: min_faves/min_retweets/min_replies. Content: filter (media/images/video/links), has (links/hashtags/media), is_reply, is_retweet. Location: lang, near, place_country. Modes: top (default), latest, people, photos, videos. Query supports: #hashtags, @mentions, $cashtags, "exact phrases", -exclusions. |
| socials_x_profileA | Extract profile information from an X (Twitter) profile page. Must navigate to a profile URL first (e.g., https://x.com/username). Returns name, handle, bio, location, website, join date, following/followers counts, verification status, and follow relationship. |
| socials_x_notificationsA | Get notifications from X (Twitter). Must navigate to https://x.com/notifications first. Returns likes, follows, reposts, mentions with user info and timestamps. |
| socials_x_quote_tweetA | Quote tweet a post on X. Pass post_id (from socials_get_feed) and content (your quote text). IMPORTANT: Always confirm with the user before posting. |
| socials_list_personasA | List available personas for content generation. Includes both system personas and user-created custom personas. |
| socials_open_tabA | Open a URL in a new tab and pin it as the Socials agent tab. Automation targets this tab by ID across tabs and Chrome windows (not only the focused window). By default opens in the background (focus: true to switch to it). If a pin already exists, the new tab opens in the same window as that pin so a separate empty window does not steal the agent workspace. |
| socials_navigateA | Navigate the pinned agent tab (or tab_id if provided) to a URL. Does not require that tab to be active. |
| socials_get_active_tabA | Get the currently focused browser tab (what you are looking at). For the tab Claude automates, use socials_get_agent_tab. |
| socials_get_agent_tabA | Get the pinned Socials agent tab (URL, title, platform: x, linkedin, reddit, youtube, or null). Null if none set yet—then call socials_open_tab. |
| socials_focus_agent_tabA | Bring the pinned agent tab to the foreground (same as clicking it). Use when you want to watch what Claude is doing. |
| socials_set_agent_tabA | Pin an existing tab as the agent tab (e.g. X, LinkedIn, Reddit, or YouTube already open). Pass tab_id from socials_get_active_tab. |
| socials_reload_tabB | Reload the pinned agent tab, or tab_id if provided. |
| socials_get_page_contentA | Get structured content from the pinned agent tab. YouTube search results (/results?search_query=…) return video cards with auto-scroll. YouTube watch pages (/watch?v=…) return structured video metadata (title/channel/views/likes/description) plus comments, and can optionally switch comment sort (top/newest) before scraping. |
| socials_scrollA | Scroll the pinned agent tab to load more posts (does not require that tab to be focused). |
| socials_apply_search_filtersA | Apply filters on a search results page using a standard interface. Current implementation: YouTube search results (opens 'Filters' popup, clicks labels, waits for reload between applied filters). |
| socials_fetch_imageA | Download an image by URL and return it for visual inspection (MCP image content + JSON metadata). Token/cost guidance: image payloads are expensive, so use this only when visual inspection materially improves the answer (e.g. comparing thumbnails, checking visual details). Prefer URLs/text metadata when sufficient. Requires Socials Pro + extension connected like other MCP tools. Fetches from the MCP process (public URLs); cookie-gated images may need another approach. |
| socials_linkedin_people_searchA | Search for people on LinkedIn with filters. Filters: network (1st/2nd/3rd connections), actively_hiring. Use socials_linkedin_get_people to get results after search. |
| socials_linkedin_get_peopleA | Get people results from the current LinkedIn people search page. Returns array of people with name, headline, location, profile URL, and connection status. Also returns pagination info (current page, total pages, has next/prev). |
| socials_linkedin_next_pageA | Go to the next page of LinkedIn search results. Returns false if already on the last page. |
| socials_linkedin_go_to_pageA | Go to a specific page number of LinkedIn search results. |
| socials_linkedin_posts_searchA | Search for posts on LinkedIn. Navigates to search results filtered to Posts. After success, use socials_get_feed to read visible posts, then socials_linkedin_engage or socials_quick_reply to interact. |
| socials_linkedin_connectA | Send a LinkedIn connection request. Pass profile_url (e.g. 'https://linkedin.com/in/username'). Auto-navigates to the profile. Returns status: already_connected, pending_sent, success, etc. IMPORTANT: Always confirm with the user before sending. |
| socials_linkedin_profileA | Get a LinkedIn profile. Pass profile_url — auto-navigates and extracts name, headline, about, experience, education, skills, contact info. |
| socials_linkedin_connection_statusA | Check connection status with a LinkedIn user (read-only, no request sent). Returns: connected, pending_sent, not_connected, etc. |
| socials_linkedin_engageA | Engage with a LinkedIn post. Pass post_id from socials_get_feed. Actions: like (toggle), repost, quote_repost. IMPORTANT: Only use when the user explicitly wants these actions. |
| socials_diagnosticsB | Get diagnostics info: health metrics, engagement score, feature flags. Use refresh=true to force-refresh feature flags from PostHog. |
| socials_health_checkA | Check the health of the connection to the Socials extension. Returns ping latency, consecutive failures, and time since last successful ping. Use this to detect if the extension has disconnected mid-session. |
| socials_refresh_authA | RECOVERY STEP 1: Restore authentication when connected but auth fails. Uses device-based auth if device was previously registered (works even when logged out). Auto-registers device for future sessions if user is logged in. If this fails, proceed to socials_restart_bridge (step 2). |
| socials_restart_bridgeA | RECOVERY STEP 2: Restart the WebSocket bridge when refresh_auth fails or connection is stuck. Use when socials_check_access shows ws_server_listening=false or connected=false. Kills stale processes on port 9847 and restarts WS server. AFTER THIS: User must refresh Socials extension in browser, then retry socials_check_access. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 36 tools
Most tools have clear, specific purposes, with platform prefixes (x_, linkedin_, instagram_) helping distinguish actions. A few overlapping tools like socials_get_feed vs socials_get_page_content and socials_engage_post vs socials_linkedin_engage could cause confusion, but descriptions clarify the intended use.
The consistent 'socials_' prefix helps, but naming conventions are mixed: some tools use verb_noun (get_feed, create_post, open_tab), while others use platform_noun (linkedin_profile, x_search) or platform_verb (linkedin_engage). This inconsistency makes the set less predictable, though still readable.
With 36 tools, the server feels over-scoped. While it covers multiple platforms (X, LinkedIn, Instagram, YouTube) plus tab management and diagnostics, the count exceeds the typical comfortable range and many tools are platform-specific, making the set heavy to navigate.
The tool set covers a wide range of social media actions, including search, posting, engagement, and profile retrieval. However, notable gaps exist: no post deletion/editing, no LinkedIn original post creation, and limited Instagram functionality (only create post). These missing operations may hinder full workflow completion.