instapdown-mcp
# instapdown-mcp
[](https://glama.ai/mcp/servers/farukkolip/instapdown-mcp)
[](https://www.npmjs.com/package/instapdown-mcp)
[](https://opensource.org/licenses/MIT)
**16 Instagram creator tools as a Model Context Protocol server.** Wraps the public API and data behind [instapdown.com](https://instapdown.com) so any MCP client — Claude Desktop, Cursor, Cline, Zed — can download Reels, audit engagement, search hashtags, generate Reels hooks, get country-specific best-time-to-post data and browse a 2026 content calendar directly from a chat turn.
Part of the [TapDown family](https://instapdown.com/about) alongside [xtapdown-mcp](https://www.npmjs.com/package/xtapdown-mcp) (X / Twitter).
---
## Install
```bash
npx -y instapdown-mcp
```
That's the whole install path. No account, no API key, no config.
## Claude Desktop config
Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
```json
{
"mcpServers": {
"instapdown": {
"command": "npx",
"args": ["-y", "instapdown-mcp"]
}
}
}
```
Restart Claude Desktop. In a new chat:
> "Download this reel for me: https://www.instagram.com/reel/ABC123/"
Claude will call `download_reels` and hand back the direct MP4 URL and audio track.
---
## The 16 tools
### Downloaders
| Tool | Input | Returns |
|---|---|---|
| `download_reels` | Reel URL | Original 9:16 HD MP4, no watermark |
| `download_video` | Feed video URL | Original MP4, no re-encoding |
| `download_story` | Username | Every active Story in the 24h window |
| `download_profile_picture` | Username | Full-resolution profile JPG |
| `download_carousel` | Carousel URL | Every slide as a media array |
| `download_photo` | Single-image post URL | Original full-resolution JPG |
| `extract_reel_audio` | Reel URL | Source m4a audio track URL |
Public accounts only. Private accounts return HTTP 422 by design.
### Analytics
| Tool | Input | Returns |
|---|---|---|
| `engagement_health_check` | Username | Weighted ER, save rate, comment rate, tier benchmark from the last 12 posts |
| `engagement_calculator` | Followers + interactions | Weighted ER (like×1 + comment×2 + save×3 + share×4), tier benchmark, performance rating |
### Content strategy
| Tool | Input | Returns |
|---|---|---|
| `generate_reels_hooks` | Niche + optional country/language | 10 verified 2026 hook templates from the 900-hook library |
| `search_hashtags` | Topic + locale | Real Instagram post counts for the returned hashtags |
| `get_hashtag_niche` | Optional category | 25 curated seed niches |
| `audit_creator_hashtags` | Username | Hashtag frequency map from the last 12 posts |
| `generate_instagram_fonts` | Text + optional style | 22 Unicode font variants (Bold, Italic, Script, Fraktur, Double Struck, Monospace, Small Caps, Circled, Upside Down, …) |
| `get_best_time_to_post` | Country code | 5 prime slots + 7-day heatmap, sourced from Buffer 2026 (30M+ posts) |
| `get_content_calendar` | Market + date range + niche | Instagram content dates for 2026, each with a native-language Reels hook and hashtag set |
Supported markets for country-varied tools: US, GB, CA, AU, BR, MX, ES, IT, DE, FR, NL, SE, TR, JP, SA, AE, RU.
---
## Environment
Override the API host when developing locally against a staging Instapdown:
```bash
INSTAPDOWN_BASE_URL=http://localhost:3000 npx -y instapdown-mcp
```
Default: `https://instapdown.com`.
---
## Development
```bash
git clone https://github.com/farukkolip/instapdown-mcp
cd instapdown-mcp
npm install
npm run build
node dist/test/smoke.js # in-memory smoke test — 16 tools + 6 offline callable
```
---
## License
MIT © Ömer Faruk Kolip
Instapdown is not affiliated with, endorsed by, or sponsored by Meta Platforms, Inc. or Instagram. Public content only.
TDQS
Scored across 8 tools
Each tool targets a unique function: downloading specific content types (carousel, reels, story), analyzing hashtags for creators vs. searching hashtags by topic, generating fonts, and providing posting time and content calendar insights. There is no overlapping purpose; descriptions clearly differentiate them.
All tool names follow a consistent verb_noun pattern in snake_case, such as 'download_carousel', 'get_best_time_to_post', and 'search_hashtags'. The verbs are appropriate for the action (download, audit, generate, get, search), making the set predictable.
With 8 tools, the server is well-scoped for an Instagram utility. Each tool covers a distinct aspect (downloading, hashtag analysis, scheduling, formatting) without being overwhelming or insufficient.
The tool set covers core Instagram download and analytics needs: downloading stories, reels, carousels; analyzing hashtags; scheduling posts; and generating fonts. A minor gap is the absence of a dedicated single-image download (though carousel may handle it) and lack of engagement metrics, but overall it's comprehensive for its stated purpose.