ScrapeMole Social

Pay-per-call x402 Telegram channels, Mastodon tags, Bluesky, Hacker News, Lobsters data.

Should I use this

Quality & Safety

B
Description quality
98%
Schema completeness
99%
Naming quality
80%
Poisoning risk
0%
Permission match
100%
Protocol compliance
100%

Findings (7)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool 'mastodon_tag' description contains placeholder textin mastodon_tag
  • MEDIUMTool description contains URL to non-standard domainin hn_search
  • MEDIUMTool description contains URL to non-standard domainin hn_thread
  • INFOTool description contains placeholder or incomplete textin hn_search
  • INFOTool description contains placeholder or incomplete textin hn_thread
  • INFOTool description contains placeholder or incomplete textin mastodon_tag

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,815Tokens (tool definitions)
~1.0 KBTypical response size
Moderate attention impact (1.42% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "social": {
      "url": "https://social.scrapemole.workers.dev/mcp"
    }
  }
}

Remote endpoints

https://social.scrapemole.workers.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (8)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢bluesky_search(q, sort, limit, cursor)

Use for real-time social listening, brand/topic mentions and sentiment research on Bluesky: returns up to 50 public posts matching a query (supports from:handle, #tags, since:/until: dates via Bluesky search syntax) with text, author handle/display name, createdAt, engagement counts, outbound links and a bsky.app URL. Optional cursor for pagination. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Search query (Bluesky search syntax)."
    },
    "sort": {
      "type": "string",
      "description": "\"latest\" or \"top\".",
      "default": "latest"
    },
    "limit": {
      "type": "string",
      "description": "Max posts (1-50).",
      "default": "25"
    },
    "cursor": {
      "type": "string",
      "description": "Pagination cursor from a previous response."
    }
  },
  "required": [
    "q"
  ],
  "additionalProperties": false
}
🟢bluesky_profile(actor)

Use to look up or verify a Bluesky account: returns DID, handle, display name, description (bio), follower/following/post counts, account creation time, avatar and banner URLs, and labels. Public profile data only. Paid tool: x402 USDC on Base, $0.001 per successful call; call without payment to receive the PaymentRequired object.

Input Schema

{
  "type": "object",
  "properties": {
    "actor": {
      "type": "string",
      "description": "Handle (e.g. bsky.app) or DID."
    }
  },
  "required": [
    "actor"
  ],
  "additionalProperties": false
}
🟢bluesky_feed(actor, filter, limit, cursor)

Use to monitor what a specific Bluesky account has posted recently: returns up to 50 posts (original posts by default, optionally including replies/reposts) with text, time, likes/reposts/replies, outbound links and URLs. Cursor pagination supported. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.

Input Schema

{
  "type": "object",
  "properties": {
    "actor": {
      "type": "string",
      "description": "Handle or DID."
    },
    "filter": {
      "type": "string",
      "description": "\"posts\" (no replies), \"replies\" (posts and replies) or \"all\" (incl. reposts).",
      "default": "posts"
    },
    "limit": {
      "type": "string",
      "description": "Max posts (1-50).",
      "default": "20"
    },
    "cursor": {
      "type": "string",
      "description": "Pagination cursor."
    }
  },
  "required": [
    "actor"
  ],
  "additionalProperties": false
}
🟢hn_search(q, type, sort, days, minPoints, ...)

Use to find what Hacker News says about a product, company, library or topic: searches stories (default) or comments across HN history, sorted by relevance or newest, optionally limited to the last N days or a minimum points threshold. Returns title, URL, author, points, comment count, time, text excerpt and the HN link. For the live HN front page, new, best, Ask HN, Show HN and job lists use ScrapeMole Pulse: https://pulse.scrapemole.workers.dev/v1/news/hn. Paid tool: x402 USDC on Base, $0.001 per successful call; call without payment to receive the PaymentRequired object.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Search text."
    },
    "type": {
      "type": "string",
      "description": "\"story\" or \"comment\".",
      "default": "story"
    },
    "sort": {
      "type": "string",
      "description": "\"relevance\" or \"date\".",
      "default": "relevance"
    },
    "days": {
      "type": "string",
      "description": "Only items from the last N days (1-3650)."
    },
    "minPoints": {
      "type": "string",
      "description": "Minimum points (stories)."
    },
    "limit": {
      "type": "string",
      "description": "Max hits (1-50).",
      "default": "20"
    }
  },
  "required": [
    "q"
  ],
  "additionalProperties": false
}
🟢hn_thread(id, limit)

Use to read the discussion on a Hacker News post: returns the story (title, URL, points, author, time) and up to N comments in thread order with depth, author, time and plain text (HTML stripped). Good for summarising community reaction to a launch. For the live HN front page, new, best, Ask HN, Show HN and job lists use ScrapeMole Pulse: https://pulse.scrapemole.workers.dev/v1/news/hn. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "HN item id (story)."
    },
    "limit": {
      "type": "string",
      "description": "Max comments (1-300).",
      "default": "100"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}
🟢lobsters_hot(list, tag, limit)

Use to see what programmers on Lobsters are discussing right now: returns up to 25 stories from the hottest or newest page, optionally filtered to one tag, with title, URL, score, comment count, tags, submitter and time. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.

Input Schema

{
  "type": "object",
  "properties": {
    "list": {
      "type": "string",
      "description": "\"hottest\" or \"newest\".",
      "default": "hottest"
    },
    "tag": {
      "type": "string",
      "description": "Optional tag, e.g. rust, ai, security."
    },
    "limit": {
      "type": "string",
      "description": "Max stories (1-25).",
      "default": "25"
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢telegram_channel(channel, q, before, limit)

Use to monitor or research public Telegram channels (crypto, news, project announcements, signals): pass a channel username (e.g. durov, telegram, or a t.me link) and get up to 20 recent posts with text, ISO date, view count, outbound links, forwarded-from, photo/video flags and t.me post URLs, plus the channel title, bio and subscriber count. Add q= to search posts within that channel, before= to page back. Only public channels with the web preview enabled; no login, no private chats or groups. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.

Input Schema

{
  "type": "object",
  "properties": {
    "channel": {
      "type": "string",
      "description": "Public channel username or t.me link."
    },
    "q": {
      "type": "string",
      "description": "Optional keyword search within the channel."
    },
    "before": {
      "type": "string",
      "description": "Return posts older than this post id (pagination)."
    },
    "limit": {
      "type": "string",
      "description": "Max posts (1-20).",
      "default": "20"
    }
  },
  "required": [
    "channel"
  ],
  "additionalProperties": false
}
🟢mastodon_tag(tag, instance, limit, max_id)

Use for fediverse social listening on a topic or brand hashtag: returns up to 40 recent public posts tagged #tag as seen by a Mastodon instance (mastodon.social by default, or any public instance via instance=), with plain text, author handle, createdAt, language, reblog/favourite/reply counts, tags and URLs. Public posts only, official public API, no login. Paid tool: x402 USDC on Base, $0.001 per successful call; call without payment to receive the PaymentRequired object.

Input Schema

{
  "type": "object",
  "properties": {
    "tag": {
      "type": "string",
      "description": "Hashtag without #."
    },
    "instance": {
      "type": "string",
      "description": "Mastodon instance host.",
      "default": "mastodon.social"
    },
    "limit": {
      "type": "string",
      "description": "Max posts (1-40).",
      "default": "20"
    },
    "max_id": {
      "type": "string",
      "description": "Pagination: posts older than this id."
    }
  },
  "required": [
    "tag"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded8 tools