Skip to main content
MCP Tools

Social

Capture footprints, search, read feeds and messages, and take gated write actions on social platforms — as a saved identity, over each platform's own API.

The social family acts on one platform as a saved logged-in identity (session), mostly over the platform's own API rather than the DOM. Read tools are riskLevel 1; outbound write verbs are gated.

ToolWhat it does
social_captureCapture a person's social footprint (profile + posts + engagement + connections) on one platform, returning a versioned FootprintFile a corpus/graph lander consumes.
social_searchSearch a platform for posts (or people) matching a query, returning a versioned SocialSearchResult.
social_capture_startStart a social_capture as a background job; returns a jobId. For deep captures that outrun a synchronous call.
social_capture_pollPoll a social_capture_start job → { status: running | done | error }; on done, the FootprintFile (+ a recording resource when started with record: true).

Read

ToolWhat it does
social_feedRead a public timeline: home (the owner's feed) or authorPosts (a person's authored posts). Each post: activity id, permalink, author, text, best-effort reaction/comment counts.
social_conversationRead messaging: list (inbox threads), read (a thread's messages + media attachments), resolve (map a person to their existing thread).
social_mediaRetrieve a social attachment's bytes — pass a url from a social_conversation read's mediaRefs[] and get the file base64-encoded.

Write (gated)

ToolWhat it does
social_actionA neutral write verb over the platform's own API: react/unreact, repost/unrepost, reply, post, remove, connect/disconnect, message (DM).
social_networkA relationship action through the platform's real controls (trusted-input UI ladder): invite (with optional note), withdrawInvitation, and accept/ignore/remove where wired.

Outbound verbs (message / post / reply / connect on social_action; invite on social_network) are GATED: call without confirmToken to dry-run — it returns a preview { dryRun, resolvedTarget/resolvedName, textToSend/noteToSend, confirmToken } and sends nothing. Echo that exact confirmToken back to execute.

API-contract capture

social_capture_contract records a platform's real API traffic (no screenshots/DOM). op: arm (inject a fetch/XHR recorder matching a URL pattern), harvest (return captured requests — method, url, queryId/action, body shape), or navigate (arm + go to a url + settle + harvest). For a write contract: arm, perform the action once in the live session, then harvest. session is required.