scrolller-mcp
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
scrolller-mcp-cli-api
3-in-1 toolkit for Scrolller (unofficial): π€ MCP server for AI agents Β· β¨οΈ terminal CLI Β· π API clients (TypeScript + Python)
README Π½Π° ΡΡΡΡΠΊΠΎΠΌ Β· Donate π
Scrolller hosts both regular (SFW) and NSFW media β NSFW is opt-in everywhere in this toolkit (default SFW).
β οΈ Unofficial project. Not affiliated with Scrolller. Built by reverse-engineering the site's public web client (protocol reference). Authenticated actions require your own Scrolller account. Respect the site's usage terms (~1 request/sec pacing is a good habit), content ratings and your local law. Some categories are 18+.
Features
π Discovery β trending/random feeds, sorting (
random / top / hot / new / controversial), media-type filters (photos / videos / videos with sound), categoriesπ Search β subreddits (with live preview), users
π Posts β metadata, best media source picking, albums, related ("More like this")
π¬ Comments β read (with replies), write, reply, like/unlike, delete, report
β€οΈ Likes & reposts, π₯ follow/unfollow subreddits and users, following feeds
π Collections β create/edit/delete, add/remove posts, paid collections
π Auth β
login(username|email, password)stores the token (+expiry); or paste a token manuallyπ Notifications & βοΈ messages (conversations, threads, send, unread count)
π€ Upload media / create posts (auth), π creator revenue reports (read-only)
β¬οΈ Downloads β original-quality videos (MP4/WEBM) and images, bulk by query, concurrency, progress, no-overwrite naming
π Official agent routes β embed-safe JSON (
/agent/*, no raw media URLs) for attribution-correct integrationsπ‘οΈ Proxy support β
http / https / socks4 / socks5(socks4 via the Node client), interactive wizard, env/CLI overridesβοΈ Shared config β one
config.json+ env vars for CLI and MCP; custom User-Agent and extra headersπ NSFW opt-in β
SFW(default) /NSFW/ALLon every read operation
Related MCP server: Mfuns MCP Server
Install
Node.js β₯ 22.19 required (CLI + MCP + TS library).
Option 1 β install from GitHub (works right now)
git clone https://github.com/LegitAntiAA/scrolller-mcp-cli-api
cd scrolller-mcp-cli-api
npm ci && npm run build # build all Node packages
npm link -w scrolller-cli # now `scrolller` works in any terminal
npm link -w scrolller-mcp # now `scrolller-mcp` works (MCP clients run it)
scrolller --help # πnpm link creates global commands pointing at your local build β re-run npm run build after pulling updates. The Python library is optional:
pip install -e python # Python β₯ 3.9 (add "python[dev]" for tests)Option 2 β install from the npm registry (once published)
npm install -g scrolller-cli downloads the package from the npm registry, not GitHub β these commands work after the packages are published there:
npm install -g scrolller-cli # CLI
npm install -g scrolller-mcp # MCP server
npm install scrolller-core # TypeScript library
pip install scrolller-py # Python β₯ 3.9 libraryCLI quickstart
scrolller discover --limit 10 # trending feed
scrolller discover --sort top --videos # filters: --photos --videos --with-sound --sort
scrolller search "burger" --limit 20 # search subreddits
scrolller subreddit aww --limit 30 # subreddit feed
scrolller post <post-url> # post details
scrolller comments <post-url> # read comments
# downloads
scrolller download <post-url> # one post, original quality
scrolller download "burger" -n 10 -o ./dl # 10 items by query
scrolller download <post-url> -c 8 # 8 parallel workers
# auth (required for likes/comments/collections/etc.)
scrolller login # interactive: username + password
scrolller token <token> # or paste a token manually
scrolller whoami
# authenticated actions
scrolller like <post-url>
scrolller comment <post-url> "cool!"
scrolller collection create "My pack"
scrolller collection add <collection-id> <post-url>
# misc
scrolller agent subreddit carporn # official embed-safe agent route
scrolller proxy # interactive proxy wizard (test included)
scrolller config get --json
scrolller donate # π crypto addressesGlobal flags: --json (machine output, no banner), --no-banner, --nsfw NSFW, --user-agent <ua>, --header "K: V" (repeatable), --proxy <url>, --timeout <ms>.
TypeScript library
import { ScrolllerClient } from "scrolller-core";
const client = new ScrolllerClient();
// paging generator (byte-exact cursors handled for you)
for await (const page of client.discoverPages({ limit: 10, nsfw: "SFW" })) {
for (const sub of page.items) console.log(sub.title);
}
const post = await client.getPost("https://scrolller.com/some-post-abc123");
await client.download(post, "./out"); // original quality
await client.login("username", "password"); // token persisted to config
await client.like("https://scrolller.com/some-post-abc123");
await client.addComment("https://scrolller.com/some-post-abc123", "cool!");Python library
from scrolller import ScrolllerClient
client = ScrolllerClient() # async: AsyncScrolllerClient
for page in client.discover_pages(limit=10):
for sub in page.items:
print(sub.title)
post = client.get_post("https://scrolller.com/some-post-abc123")
client.download(post, "./out")
client.login("username", "password") # token persisted
client.like("https://scrolller.com/some-post-abc123")MCP server
Everything the CLI can do is exposed as MCP tools (scrolller-mcp, stdio): discover, search_media, subreddit_feed, search_subreddits, get_post, read_comments, add_comment, reply_comment, like_comment, delete_comment, like_post, unlike_post, repost_post, unrepost_post, follow, unfollow, list_collections, get_collection, create_collection, add_to_collection, remove_from_collection, edit_collection, delete_collection, whoami, login, set_token, logout, get_notifications, mark_notifications, get_conversations, get_messages, send_message, get_user, resolve_link, get_related, hide_post, unhide_post, get_hide_rules, report_post, download_media, agent_subreddit, agent_content, agent_collection, configure_proxy, clear_proxy, get_config, update_config.
Claude Desktop
Claude Desktop β Settings β Developer β Edit Config (or claude_desktop_config.json):
Installed from source via
npm link? Use"command": "scrolller-mcp"(global command) instead of npx β and re-runnpm run buildafter updates.
{
"mcpServers": {
"scrolller": {
"command": "npx",
"args": ["-y", "scrolller-mcp"],
"env": { "SCROLLLER_NSFW": "SFW" }
}
}
}Cursor
Cursor β Settings β MCP & Integrations β MCP Tools β New MCP Server, or edit ~/.cursor/mcp.json:
{
"mcpServers": {
"scrolller": {
"command": "npx",
"args": ["-y", "scrolller-mcp"]
}
}
}Codex CLI
~/.codex/config.toml:
[mcp_servers.scrolller]
command = "npx"
args = ["-y", "scrolller-mcp"]Environment variables (work for CLI and MCP)
SCROLLLER_TOKEN, SCROLLLER_NSFW, SCROLLLER_USER_AGENT, SCROLLLER_EXTRA_HEADERS (JSON), SCROLLLER_PROXY (type://[user:pass@]host:port), SCROLLLER_DOWNLOAD_DIR.
Example agent session
Tell your agent:
"Here is my proxy (host, port, type) β configure it in Scrolller and log in with my credentials, then find and download 10 videos for the query burger, like the first 5, and comment cool on the first one."
The agent can do exactly that with configure_proxy β login β search_media/download_media Γ10 β like_post Γ5 β add_comment. Auth-required tools fail with a hint to login/set_token first, so agents self-correct.
Configuration
Shared config: %USERPROFILE%/.config/scrolller/config.json (Windows) / ~/.config/scrolller/config.json:
{
"token": null,
"expires_at": null,
"nsfw": "SFW",
"user_agent": null,
"extra_headers": {},
"proxy": { "type": "http", "host": "", "port": 0, "username": null, "password": null },
"download_dir": "~/Downloads/scrolller",
"timeout_ms": 30000
}Precedence: explicit option β env β config file β defaults. The token is stored in plaintext (file is chmod 600 on POSIX) β treat it like a password.
Manual token: log in at scrolller.com in your browser, then copy the token from DevTools β Application β Local Storage β SCROLLLER_BETA_1:SCROLLLER_LOGIN_DEV.
Notes & limits
Honest caveat: authenticated operations (likes, comments, collections, messages, β¦) are implemented from the site's verified GraphQL shapes but were not live-tested with a real account during development β public (no-auth) operations are fully live-verified.
The site has no leaderboard / search-collections / global post-search GraphQL in its current web build (the UI leaderboard page has no public API), so those are not implemented; the official
/agent/collection/{id}route covers collection lookup.register, password reset and payments are captcha-protected on the server β create accounts on the site, thenscrolller login.searchCollectionshas no public GraphQL document in the current web build (official/agent/collection/{id}route works).Audio lives inside MP4/WEBM β no separate audio streams exist.
Rate limits are per-IP; keep ~1 req/s for agent routes and be gentle with the GraphQL endpoint.
socks4proxies are supported by the Node client; the Python client supportshttp/https/socks5.
Repository layout
packages/core β scrolller-core (TypeScript client: transport + all operations)
packages/cli β scrolller-cli (terminal CLI, colored ASCII banner)
packages/mcp β scrolller-mcp (MCP server, stdio)
python/ β scrolller-py (Python client: sync + async)
docs/api β CONTRACT (canonical surface) + T1-RESEARCH-FULL (protocol reference)π Donate
If this project saved you time, consider supporting development:
Currency | Address |
BTC |
|
Ethereum (ETH) |
|
USDT (ERC-20) |
|
USDT (TRC-20) |
|
TON |
|
In the CLI: scrolller donate prints everything nicely colored. Thank you! π
License
MIT β see LICENSE.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogβ¦
This server cannot be deployed
Maintenance
Related MCP Connectors
Scrape, crawl and search the web for AI agents via MCP.
Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Automate 1,000+ services from any MCP-compatible AI agent: build Applets, run actions and queries.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables file system operations, web scraping, and AI-powered search through MCP tools for use by LLM agents.1-
- FlicenseAqualityCmaintenanceEnables AI agents to browse, interact with, and manage Mfuns community content through 17 standardized MCP tools, including feeds, threads, posts, comments, reactions, and video publishing.191-
- FlicenseNot gradedqualityAmaintenanceEnables language models to perform AI-powered web scraping, structured extraction, search, multi-page crawling, schema generation, monitoring, and account queries through MCP tools.-
- FlicenseNot gradedqualityAmaintenanceEnables AI agents to search, browse, download, post-process, and manage comic albums, comments, favorites, rankings, and account sessions through standardized MCP tools and resources.-