Social Fetch
REMOTE · API.SOCIALFETCH.DEV · SCANNED AUG 4
Public social-data API and live docs for AI coding agents.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security66
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 187 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability71
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 15614 tokens (~83/item across 187 items; 187 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management30
- Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage98
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 93% of tool parameters carry a description.Partial
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · api.socialfetch.dev
claude mcp add --transport http social-freak-ltd-socialfetch https://api.socialfetch.dev/mcp
[mcp_servers.social-freak-ltd-socialfetch] url = "https://api.socialfetch.dev/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"social-freak-ltd-socialfetch": {
"type": "remote",
"url": "https://api.socialfetch.dev/mcp",
"enabled": true
}
}
} openclaw mcp add social-freak-ltd-socialfetch --url https://api.socialfetch.dev/mcp --transport streamable-http
mcp_servers:
social-freak-ltd-socialfetch:
url: "https://api.socialfetch.dev/mcp" {
"mcpServers": {
"social-freak-ltd-socialfetch": {
"type": "http",
"url": "https://api.socialfetch.dev/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Aug 26 +1
- Tool “hackernews_feed_list” rewrote its description, which is the text the model reads security
- Server version: 0.24.0 → 0.25.0 functional
- New tool “web_screenshot_capture” functional
- “hackernews_feed_list” added an optional parameter “page” cosmetic
- “hackernews_feed_list” added an optional parameter “pageSize” cosmetic
- “reddit_post_comments_list” reworded the description of “url” cosmetic
- “reddit_subreddit_posts_list” reworded the description of “timeframe” cosmetic
- “hackernews_feed_list” dropped the optional parameter “offset” cosmetic
- “hackernews_feed_list” dropped the optional parameter “limit” cosmetic
- 2 Aug 26 +1
- Server version: 0.23.0 → 0.24.0 functional
- New tool “instagram_post_comments_replies_list” functional
- 31 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 −1
- Schema quality: excellent → good functional
- Server version: 0.20.0 → 0.21.0 functional
- New tool “soundcloud_profile_tracks_list” functional
- New tool “soundcloud_track_get” functional
- New tool “soundcloud_profile_get” functional
- “linkedin_profiles_posts_list” reworded the description of “startDate” cosmetic
- “reddit_subreddit_posts_list” reworded the description of “cursor” cosmetic
- “facebook_company_ads_list” reworded the description of “cursor” cosmetic
- “facebook_group_posts_list” reworded the description of “cursor” cosmetic
- “facebook_profile_photos_list” reworded the description of “cursor” cosmetic
- “facebook_profile_posts_list” reworded the description of “cursor” cosmetic
- “facebook_profile_reels_list” reworded the description of “cursor” cosmetic
- “google_company_ads_list” reworded the description of “cursor” cosmetic
- “hackernews_search_list” reworded the description of “pageSize” cosmetic
- “instagram_profile_posts_list” reworded the description of “cursor” cosmetic
- “instagram_profile_reels_list” reworded the description of “cursor” cosmetic
- “linkedin_jobs_search_list” reworded the description of “country” cosmetic
- “linkedin_jobs_search_list” reworded the description of “keyword” cosmetic
- “linkedin_jobs_search_list” reworded the description of “location” cosmetic
- “linkedin_profiles_posts_list” reworded the description of “endDate” cosmetic
- 28 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 66
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Aug 2026 · Probed https://api.socialfetch.dev/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=api.socialfetch.dev | CN=YR2,O=Let's Encrypt,C=US | 12 Jun 2026 | 10 Sept 2026 | RSA 2048 | SHA256-RSA | 5b3c82fad2f96dbcea9afc120e743f809ce |
| SANs: api.socialfetch.dev | ||||||
| CN=YR2,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | 4ebd24947e24d394802d84a52fd5b319 |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
DNSSEC secure
Validation of api.socialfetch.dev. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| dev. | present | 60074 | 8 | Verified |
| socialfetch.dev. | present | 35691 | 13 | Verified |
| api.socialfetch.dev. | Verified address RRset verified with the apex keys |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000 |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.socialfetch.dev/mcp | Verified | 200 | |
| http (plaintext) | http://api.socialfetch.dev/mcp | HTTPS enforced | 308 | https://api.socialfetch.dev/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
twitter_community_get Get Twitter community ~34
Get details for an X community by community id or URL.
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | Community URL to look up. |
No output schema declared.
No examples provided.
twitter_community_tweets_list List Twitter community tweets ~46
List tweets from an X community by community id or URL. Returns a list (use cursor when paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | Community URL to look up. |
No output schema declared.
No examples provided.
twitter_hashtag_list Search Twitter by hashtag ~108
Search X posts by hashtag (not free-text keyword — use twitter.search.list for that). Returns a list (use cursor when paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | — | Opaque pagination cursor returned by a previous response. |
| hashtag | string | yes | Hashtag to search for. |
| limit | integer | — | Optional page size. Maximum supported value is 20. |
| section | string | — | Optional section filter for the hashtag feed. Omit to use the default `top` section. |
No output schema declared.
No examples provided.
twitter_profile_get Get Twitter profile ~51
Get an X (Twitter) profile by handle. Returns lookupStatus plus follower/tweet metrics and account age signals.
| Name | Type | Req | Description |
|---|---|---|---|
| handle | string | yes | X handle to look up, with or without a leading @. |
No output schema declared.
No examples provided.
twitter_profile_tweets_list List Twitter profile tweets ~117
List tweets from an X profile by handle. Returns a list (use cursor when paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | — | Opaque pagination cursor returned by a previous response. |
| handle | string | yes | X handle to look up, with or without a leading @. |
| includePinned | — | — | Include pinned tweets on the first page. Default: false. |
| includeReplies | — | — | Include reply tweets in the returned list. Default: false. |
| limit | integer | — | Page size (maximum 100). Default: 40. |
No output schema declared.
No examples provided.
twitter_search_list Search Twitter posts ~195
Search X posts by free-text keyword (not hashtag — use twitter.hashtag.list for that). Returns a list (use cursor when paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | — | Opaque pagination cursor returned by a previous response. |
| endDate | string | — | Optional end date filter in YYYY-MM-DD format. |
| language | string | — | Optional language filter. |
| limit | integer | — | Optional page size. Maximum supported value is 20. |
| minLikes | integer | — | Optional minimum like count filter. |
| minReplies | integer | — | Optional minimum reply count filter. |
| minRetweets | integer | — | Optional minimum retweet count filter. |
| query | string | yes | Search query text to run against public posts on X. |
| section | string | — | Optional search section filter. Omit to use the default `top` section. |
| startDate | string | — | Optional start date filter in YYYY-MM-DD format. |
No output schema declared.
No examples provided.
twitter_tweet_get Get Twitter tweet ~70
Get a single tweet by URL. Author includes profile metrics when not trimmed. Warning: trim=true omits author. Credits: 1.
| Name | Type | Req | Description |
|---|---|---|---|
| trim | boolean | — | Optional: omit author profile and tweet `core` for a smaller response. |
| url | string | yes | Tweet permalink or identifier. |
No output schema declared.
No examples provided.
twitter_tweet_replies_list List Twitter tweet replies ~57
List replies to a tweet by URL. Returns a list (use cursor when paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | — | Opaque pagination cursor returned by a previous response. |
| url | string | yes | Tweet permalink or identifier. |
No output schema declared.
No examples provided.
twitter_tweet_transcript_get Get Twitter tweet transcript ~33
Get the transcript for a video tweet by URL.
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | Tweet permalink or identifier. |
No output schema declared.
No examples provided.
web_ask_run Ask a question about a web page ~61
Ask a natural-language question about a specific web page and get an LLM-generated answer. Accepts a URL.
| Name | Type | Req | Description |
|---|---|---|---|
| q | string | yes | Natural-language question to answer about the page content. |
| url | string | yes | Web page URL to fetch. |
No output schema declared.
No examples provided.
web_crawl_run Crawl web pages ~60
Crawl a small set of web pages synchronously. Accepts a URLs. Returns a list (use cursor when paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| url | array | — | URLs to crawl. Repeat the `url` query parameter for multiple pages (max 5). |
No output schema declared.
No examples provided.
web_html_generate Generate web page HTML ~30
Fetch cleaned HTML for a web page URL.
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | Web page URL to fetch. |
No output schema declared.
No examples provided.
web_markdown_generate Generate web page markdown ~186
Convert a web page URL into clean markdown.
| Name | Type | Req | Description |
|---|---|---|---|
| cacheMode | string | — | Cache behavior. `enabled`: read from cache if present, else fetch and write to cache. `bypass`: always fetch fresh, ignoring and not updating the cache. `write_only`: always fetch fresh, but write th… |
| filter | string | — | Markdown extraction filter. `fit`: strip boilerplate and extract the main readable content. `raw`: full unfiltered page markdown, no content pruning. `bm25`: rank and return only the content most rel… |
| query | string | — | Optional query string used by the bm25 filter to rank relevant content. |
| url | string | yes | Web page URL to fetch. |
No output schema declared.
No examples provided.
web_screenshot_capture Capture website screenshot ~459
Capture a screenshot of a public web page URL as a hosted image artifact.
| Name | Type | Req | Description |
|---|---|---|---|
| blockAds | — | — | Block ads and trackers during render. Default: true. |
| blockCookieBanners | — | — | Dismiss/block cookie consent banners. Default: true. |
| cacheMode | string | — | Cache behavior. `enabled`: read from cache if present, else fetch and write to cache. `bypass`: always fetch fresh, ignoring and not updating the cache. `write_only`: always fetch fresh, but write th… |
| cacheTtl | integer | — | Optional Redis artifact-cache TTL in seconds (60–604800). Must stay strictly below the 7-day object lifetime. |
| darkMode | — | — | Request prefers-color-scheme: dark. Default: false. |
| delay | integer | — | Extra settle delay in milliseconds after load (0–10000). |
| deviceScaleFactor | integer | — | Device scale factor (1–3). Default: 1. |
| format | string | — | Output image format. Default: png. |
| fullPage | — | — | When true, capture the full scrollable page. Default: false (viewport). |
| quality | integer | — | JPEG/WebP quality 1–100. Invalid when format is png. |
| region | string | — | Optional ISO 3166-1 alpha-2 country for geo-located rendering (+1 credit). |
| response | string | — | Delivery mode. `url` (default) returns a hosted CDN URL valid for 7 days. `base64` returns the image bytes inline when small enough. |
| selector | string | — | CSS selector to clip the screenshot to a single element. Cannot be combined with fullPage. |
| url | string | yes | Web page URL to fetch. |
| viewportHeight | integer | — | Viewport height in CSS pixels. Default: 800. |
| viewportWidth | integer | — | Viewport width in CSS pixels. Default: 1280. |
| waitFor | string | — | CSS selector to wait for before capturing. |
| waitUntil | string | — | Navigation wait condition. `networkidle` is bounded and resolves on idle or a short cap, whichever comes first. Default: load. |
No output schema declared.
No examples provided.
web_search_run Search the web ~111
Search the public web and return ranked organic results with snippets. Accepts a query. Returns a list (use cursor when paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| datePosted | string | — | Optional filter by when results were posted. |
| page | integer | — | Page number (1-based). Default: 1. |
| query | string | yes | Search query text to run against the public web. |
| region | string | — | ISO 3166-1 country code for localized results (e.g. US, GB, CA). |
No output schema declared.
No examples provided.
webhookDeliveries_redeliver Manually redeliver a webhook delivery ~31
Queue a manual redelivery for one delivery attempt (async).
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | — |
No output schema declared.
No examples provided.
webhookEndpoints_create Create a webhook endpoint ~69
Create a delivery target for monitor events. kind=http requires a public HTTPS url; kind=sink is a hosted test inbox with no url. The signing secret is returned once — store it now.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | — |
| kind | string | yes | — |
| url | string | — | — |
No output schema declared.
No examples provided.
webhookEndpoints_delete Delete a webhook endpoint ~27
Permanently delete a webhook endpoint. Cannot be undone.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | — |
No output schema declared.
No examples provided.
webhookEndpoints_deliveries_list List deliveries for a webhook endpoint ~59
List delivery attempts for a webhook endpoint, optionally filtered by status or an `after` cursor (ISO timestamp) for tailing.
| Name | Type | Req | Description |
|---|---|---|---|
| after | string | — | — |
| id | string | yes | — |
| status | string | — | — |
No output schema declared.
No examples provided.
webhookEndpoints_get Get a webhook endpoint ~28
Get one webhook endpoint by id (secret material never included).
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | — |
No output schema declared.
No examples provided.
webhookEndpoints_list List webhook endpoints ~21
List the caller's webhook endpoints (secret material never included).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
webhookEndpoints_rotateSecret Rotate a webhook endpoint secret ~45
Rotate the signing secret with a 24h overlap window — the old secret keeps working until it expires. The new secret is returned once.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | — |
No output schema declared.
No examples provided.
webhookEndpoints_test Send a test webhook event ~45
Send a realistic per-source sample event to a webhook endpoint right now — a live, synchronous delivery test.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | — |
| sampleType | string | — | — |
No output schema declared.
No examples provided.
webhookEndpoints_update Update a webhook endpoint ~42
Update a webhook endpoint's description or enable/disable it.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | — |
| id | string | yes | — |
| status | string | — | — |
No output schema declared.
No examples provided.
youtube_channel_get Get YouTube channel ~79
Get YouTube channel details by channel id, handle, or URL. Returns channel metrics and identifiers for snapshot baselines.
| Name | Type | Req | Description |
|---|---|---|---|
| channelId | string | — | Optional YouTube channel id for the request. |
| handle | string | — | Optional YouTube channel handle for the request. |
| url | string | — | Optional YouTube channel URL for the request. |
No output schema declared.
No examples provided.
youtube_channel_shorts_list List YouTube channel shorts ~106
List Shorts from a YouTube channel (not long-form videos). Accepts a channel id or handle. Returns a list (use cursor when paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| channelId | string | — | Optional YouTube channel id for the request. |
| cursor | string | — | Opaque pagination cursor returned by a previous response. |
| handle | string | — | Optional YouTube channel handle for the request. |
| sortBy | string | — | Optional sort order for the returned YouTube Shorts. |
No output schema declared.
No examples provided.
youtube_channel_videos_list List YouTube channel videos ~131
List long-form videos from a YouTube channel (not Shorts — use youtube.channel.shorts.list). Accepts a channel id or handle. Returns a list (use cursor when paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| channelId | string | — | Optional YouTube channel id for the request. |
| cursor | string | — | Opaque pagination cursor returned by a previous response. |
| handle | string | — | Optional YouTube channel handle for the request. |
| includeExtras | boolean | — | Optional flag to include richer per-video metadata when available. |
| sortBy | string | — | Optional sort order for the returned YouTube videos. |
No output schema declared.
No examples provided.
youtube_community_post_get Get YouTube community post ~33
Get a YouTube community post by URL.
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | Public YouTube community post URL. |
No output schema declared.
No examples provided.
youtube_playlist_get Get YouTube playlist ~48
Get a YouTube playlist by playlist id.
| Name | Type | Req | Description |
|---|---|---|---|
| playlistId | string | yes | YouTube playlist id, or a YouTube playlist URL (the `list` query value is used when present). |
No output schema declared.
No examples provided.
youtube_search_hashtag_list Search YouTube by hashtag ~84
Search YouTube content by hashtag (not free-text keyword — use youtube.search.list for that). Returns a list (use cursor when paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | — | Opaque pagination cursor returned by a previous response. |
| hashtag | string | yes | Hashtag to search for. A leading # is optional. |
| type | string | — | Optional content filter. |
No output schema declared.
No examples provided.
youtube_search_list Search YouTube ~181
Search YouTube videos, channels, and playlists by free-text keyword (not hashtag — use youtube.search.hashtag.list for that). Returns a list (use cursor when paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | — | Opaque pagination cursor returned by a previous response. |
| duration | string | — | Optional duration filter for video results. Applies to videos, not shorts. |
| includeExtras | boolean | — | When true, returns richer per-video metadata when available. May increase response time. |
| query | string | yes | Search query text for YouTube content. |
| region | string | — | Optional ISO 3166-1 country code for localized search results. |
| sortBy | string | — | Optional sort order for search results. |
| type | string | — | Optional content type filter for search results. |
| uploadDate | string | — | Optional upload date filter for video results. |
No output schema declared.
No examples provided.
youtube_shorts_trending_list List trending YouTube Shorts ~29
List currently trending YouTube Shorts. Returns a list (use cursor when paginated).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
youtube_video_comments_analysis_get Analyze YouTube video comments ~63
Analyze YouTube video comments. Accepts a video URL.
| Name | Type | Req | Description |
|---|---|---|---|
| order | string | — | Comment sort order to analyze. Defaults to `top` for the strongest signal. |
| url | string | yes | Link to the YouTube video whose comments should be listed. |
No output schema declared.
No examples provided.
youtube_video_comments_list List YouTube video comments ~95
List comments on a YouTube video by URL. Returns a list (use cursor when paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | — | Opaque cursor from a previous response to fetch the next page. |
| order | string | — | Comment sort order. `top` returns highest-ranked comments; `newest` returns the most recent comments. |
| url | string | yes | Link to the YouTube video whose comments should be listed. |
No output schema declared.
No examples provided.
youtube_video_comments_replies_list List YouTube comment replies ~64
List replies to a YouTube comment. Accepts a from video comments. Returns a list (use cursor when paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | yes | Comment `repliesCursor` from Video Comments endpoint, or `page.nextCursor` to paginate replies. |
No output schema declared.
No examples provided.
youtube_video_get Get YouTube video ~69
Get a single YouTube video by URL. Channel lives under channel (not author); publish time is publishedAt.
| Name | Type | Req | Description |
|---|---|---|---|
| language | string | — | Optional preferred language for returned text when the source supports localization. |
| url | string | yes | Link to the YouTube video. Shorts URLs are also supported. |
No output schema declared.
No examples provided.
youtube_video_transcript_get Get YouTube video transcript ~65
Get the transcript for a YouTube video by URL.
| Name | Type | Req | Description |
|---|---|---|---|
| language | string | — | Optional ISO 639-1 language code (two letters) to prefer when multiple transcripts exist. |
| url | string | yes | Link to the YouTube video whose transcript should be returned. |
No output schema declared.
No examples provided.