ig-extract-mcp
Provides tools to extract Instagram posts, reels, and carousels, including captions, media URLs, per-slide content, and OCR-based parsing of screenshots into structured screener filters.
Click on "Deploy 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., "@ig-extract-mcpExtract https://www.instagram.com/p/Db_A9NQn3R2/ into screener filters"
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.
ig-extract-mcp
MCP server — extract konten Instagram apapun (post / reel / carousel banyak slide) jadi filter screener terstruktur.
Handle caption, OCR per slide, dan parsing pola umum PER/PBV/ROE/DER/volume/RSI/foreign/ARA/sektor/harga — reusable buat workflow IG-to-screener apapun, bukan cuma 1 post.
Tools (4)
Tool | Deskripsi |
| Extract IG post/reel/carousel → caption + media URLs per slide + metadata. Support |
| Parse teks bebas (caption/OCR) → filter JSON |
| OCR gambar screener (screenshot carousel banyak slide, tabel, cover reel) → filter JSON gabungan. |
| One-shot: URL IG apapun → auto extract + parse → filter siap pakai. Paling gampang. |
Related MCP server: MCP Trading Quantitative Analysis Server
Carousel Banyak Slide
Carousel di-handle penuh:
ig_extractreturncarousel: [{url, is_video, typename}]+slide_countper slidescreener_from_imagebisa dipanggil per slide, laluscreener_parsegabungkan semua teksig_to_screenerotomatis gabungkan caption + hint preset
Install
npm install
npm run buildPakai di Claude / Hermes
{
"mcpServers": {
"ig-extract": {
"command": "node",
"args": ["/path/to/ig-extract-mcp/dist/index.js"]
}
}
}Atau via Hermes:
hermes mcp add ig-extract -- node /path/to/ig-extract-mcp/dist/index.jsContoh
User: "extract https://www.instagram.com/p/Db_A9NQn3R2/ jadi filter"
→ ig_to_screener(url="https://www.instagram.com/p/Db_A9NQn3R2/")
→ {caption: "PER<15 PBV<1 ROE>15% ...", filters: [{field:"per",op:"<",value:15}, ...]}
User: [kirim screenshot carousel 5 slide]
→ screener_from_image per slide → screener_parse gabungan → filter JSONSkill Dotagents
Juga tersedia sebagai skill ig-extract di ~/dotagents/skills/ig-extract/ — auto ke-load di Hermes/Opencode tanpa setup MCP.
License
MIT
Available Tools
4 toolsig_extractA
Extract konten Instagram apapun: post, reel, carousel banyak slide. Return caption + media URLs per slide + metadata (owner, likes, date). Support /p/ dan /reel/. Pakai instaloader → gallery-dl fallback. Butuh login untuk private/rate-limited.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL IG post/reel/carousel, mis https://www.instagram.com/p/Db_A9NQn3R2/ atau https://www.instagram.com/reel/XXXX/ | |
| session_user | No | Username IG untuk login (butuh session file di ~/.config/instaloader/session-USERNAME) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden and does well: it specifies output contents, the extraction pipeline (instaloader → gallery-dl fallback), supported URL patterns, and the login prerequisite for private/rate-limited cases. It stops short of detailing error handling or exact response structure, but the core behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences carry a high information density: purpose, return values, supported URL patterns, implementation strategy, and auth requirement. Every phrase earns its place and the key action is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and no annotations, the description covers the essential context: what inputs are accepted, what outputs to expect, and when login is necessary. It does not describe error behavior or response formatting in detail, but for a tool of this complexity the disclosed information is sufficient for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline for parameter semantics is 3. The description adds value beyond the schema by explaining that login is needed for private/rate-limited content, which directly ties to the optional session_user parameter and clarifies when it must be supplied. This extra context justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Extract') and resource ('konten Instagram'), enumerating supported content types (post, reel, carousel) and explicit return values (caption, media URLs per slide, metadata). It clearly distinguishes the tool from siblings like ig_to_screener by framing it as raw content extraction rather than transformation or parsing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when the tool works—supporting /p/ and /reel/ URLs and noting login requirements for private/rate-limited content. However, it never explicitly contrasts this tool with alternatives or states when not to use it, leaving the choice between ig_extract and ig_to_screener implicit rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ig_to_screenerA
One-shot workflow: URL IG apapun (post/reel/carousel banyak slide) → auto extract caption + carousel → OCR tiap slide → parse jadi filter screener terstruktur. Paling gampang buat user — cukup kasih link IG.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL IG post/reel/carousel | |
| hint | No | Hint preset: 'value', 'growth', 'breakout', 'dividen', 'ara' | |
| session_user | No | Username IG untuk login jika private |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden. It outlines the main processing steps (extract caption/carousel, OCR slides, parse into screener) but does not mention authentication needs, rate limits, side effects, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and flows logically via arrows, capturing the full pipeline in one sentence. It is slightly dense but remains easy to scan and understand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains what the tool does and its output type ('filter screener terstruktur'), but does not specify the exact output format, error behavior, or limitations (e.g., supported Instagram URL variants). Given no output schema, this is a moderate gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter has a clear, if brief, description. The 'hint' parameter lists allowed presets, and 'session_user' explains its optional login purpose, providing useful context beyond bare names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a one-shot workflow that combines extraction, OCR, and parsing into a structured screener. It implies a more convenient alternative to the sibling tools, though it does not explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Paling gampang buat user — cukup kasih link IG' suggests this is the go-to when a user provides an Instagram URL, but it lacks explicit guidance on when to prefer this over the individual sibling tools or what prerequisites exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screener_from_imageB
OCR gambar screener (screenshot IG carousel — banyak slide sekaligus, tabel filter, atau cover reel) jadi filter terstruktur. Kirim image URL atau base64. AI baca angka + kriteria di tiap slide, return filter JSON gabungan.
| Name | Required | Description | Default |
|---|---|---|---|
| hint | No | Hint: 'value', 'breakout', 'ara', dll | |
| image_url | No | URL gambar screener atau path lokal | |
| image_base64 | No | Gambar base64 (jika tidak pakai URL) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose that the AI reads numbers and criteria from each slide and returns combined JSON, which is useful. However, it does not mention limitations, error cases, or any side effects, so transparency is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the core purpose. The three sentences each add useful information: what the tool does, how to send input, and what output to expect. Minor redundancy with the schema's image fields is acceptable and does not significantly bloat the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the main input options and the general output (combined filter JSON), but it lacks detail about the structure of that JSON and does not clarify the role of the optional hint parameter. Given no output schema exists, a bit more detail about the returned filter format would make the tool easier to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all three parameters with 100% coverage, which sets the baseline at 3. The description adds some value by explaining that image_url or image_base64 are the two ways to submit an image, but it does not elaborate on the hint parameter beyond what the schema already says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action—OCR an image of a screener into a structured filter—and identifies the input sources (IG carousel screenshots, filter tables, cover reels). However, it does not explicitly differentiate this tool from its siblings like screener_parse or ig_to_screener, so an agent may not immediately know which one to choose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage context is implied through the description: use this when you have an image of a screener and want structured filter output. It explains how to provide input (URL or base64) but gives no explicit guidance on when NOT to use it or which sibling tool to prefer in alternative scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screener_parseA
Parse deskripsi screener bebas (caption IG, OCR dari gambar/carousel, atau teks manual) jadi filter terstruktur. Handle pola umum: PER<15, PBV<1, ROE>15%, volume>2x, RSI<30, foreign net buy, sektor, harga, ARA, dll. Output siap pakai untuk screener builder.
| Name | Required | Description | Default |
|---|---|---|---|
| hint | No | Hint: 'value', 'growth', 'breakout', 'dividen', 'ara' | |
| text | Yes | Teks screener bebas — caption IG, hasil OCR carousel, atau deskripsi manual. Mis: 'PER < 15, PBV < 1, ROE > 15%, volume spike 2x' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the behavioral disclosure burden. It honestly states that common patterns like PER<15, RSI<30, and foreign net buy are handled, and that output is ready for a screener builder. It does not mention behavior on unrecognized input, output shape beyond 'structured filters', or any limitations, which is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: three sentences covering purpose, supported patterns, and output. It is front-loaded with the main action and avoids filler, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is moderately complex with two parameters and no output schema, but the description does not explain the exact structure of the returned filters or how 'hint' affects the result. It says the output is ready for a screener builder, which is some guidance, but an agent might still be unsure about what format to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both 'text' and 'hint'. The description adds a useful example for 'text' but does not explain the role of 'hint' or how it influences parsing. Since the schema does the heavy lifting, a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Parse') and clearly identifies the resource: free-form screener text converted into structured filters. It gives concrete examples of handled patterns, making the purpose understandable. However, it does not explicitly distinguish itself from siblings like screener_from_image or ig_to_screener, though the input types are listed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies suitable inputs — IG captions, OCR text, manual descriptions — and shows example patterns. It does not state when to prefer this tool over the sibling tools, nor does it mention any exclusions or alternatives, leaving the routing decision to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v0.1.0- First observed
ig_extract - First observed
ig_to_screener - First observed
screener_from_image - First observed
screener_parse
TDQS
Scored across 4 tools
ig_extract and ig_to_screener are fairly distinct, but screener_parse and screener_from_image overlap because both appear to handle image/carousel OCR input. Descriptions help clarify the intended input type, but an agent could still hesitate when given an image.
All names are lowercase snake_case, which is readable, but the naming patterns are mixed: noun_verb (ig_extract, screener_parse) vs. prepositional phrases (screener_from_image, ig_to_screener). There is no consistent verb-first or verb_noun convention across the set.
Four tools is well-scoped for a focused pipeline: raw IG extraction, text parsing, OCR parsing, and a combined one-shot workflow. Each tool earns its place without bloat or an overly thin surface.
The set covers the full intended workflow from an Instagram URL or raw text/image input to structured screener filters. Post, reel, carousel, OCR, and manual text paths are all addressed, with ig_to_screener covering the end-to-end case.
Maintenance
Related MCP Connectors
Instagram data for AI agents: profiles, posts, reels, followers. Influencer + brand research.
Get social media data from Instagram and TikTok: profiles, posts, videos, comments, and more.
- ReelDropOAuthio.reeldrop
Schedule Instagram reels, manage comment-to-DM automations, and read analytics
Instagram for AI agents: publish, read comments and DMs, insights, and engage from your account.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceEnables deep analysis of SEC EDGAR filings through universal company search, document content extraction, and advanced filing search capabilities. Provides AI-ready access to business descriptions, risk factors, financial statements, and full-text search across any public company's SEC documents.-
- FlicenseNot gradedqualityDmaintenanceEnables quantitative trading analysis with 12 tools for real-time market data, 28+ technical indicators, FinBERT-powered news sentiment analysis, and automated trading signal generation for stocks and forex.1-
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to download, parse, and analyze SEC EDGAR filings, including 10-K/Q reports, XBRL financial statements, and insider trading data. It provides structured access to institutional holdings, corporate events, and financial facts for comprehensive investment research.5MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to browse Reddit, analyze stock buzz, and detect trending stocks with intelligent context analysis.MIT