Skip to main content
Glama
nurhikam

ig-extract-mcp

by nurhikam
README.md
# 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 |
|------|-----------|
| `ig_extract` | Extract IG post/reel/carousel → caption + media URLs per slide + metadata. Support `/p/` & `/reel/`. Via `instaloader` → `gallery-dl` fallback. |
| `screener_parse` | Parse teks bebas (caption/OCR) → filter JSON `[{field, op, value}]`. Handle `PER<15`, `PBV<1`, `ROE>15%`, `volume 2x`, `RSI<30`, `asing net buy`, `ARA`, dll. |
| `screener_from_image` | OCR gambar screener (screenshot carousel banyak slide, tabel, cover reel) → filter JSON gabungan. |
| `ig_to_screener` | One-shot: URL IG apapun → auto extract + parse → filter siap pakai. Paling gampang. |

## Carousel Banyak Slide

Carousel di-handle penuh:
- `ig_extract` return `carousel: [{url, is_video, typename}]` + `slide_count` per slide
- `screener_from_image` bisa dipanggil per slide, lalu `screener_parse` gabungkan semua teks
- `ig_to_screener` otomatis gabungkan caption + hint preset

## Install

```bash
npm install
npm run build
```

## Pakai di Claude / Hermes

```json
{
  "mcpServers": {
    "ig-extract": {
      "command": "node",
      "args": ["/path/to/ig-extract-mcp/dist/index.js"]
    }
  }
}
```

Atau via Hermes:

```bash
hermes mcp add ig-extract -- node /path/to/ig-extract-mcp/dist/index.js
```

## Contoh

```
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 JSON
```

## Skill Dotagents

Juga tersedia sebagai skill `ig-extract` di `~/dotagents/skills/ig-extract/` — auto ke-load di Hermes/Opencode tanpa setup MCP.

## License

MIT

TDQS

A3.7/5.0

Scored across 4 tools

Disambiguation3/5

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.

Naming Consistency3/5

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.

Tool Count5/5

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.

Completeness5/5

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

ActivityMaintained
ResponsivenessNo issues