mcpField
M
mcp-bluesky-posts-scraper

mcp-bluesky-posts-scraper

Local
github.com/mambalabsdevSocial Media0Updated 2d ago

About mcp-bluesky-posts-scraper

An Apify-backed MCP server for retrieving public Bluesky posts and replies. It serves users who need post data by keyword, account, or post URL, with counts and metadata returned as dataset rows.

Key features

  1. 01Search posts by keyword
  2. 02Fetch posts from accounts
  3. 03Read replies by post URL
  4. 04Return counts and post metadata
  5. 05Filter by date and language

Use cases

  1. 01Track discussion of a keyword on Bluesky
  2. 02Collect recent posts from an account
  3. 03Inspect replies to a specific post

MCP support

Exposes the `get_bluesky_posts` tool to MCP clients. It starts the Apify actor, waits for its run, and returns dataset rows.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"com-mambabuilt-mcp-bluesky-posts-scraper": {
"command": "npx",
"args": [
"-y",
"@mambalabsdev/mcp-bluesky-posts-scraper"
],
"env": {
"APIFY_TOKEN": "<APIFY_TOKEN>"
}
}
}
}
Run commandnpx -y @mambalabsdev/mcp-bluesky-posts-scraper
Environment variables to set
APIFY_TOKENSecretApify API token from https://console.apify.com/account/integrations

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@mambalabsdev/mcp-bluesky-posts-scraper1.0.2

Tools

1

Saved tool list · updated 2d ago

ParameterTypeRequiredDescription
sortstringNolatest or top. Default latest. Used for queries.
authorsarrayNoBluesky handles, profile addresses, or DIDs, up to 20. Returns each account's own posts, newest first.
queriesarrayNoKeywords to search, up to 20. Without your own app password each search returns one page, about 100 posts. Text from Clay splits on new lines, so a query can hold a comma.
languagestringNoLanguage code such as en or de. Used for queries. Reads the language the post's author set.
post_urlsarrayNoAddresses of Bluesky posts to read, up to 100.
since_datestringNoOnly posts from this date, such as 2026-10-01.
until_datestringNoOnly posts before this date, such as 2026-11-01.
bluesky_handlestringNoOptional, with the app password. Used only to page a search past its first page.
max_charge_usdstringNoOptional. The run stops before a charge that would pass this amount. Summary rows are always returned.
include_repliesbooleanNoyes or no. Default no. Reads the replies under each post found. Each reply is a charged row.
include_repostsbooleanNoyes or no. Default no. Used for accounts. A repost row shows the original author.
bluesky_app_passwordstringNoOptional. Create an app password in Bluesky settings; never use your main password. Sent only to Bluesky. Without it a search returns one page, about 100 posts. Accounts and post addresses need no password.
max_posts_per_sourcenumberNoPer query or account, up to 2000. Default 100. A search with no app password stops at about 100.
max_replies_per_postnumberNoUp to 200. Default 20.
include_account_repliesbooleanNoyes or no. Default no. Used for accounts.

Details

From the project README

Bluesky Posts Scraper MCP Server

MCP Registry npm version npm downloads license

An MCP server for the Mamba Labs Bluesky Posts Scraper actor on Apify. Bluesky posts by keyword or account, and replies by post.

What's Inside

What it does

Give keywords, accounts, or post addresses. The actor reads Bluesky's public API with no login and no key, and returns one row per post or reply with exact counts, dates, hashtags, links, and images. A free status row per source says what it returned or why it stopped.

All of the work runs on Apify. This package is a thin client that starts the actor run, waits for it, and hands back the dataset rows.

Quick start

You need Node.js 18 or newer and an Apify account with an API token.

Add this to your Claude Desktop config (claude_desktop_config.json), Cursor, or any MCP client:

{
  "mcpServers": {
    "mamba-bluesky-posts-scraper": {
      "command": "npx",
      "args": [
        "-y",
        "@mambalabsdev/mcp-bluesky-posts-scraper"
      ],
      "env": {
        "APIFY_TOKEN": "your-apify-token"
      }
    }
  }
}

Restart the client. The get_bluesky_posts tool appears.

Prerequisites

Example prompts

  • "What are people saying on Bluesky about cold email this month?"
  • "Get the last 50 posts from this Bluesky account with their like counts."
  • "Read the replies on this Bluesky post into a table."

Tool

get_bluesky_posts. One tool. Example arguments:

{
  "queries": [
    "apify"
  ],
  "max_posts_per_source": 10
}

Inputs

Every buyer facing input of the actor. Omitted inputs take the actor's own defaults.

InputTypeRequiredDescription
queriesarraynoKeywords to search, up to 20. Without your own app password each search returns one page, about 100 posts. Text from Clay splits on new lines, so a query can hold a comma.
authorsarraynoBluesky handles, profile addresses, or DIDs, up to 20. Returns each account's own posts, newest first.
post_urlsarraynoAddresses of Bluesky posts to read, up to 100.
sortstringnolatest or top. Default latest. Used for queries.
since_datestringnoOnly posts from this date, such as 2026-10-01.
until_datestringnoOnly posts before this date, such as 2026-11-01.
languagestringnoLanguage code such as en or de. Used for queries. Reads the language the post's author set.
max_posts_per_sourcenumbernoPer query or account, up to 2000. Default 100. A search with no app password stops at about 100.
include_repliesbooleannoyes or no. Default no. Reads the replies under each post found. Each reply is a charged row.
max_replies_per_postnumbernoUp to 200. Default 20.
include_account_repliesbooleannoyes or no. Default no. Used for accounts.
include_repostsbooleannoyes or no. Default no. Used for accounts. A repost row shows the original author.
bluesky_handlestringnoOptional, with the app password. Used only to page a search past its first page.
bluesky_app_passwordstringnoOptional. Create an app password in Bluesky settings; never use your main password. Sent only to Bluesky. Without it a search returns one page, about 100 posts. Accounts and post addresses need no password.
max_charge_usdstringnoOptional. The run stops before a charge that would pass this amount. Summary rows are always returned.

Pricing

Pay per event on Apify, billed to your Apify account. Prices in USD.

EventFree planBronzeSilverGold
post-row, one post or reply$0.0011$0.001045$0.00099$0.000935
apify-actor-start, per run start$0.0065$0.0065$0.0065$0.0065

Source status rows and refused input are free. Mamba Labs pays the platform costs of the run. Mamba Labs pays the platform costs of the run, Apify proxy traffic included.

Full actor documentation

apify.com/mambalabs/bluesky-posts-scraper

License

MIT. See LICENSE.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.