instapdown-mcp
The instapdown-mcp server provides 16 tools for Instagram creators across three categories: downloading content, analyzing engagement, and planning content strategy — no API key required.
Downloaders
Reels – Download watermark-free HD MP4 + audio track from public Reel URLs.
Feed videos – Retrieve original MP4 from public video posts.
Stories – Fetch all active Stories (within 24h) for a public username as MP4/JPG URLs.
Profile pictures – Get full-resolution (~1080×1080) profile JPGs for any public account.
Carousels – Retrieve every slide (photos and videos) in original order.
Single photos – Save a single-image post at full resolution.
Reel audio – Extract the source m4a audio track URL from any public Reel.
Analytics
Engagement health check – Audit a public profile's last 12 posts for weighted engagement rate, save rate, comment rate, and follower-tier benchmarks.
Engagement calculator – Calculate a 2026-weighted engagement rate from manual metrics (likes, comments, saves, shares) with tier benchmarks and niche multipliers.
Content Strategy
Reels hooks – Generate opening-hook templates from a 900-hook library, optionally localized by country/language.
Hashtag search – Live-search Instagram's public hashtag index with real post counts.
Hashtag niches – Browse 25 curated seed niches with descriptions and category groupings.
Hashtag audit – Extract and rank hashtags a public creator actually uses across their last 12 posts.
Instagram fonts – Convert plain text into 22 Unicode font variants (Bold, Script, Fraktur, etc.) for bios and captions.
Best posting times – Get 5 prime posting slots and a 7-day heatmap for 17 country markets (sourced from Buffer 2026 data, 30M+ posts).
Content calendar – Browse a 2026 Instagram content calendar filtered by market, date range, and niche, with native-language Reels hooks and hashtag sets.
Provides tools for downloading Instagram Reels, videos, stories, profile pictures, carousels, photos, and extracting audio; analytics tools for engagement health check and calculator; content strategy tools for generating Reels hooks, searching hashtags, auditing hashtags, generating fonts, getting best time to post, and getting content calendar.
instapdown-mcp
16 Instagram creator tools as a Model Context Protocol server. Wraps the public API and data behind 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 alongside xtapdown-mcp (X / Twitter).
Install
npx -y instapdown-mcpThat's the whole install path. No account, no API key, no config.
Related MCP server: instagram-personal-mcp
Claude Desktop config
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"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 |
| Reel URL | Original 9:16 HD MP4, no watermark |
| Feed video URL | Original MP4, no re-encoding |
| Username | Every active Story in the 24h window |
| Username | Full-resolution profile JPG |
| Carousel URL | Every slide as a media array |
| Single-image post URL | Original full-resolution JPG |
| Reel URL | Source m4a audio track URL |
Public accounts only. Private accounts return HTTP 422 by design.
Analytics
Tool | Input | Returns |
| Username | Weighted ER, save rate, comment rate, tier benchmark from the last 12 posts |
| Followers + interactions | Weighted ER (like×1 + comment×2 + save×3 + share×4), tier benchmark, performance rating |
Content strategy
Tool | Input | Returns |
| Niche + optional country/language | 10 verified 2026 hook templates from the 900-hook library |
| Topic + locale | Real Instagram post counts for the returned hashtags |
| Optional category | 25 curated seed niches |
| Username | Hashtag frequency map from the last 12 posts |
| Text + optional style | 22 Unicode font variants (Bold, Italic, Script, Fraktur, Double Struck, Monospace, Small Caps, Circled, Upside Down, …) |
| Country code | 5 prime slots + 7-day heatmap, sourced from Buffer 2026 (30M+ posts) |
| 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:
INSTAPDOWN_BASE_URL=http://localhost:3000 npx -y instapdown-mcpDefault: https://instapdown.com.
Development
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 callableLicense
MIT © Ömer Faruk Kolip
Instapdown is not affiliated with, endorsed by, or sponsored by Meta Platforms, Inc. or Instagram. Public content only.
Available Tools
8 toolsaudit_creator_hashtagsA
Extract the exact hashtag set any public Instagram creator uses on their last 12 posts, ranked by frequency. Reveals someone's actual working tag stack, not what they say they use. Public accounts only.
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | Public Instagram username (with or without leading @) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description indicates read-only extraction but does not disclose rate limits, authentication requirements, or privacy implications. Adequately notes the 'public accounts' constraint.
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?
Three concise sentences: first states action and output, second adds value by contrasting with claimed usage, third states constraint. No fluff.
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?
Explains output (hashtags ranked by frequency) but does not specify the structure or count of returned items. With no output schema, had potential to be more complete.
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?
Only one parameter 'username' with schema description covering 100%. Description adds context about the tool's output but does not enhance the parameter definition beyond the schema.
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?
Clearly states it extracts hashtags from a public Instagram creator's last 12 posts and ranks them by frequency. Distinct from sibling tools like search_hashtags by focusing on a specific creator's actual usage.
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?
Specifies 'public accounts only' and limits to last 12 posts. Implicitly suggests use for analyzing a creator's hashtag strategy, but lacks explicit guidance on when not to use or alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_carouselA
Download every slide of a public Instagram carousel post — photos and videos both. Returns an array of media URLs in the original slide order at each slide's native aspect ratio.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public Instagram carousel post URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that it returns an array of media URLs in original slide order at native aspect ratio. However, it does not mention potential limitations (e.g., rate limits, authentication) or behavior if the URL is not a carousel.
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 two sentences, front-loading the action and key details. Every sentence adds value without redundancy.
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 the simple tool (1 parameter, no output schema), the description is complete. It explains what the tool does, the input requirements (public carousel post), and the output format (array of URLs in order).
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?
With 100% schema coverage, the baseline is 3. The description adds little beyond the schema's parameter description, as both specify the URL must be a public Instagram carousel post. The description does not provide additional semantic details like URL format expectations.
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 specifies that it downloads every slide of a public Instagram carousel post, including both photos and videos. It distinguishes itself from sibling tools like download_video (single video) and download_reels (reels) by focusing on carousel posts.
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 usage for public carousel posts but does not explicitly state when not to use it or mention alternative tools. The context of sibling tools provides some guidance, but the description lacks explicit when-to-use/when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_reelsA
Download an Instagram Reel from a public post URL. Returns the original 9:16 HD MP4 URL and audio track, with no watermark and no re-encoding. Public accounts only — private accounts return HTTP 422.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public Instagram Reel URL, e.g. https://www.instagram.com/reel/ABC123/ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, description bears full burden. Discloses return format, quality, and error condition (private accounts). No mention of rate limits or other side effects, but sufficient for a simple download tool.
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 sentences, front-loaded with purpose, no redundant information. Every sentence adds value.
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 one parameter and no output schema, description covers what is returned, format, quality, and error handling. Complete for this tool.
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 has 100% coverage for the single 'url' parameter. Description adds value with example URL format, aiding correct input.
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?
Clearly states 'Download an Instagram Reel from a public post URL' with specific output details (original 9:16 HD MP4, no watermark, no re-encoding). Distinct from siblings like download_story.
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?
Explicitly states public accounts only, private accounts return HTTP 422. Could mention alternative tools for other Instagram content but usage condition is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_storyA
Fetch every currently-active Instagram Story for a public username within the 24-hour visibility window. Returns MP4 or JPG URLs for each Story frame. Private accounts return HTTP 422.
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | Public Instagram username (with or without leading @) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description takes on full responsibility for behavioral transparency. It discloses the output format (MP4/JPG URLs), the 24-hour visibility window, and the HTTP 422 error for private accounts. It lacks details on rate limits or authentication but is adequate for a read-only retrieval tool.
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 extremely concise, using two sentences to convey the entire purpose, constraints, output, and error condition. Every sentence adds informational value without redundancy.
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 the tool's simplicity (one parameter, straightforward operation, no output schema required), the description is fully complete. It covers purpose, input constraints, output specs, and error handling, leaving no gaps.
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 covers one parameter (username) with 100% description coverage. The description adds value by clarifying that the leading @ is optional and emphasizing the username must be public, which enhances the schema's definition.
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 the tool fetches active Instagram Stories for a public username, specifies the 24-hour window, and distinguishes it from siblings like download_reels by focusing specifically on Stories.
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 provides clear context on when to use (for public usernames) and the error condition for private accounts. Although it doesn't explicitly state when not to use, the sibling tools cover different use cases, making the guidance sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_instagram_fontsA
Convert plain text into Instagram-compatible Unicode "fonts" for bio, name field and captions. Not real fonts — Unicode Mathematical Alphanumeric Symbols and other substitutions Instagram renders as if styled. 22 styles supported including Bold, Italic, Script (cursive), Fraktur (gothic), Double Struck, Monospace, Small Caps, Circled, Squared, Upside Down. Pass one style name or omit to get every style back.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The plain text to transform. Handles a-z, A-Z, 0-9; other characters pass through untouched. | |
| style | No | Optional single style name. If omitted, all styles are returned. Available: Bold, Italic, Bold Italic, Script, Bold Script, Fraktur, Bold Fraktur, Double Struck, Sans Serif, Sans Serif Bold, Sans Serif Italic, Sans Serif Bold Italic, Monospace, Small Caps, Upside Down, Circled, Squared, Fullwidth, Strikethrough, Underline, Double Strike, Wavy Underline |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description fully discloses behavior: Unicode substitution, character range (a-z, A-Z, 0-9), pass-through for others, and lists all 22 supported styles. Rich and accurate.
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 efficient sentences, front-loaded with purpose, no wasted words. Every sentence adds value.
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?
No output schema, but the description sufficiently explains return behavior (transformed text for one style, all styles if omitted). For this tool, the description is complete.
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%, so the baseline is 3. The description adds value by explaining the effect of omitting style ('get every style back') and summarizing the style list, but the schema already contains the full list.
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 the tool converts plain text into Instagram-compatible Unicode fonts, explicitly distinguishing it from the listed siblings which focus on downloads and analytics, not text conversion.
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?
It specifies use for Instagram bio, name, and captions, clarifies it's not real fonts, and explains how to specify a style or omit for all. Lacks explicit when-not-to-use but is still clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_best_time_to_postA
Return data-driven optimal Instagram posting windows for a country. Source: Buffer 2026 verified dataset (30M+ posts) mapped to each market's local timezone. Returns 5 prime posting slots (with notes on which signal each optimizes for — Reels Save rate, Watched-to-end, comment threads etc.) plus a 7-day heatmap. Supported markets: US, GB, CA, AU, BR, MX, ES, IT, DE, FR, NL, SE, TR, JP, SA, AE, RU.
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes | ISO 2-letter country code. Supported: US, GB, CA, AU, BR, MX, ES, IT, DE, FR, NL, SE, TR, JP, SA, AE, RU |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden. It discloses the output (5 slots + heatmap) and data source, which is sufficient for a non-destructive data retrieval tool. It does not mention rate limits or permissions, but the 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?
The description is two sentences, front-loaded with the main purpose, and each sentence adds essential details (output specifics and supported markets). No superfluous information.
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 no output schema, the description fully explains what the output includes (5 prime slots with optimization signals, plus a 7-day heatmap) and lists all supported countries. For a simple tool with one parameter, this is complete.
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 the schema already describes the country parameter with supported codes. The tool description repeats this list and adds context about the dataset, but does not add new meaning beyond the schema for the parameter itself.
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 it returns data-driven optimal Instagram posting windows for a country, using a specific verb and resource. It distinguishes from siblings like audit_creator_hashtags or download_carousel by focusing solely on posting time optimization.
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 usage when needing optimal posting times for a supported country and lists supported markets. However, it does not explicitly state when to avoid using the tool or mention alternatives, which would be helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_content_calendarA
Return the Instagram content calendar entries for a market, filtered by an optional date range and/or niche. Each entry carries a native-language Reels hook and a hashtag set. Islamic-lunar and astronomical dates use verified 2026 and 2027 anchors. Markets: US, GB, CA, AU, BR, MX, ES, IT, DE, FR, NL, SE, TR, JP, SA, AE, RU, GLOBAL. Use "GLOBAL" for cross-market dates (Christmas, New Year, Ramadan, etc).
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ISO date upper bound, YYYY-MM-DD. Optional. Example: "2026-12-31" for through year-end. | |
| from | No | ISO date lower bound, YYYY-MM-DD. Optional. Example: "2026-11-01" for November onward. | |
| limit | No | Max entries to return (default 50, max 200). | |
| niche | No | Optional niche filter, e.g. "food", "fitness", "beauty". Matches the calendar entry's niches array. | |
| market | Yes | ISO 2-letter country code, or "GLOBAL" for cross-market dates. Available: US, GB, CA, AU, BR, MX, ES, IT, DE, FR, NL, SE, TR, JP, SA, AE, RU, GLOBAL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description fully covers behavioral aspects: it returns entries with native-language Reels hook and hashtag set, uses verified lunar/astronomical dates, and lists available markets. It doesn't mention rate limits or authentication, but as a read operation, this is acceptable.
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 two sentences, front-loading the main purpose and filters. The list of markets is detailed but necessary for usability. Every sentence adds value, though it could be slightly more concise by grouping markets differently.
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 the tool has 5 parameters, no output schema, and no annotations, the description covers the essential functionality: return entries with filters. It explains the niche filter and market list. A minor gap is the lack of explicit return format, but it mentions the entry contents sufficiently.
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%, so baseline is 3. The description adds value by explaining that entries carry a Reels hook and hashtag set, and that dates use verified anchors. It also clarifies the 'niche' parameter matches the calendar entry's niches array, going beyond schema descriptions.
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 the tool returns Instagram content calendar entries for a market, with optional filters. It uses a specific verb 'Return' and resource 'content calendar entries', and distinguishes from sibling tools that focus on hashtags or downloads.
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 explicitly states when to use the tool (to get calendar entries for a market) and provides guidance on using 'GLOBAL' for cross-market dates. It doesn't explicitly state when not to use it or list alternatives, but the sibling tool names imply different use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_hashtagsA
Live-search Instagram's public hashtag index for a topic and return real post counts. Not cached, not fabricated — reflects the current state of the public hashtag graph. Country + language shape the returned tag mix (Turkish tags for TR, Arabic for SA/AE, etc). Use this when the user gives a free-form topic; use get_hashtag_niche if they name one of the 25 curated seed niches.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Free-form topic, e.g. "sourdough baking", "F1 2026", "kediler". Handles unicode. | |
| locale | No | BCP-47 language tag (en, tr, ar, es, fr, de, it, pt, ru, ja). Defaults to en. | en |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains key behaviors: it is a live search, not cached or fabricated, and that results vary by country and language. However, since no annotations are provided, the description could also address rate limits, authentication needs, or the exact nature of the output.
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 a single paragraph of three sentences, efficiently conveying purpose, behavior, and usage guidance without unnecessary words.
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?
While the description covers the main purpose and usage, it lacks detail about the return format (e.g., structure of the response, whether it includes both hashtags and counts). Since there is no output schema, the description should provide more completeness.
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 the description adds meaning beyond the schema by providing examples for topic and explaining how locale influences results (country+language shaping the tag mix).
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 the tool performs a live search of Instagram's public hashtag index and returns real post counts. It explicitly distinguishes from the sibling tool get_hashtag_niche by specifying use cases: free-form topics vs curated niches.
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 explicit guidance on when to use this tool ('when the user gives a free-form topic') and when to use the alternative ('get_hashtag_niche if they name one of the 25 curated seed niches'), along with context that country and language shape results.
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. Dates show when Glama detected each change.
9 tool updates
v0.1.2- Added
audit_creator_hashtags - Removed
download_profile_picture - Removed
download_video - Removed
engagement_calculator - Removed
engagement_health_check - Removed
extract_reel_audio - Added
get_best_time_to_post - Added
get_content_calendar - Removed
get_hashtag_niche
7 tool updates
- Removed
audit_creator_hashtags - Removed
download_photo - Added
download_reels - Added
download_story - Added
extract_reel_audio - Removed
get_best_time_to_post - Removed
get_content_calendar
10 tool updates
v0.1.1- Added
download_carousel - Added
download_photo - Removed
download_reels - Removed
download_story - Added
download_video - Added
engagement_calculator - Added
engagement_health_check - Added
generate_instagram_fonts - Added
get_best_time_to_post - Added
get_content_calendar
6 tool updates
v0.1.0- First observed
audit_creator_hashtags - First observed
download_profile_picture - First observed
download_reels - First observed
download_story - First observed
get_hashtag_niche - First observed
search_hashtags
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.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
16 Instagram endpoints. Pay per call in USDC via x402.
Hosted MCP for Instagram, Facebook, X, LinkedIn, Pinterest, and Ghost. OAuth 2.1, 38 tools.
- MysocialOAuthio.mysocial
Social media MCP server: your Instagram, TikTok, YouTube, LinkedIn and Threads history for your AI.
MCP server for QPost — lets AI agents publish video and image posts to YouTube, TikTok, Instagram.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for Instagram Graph API, Threads API & Meta platform — posting, insights, comments, messaging5730724MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that wraps instagrapi to read, engage, and send DMs from a personal Instagram account, supporting 24 tools for auth, profile, engagement, and messages.MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for Instagram Graph API providing 25 tools for publishing photos, reels, carousels, and stories, managing comments, viewing insights, and searching hashtags.131MIT
- AlicenseAqualityAmaintenanceAn MCP server that provides LLM clients with direct access to XTapDown's Twitter creator toolkit, enabling tweet downloads, engagement calculations, content generation, and trend analysis without authentication or rate limits.14553MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/farukkolip/instapdown-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server