doomscroll-mcp
Allows AI agents to browse Instagram Reels, search by keyword or hashtag, scroll through reels, and extract metadata such as URL, creator, caption, likes, comments, shares, audio, and date posted. The server interacts with Instagram Web via Playwright to collect structured reel data for content research.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@doomscroll-mcpFind reels about yoga"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DoomScroll MCP
An MCP server that allows AI agents to browse Instagram Reels and perform content research.
Instead of manually scrolling through Instagram, agents can discover, inspect, filter, and analyze reels directly from the feed.
⚠️ Use at your own risk. Automating Instagram violates its Terms of Service and may get an account rate-limited, locked, or banned. Use a secondary / throwaway account — never your main account.
Features
Login to Instagram once
Persist browser session between runs
Browse the default Reels feed based on your algorithm
Search by keyword
Search by hashtag
Scroll through reels
Extract reel metadata
Filter and rank content before sending it to an AI model
Humanized browsing (randomized delays, scroll jitter, watch pauses)
Optional, opt-in account interactions (e.g. likes)
Related MCP server: Instagram MCP Server
Extracted Data
For each reel, DoomScroll MCP attempts to collect:
Reel URL
Creator username
Caption / description
Audio information
Likes
Comments
Shares / reposts (when available)
Date posted
Note:
viewsis always null — Instagram does not expose reel view counts on the web (why).
The MCP returns structured data so the AI agent can decide what is interesting and what should be ignored.
Architecture
AI Agent
↓
DoomScroll MCP
↓
Playwright
↓
Instagram WebTechnology
Python
MCP
Playwright
uv
uv is used for fast dependency management and execution.
Session Persistence
Instagram login is only required once.
The Playwright browser profile is persisted locally and reused between runs.
First Run
---------
login()
→ User signs in
→ Session saved
Second Run
----------
login_status()
→ Logged In
No additional login required.MVP Scope
1. Login
login()
login_status()
logout()2. Scroll
scroll_reels(limit=50)Supports:
Default Reels feed
Search results
Hashtag pages
Examples:
scroll_reels()
scroll_reels(
search="yoga"
)
scroll_reels(
hashtag="yoga"
)3. Return Results
[
{
"url": "...",
"creator": "...",
"caption": "...",
"likes": 12345,
"comments": 123,
"date_posted": "...",
"audio": "...",
}
]The MCP does not perform analysis.
Its job is to collect and return reel data.
The AI agent is responsible for:
Trend detection
Content analysis
Ranking
Content recommendations
Content generation
Example Workflow
User:
Find content ideas for beginner yoga.
Agent:
→ login_status()
Agent:
→ scroll_reels(
search="beginner yoga",
limit=100
)
MCP:
→ Returns reel metadata
Agent:
→ Filters high-engagement reels
→ Analyzes hooks and formats
→ Returns top content ideasInstall & Run
uv sync # install
uv run playwright install chromium # one-time browser
uv run doomscroll-mcp # start MCP server (stdio)First run: call login() — a visible browser opens, you sign in by hand (handles
2FA / checkpoints), and the session is persisted. No credentials are stored.
MCP client config
{
"mcpServers": {
"doomscroll": {
"command": "uv",
"args": ["run", "--directory", "/path/to/doomscroll-mcp", "doomscroll-mcp"]
}
}
}Tools
login(force=False)— headful sign-in, persist profilelogin_status()— is the session logged in?logout()— clear the profiledoctor()— browser/profile/auth diagnostics + next actionscroll_reels(limit=50, mode=None)— default feed → structured reel metadatasearch_reels(query, limit=50, mode=None)— keyword search → matching reelshashtag_reels(tag, limit=50, mode=None)— hashtag → matching reels
search_reels / hashtag_reels hit Instagram's top_serp search API directly
(relevance-filtered, paginated), not the explore UI.
Errors come back as structured dicts (code, retry_after, requires_headful,
suggested_tool) so an agent can recover instead of stalling.
See docs/sample-output.md for a real scroll_reels
run against the live feed.
Vision
Turn Instagram into a structured data source for AI-powered content research.
Login once. Scroll automatically. Return structured reel data. Let the AI decide what matters.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Sho0pi/doomscroll-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server