Instagram MCP Server
Enables retrieval of Instagram user information, posts, reels, statistics, follower counts, and post details with comments. Supports searching for users, hashtags, and places through the EnsembleData Instagram API.
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., "@Instagram MCP Servershow me @nike's latest posts"
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.
Instagram MCP Server 📸
Instagram API を利用した MCP (Model Context Protocol) サーバー
概要
EnsembleData の Instagram API を使用して、Instagram のユーザー情報や投稿データを取得できる MCP サーバーです。Claude Desktop と統合することで、Claude に Instagram データへのアクセス機能を追加できます。
主な機能 ✨
ユーザー情報
✅ ユーザー基本情報取得
✅ ユーザー詳細統計
✅ フォロワー数取得
投稿データ
✅ ユーザー投稿一覧
✅ リール(短尺動画)取得
✅ 投稿詳細情報とコメント
検索
✅ ユーザー検索
✅ ハッシュタグ検索
✅ 場所検索
必要要件 📋
API キー
EnsembleData の API キーが必要です
無料プランでも利用可能(制限あり)
システム要件
Python 3.10 以上
Claude Desktop アプリ
インターネット接続
インストール方法 🚀
自動インストール(推奨)
macOS / Linux
curl -sSf https://raw.githubusercontent.com/Readify-App/insta-mcp-server/main/install.sh | bashまたは、リポジトリをクローンして実行:
git clone https://github.com/Readify-App/insta-mcp-server.git
cd insta-mcp-server
chmod +x install.sh
./install.shWindows (PowerShell)
irm https://raw.githubusercontent.com/Readify-App/insta-mcp-server/main/install.ps1 | iexまたは、リポジトリをクローンして実行:
git clone https://github.com/Readify-App/insta-mcp-server.git
cd insta-mcp-server
.\install.ps1手動インストール
リポジトリのクローン
git clone https://github.com/Readify-App/insta-mcp-server.git
cd insta-mcp-server依存関係のインストール
uv syncClaude Desktop の設定
claude_desktop_config.json に以下を追加:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"insta-mcp-server": {
"command": "uv",
"args": ["--directory", "/path/to/insta-mcp-server", "run", "insta-mcp-server"]
}
}
}設定 ⚙️
API キーの設定
インストール後、server.py を編集して API キーを設定してください:
# server.py の該当箇所
API_KEY = "YOUR_API_KEY_HERE" # ここに実際のAPIキーを設定推奨: 環境変数を使用する方法
import os
API_KEY = os.getenv("ENSEMBLEDATA_API_KEY", "YOUR_API_KEY_HERE")環境変数で設定する場合:
# ~/.zshrc または ~/.bashrc に追加
export ENSEMBLEDATA_API_KEY="your_api_key_here"使い方 📖
Claude Desktop を再起動後、以下のような質問ができます:
ユーザー情報の取得
@instagram のユーザー情報を教えて投稿の取得
@natgeo の最新の投稿を10件取得してリールの取得
@cristiano のリールを見せてユーザー検索
Instagramで "travel" で検索して投稿詳細の取得
この投稿の詳細を教えて: https://instagram.com/p/xxxxxフォロワー数の確認
@nike のフォロワー数は?利用可能なツール 🛠️
1. instagram_user_info
ユーザーの基本情報を取得
パラメータ:
username(str): Instagramユーザー名(@なし)
使用例:
instagram_user_info(username="instagram")2. instagram_user_posts
ユーザーの投稿一覧を取得
パラメータ:
username(str): Instagramユーザー名(@なし)count(int): 取得する投稿数(デフォルト: 12)
使用例:
instagram_user_posts(username="natgeo", count=20)3. instagram_user_stats
ユーザーの統計情報を取得
パラメータ:
username(str): Instagramユーザー名(@なし)
使用例:
instagram_user_stats(username="cristiano")4. instagram_user_reels
ユーザーのリールを取得
パラメータ:
username(str): Instagramユーザー名(@なし)count(int): 取得するリール数(デフォルト: 12)
使用例:
instagram_user_reels(username="redbull", count=10)5. instagram_search
ユーザーやハッシュタグを検索
パラメータ:
query(str): 検索キーワードsearch_type(str): 検索タイプ("users", "hashtags", "places")
使用例:
instagram_search(query="travel", search_type="users")6. instagram_post_info
投稿の詳細情報とコメントを取得
パラメータ:
post_url(str): Instagram投稿のURL
使用例:
instagram_post_info(post_url="https://instagram.com/p/xxxxx")7. instagram_follower_count
フォロワー数を取得
パラメータ:
username(str): Instagramユーザー名(@なし)
使用例:
instagram_follower_count(username="nike")トラブルシューティング 🔧
Claude Desktop に表示されない
Claude Desktop を完全に再起動
アプリを終了して再度起動してください
設定ファイルを確認
# macOS cat ~/Library/Application\ Support/Claude/claude_desktop_config.json # Windows type %APPDATA%\Claude\claude_desktop_config.jsonパスが正しいか確認
claude_desktop_config.json内のパスが実際のインストールディレクトリと一致しているか確認
API エラーが発生する
API キーを確認
server.py内のAPI_KEYが正しく設定されているか確認
API 制限を確認
EnsembleData ダッシュボード で使用量を確認
ログを確認
# macOS/Linux tail -f /tmp/insta-mcp-server/debug.log # Windows type %TEMP%\insta-mcp-server\debug.log
インストールスクリプトが失敗する
必要なツールがインストールされているか確認
curl, git, uv
インターネット接続を確認
手動インストールを試す
上記の「手動インストール」セクションを参照
開発者向け情報 👨💻
プロジェクト構造
insta-mcp-server/
├── README.md # このファイル
├── install.ps1 # Windows用インストールスクリプト
├── install.sh # Mac/Linux用インストールスクリプト
├── main.py # エントリーポイント(固定)
├── pyproject.toml # プロジェクト設定
└── server.py # メインサーバー実装ローカル開発
仮想環境の作成
uv syncサーバーの起動
uv run insta-mcp-serverテスト
# MCP Inspector を使用してテスト
npx @modelcontextprotocol/inspector uv --directory /path/to/insta-mcp-server run insta-mcp-serverカスタマイズ
server.py を編集することで、以下のカスタマイズが可能です:
新しいツールの追加
レスポンスフォーマットの変更
エラーハンドリングの改善
ログレベルの調整
ライセンス 📄
MIT License
サポート 💬
問題が発生した場合:
Issues で既存の問題を確認
新しい Issue を作成
ログファイルを添付すると解決が早まります
謝辞 🙏
EnsembleData - Instagram API の提供
Anthropic - Claude と MCP の開発
MCP Community - プロトコルの開発とサポート
関連リンク 🔗
注意: このツールは教育目的で作成されています。Instagram の利用規約を遵守し、APIの使用制限を守って使用してください。
Available Tools
9 toolsinstagram_follower_countB
Instagramユーザーのフォロワー数を取得します。
Args:
username: Instagramユーザー名(@なし)
Returns:
フォロワー数の文字列
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 of behavioral disclosure. It states the tool retrieves follower count but doesn't cover aspects like rate limits, authentication needs, error handling, or whether it's a read-only operation (though implied by '取得します' - get). For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior and constraints.
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 well-structured and concise, with zero waste. It uses a clear purpose statement followed by labeled sections for Args and Returns, making it easy to parse. Every sentence earns its place by providing essential information 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 low complexity (one parameter, no nested objects) and the presence of an output schema (which covers return values), the description is reasonably complete. It explains the purpose, parameter semantics, and return type. However, without annotations, it could benefit from more behavioral context (e.g., rate limits or auth requirements) to fully inform usage.
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 description adds meaningful context for the single parameter 'username': it specifies 'Instagramユーザー名(@なし)' (Instagram username without @). This clarifies the expected format beyond what the input schema provides (which has 0% description coverage and only lists 'username' as a string). With one parameter and low schema coverage, the description effectively compensates by adding semantic detail.
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's purpose: 'Instagramユーザーのフォロワー数を取得します' (Get Instagram user follower count). It specifies the verb ('取得します' - get) and resource ('Instagramユーザーのフォロワー数' - Instagram user follower count), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'instagram_user_stats' or 'instagram_user_info', which might provide similar or overlapping data.
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 no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'instagram_user_stats' (which might include follower count) or 'instagram_user_info' (which could provide broader user data), nor does it specify prerequisites or exclusions. Usage is implied by the purpose but lacks explicit context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_music_postsB
指定された音楽IDに関連する投稿を取得します。
ページネーションに対応しています。
Args:
music_id: 音楽ID(例: "3473785566185564")
cursor: ページネーション用のカーソル(次のページを取得する場合に使用、空文字列の場合は最初のページ)
Returns:
音楽に関連する投稿一覧の文字列
| Name | Required | Description | Default |
|---|---|---|---|
| music_id | Yes | ||
| cursor | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 adds useful context: it supports pagination (via cursor parameter) and returns a string of posts. However, it lacks details on rate limits, authentication needs, error handling, or whether it's read-only/destructive. The description doesn't contradict annotations (none exist), but it's incomplete for a tool with behavioral implications like pagination.
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 appropriately sized and front-loaded: the first sentence states the purpose, followed by pagination support, then parameter and return details in a structured format. Every sentence adds value, with no wasted words, though the structure could be slightly more polished (e.g., clearer separation of sections).
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 annotations, 2 parameters with 0% schema coverage, and an output schema (implied by Returns), the description is moderately complete. It covers purpose, pagination, parameters, and return type, but lacks behavioral context (e.g., rate limits, auth) and doesn't fully explain the output format beyond 'string of posts'. For a tool with pagination and data retrieval, more detail would improve 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 description coverage is 0%, so the description must compensate. It adds meaningful semantics: music_id is explained with an example ('3473785566185564'), and cursor is described as for pagination to get the next page or start from the beginning if empty. This clarifies beyond the schema's basic titles, though it could provide more on format constraints. With 2 parameters, this is adequate but not exhaustive.
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's purpose: '指定された音楽IDに関連する投稿を取得します' (retrieves posts related to a specified music ID). It specifies the verb (retrieve) and resource (posts related to music ID), but doesn't explicitly differentiate from sibling tools like instagram_user_posts or instagram_user_tagged_posts, which also retrieve posts but with different filters.
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 no guidance on when to use this tool versus alternatives. It mentions pagination support, but doesn't specify use cases, prerequisites, or exclusions compared to siblings like instagram_search or instagram_user_posts, leaving the agent to infer usage from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_post_infoB
Instagram投稿の詳細情報とコメントを取得します。
Args:
post_url: Instagram投稿のURL(例: https://instagram.com/p/xxxxx)
n_comments: 取得するコメント数(デフォルト: 10、最大: 50)
Returns:
投稿情報の文字列
| Name | Required | Description | Default |
|---|---|---|---|
| post_url | Yes | ||
| n_comments | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 mentions the tool retrieves information (implying read-only) and specifies default/maximum values for n_comments, which is useful behavioral context. However, it doesn't address potential limitations like rate limits, authentication requirements, error conditions, or what happens with invalid URLs. The description doesn't contradict annotations (none exist).
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 well-structured with clear sections (Args, Returns) and efficiently conveys essential information. The Japanese purpose statement is concise, and parameter explanations are direct. However, the 'Returns' section is somewhat vague ('投稿情報の文字列' - post information string) and could be more specific about the output format.
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 that there's an output schema (though not shown in context), the description doesn't need to fully explain return values. However, for a tool with 2 parameters (one optional), no annotations, and multiple sibling tools, the description is adequate but incomplete. It covers basic purpose and parameters but lacks usage differentiation and comprehensive behavioral context that would be helpful for an AI agent.
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 description adds significant value beyond the input schema, which has 0% description coverage. It explains what 'post_url' should contain (Instagram post URL with example) and clarifies 'n_comments' meaning (number of comments to retrieve) with default and maximum values. This compensates well for the schema's lack of descriptions, though it doesn't explain parameter interactions or edge cases.
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's purpose: 'Instagram投稿の詳細情報とコメントを取得します' (Get detailed information and comments for an Instagram post). It specifies both the resource (Instagram post) and the action (get details and comments). However, it doesn't distinguish this tool from sibling tools like 'instagram_user_posts' or 'instagram_user_info' that might also retrieve post-related information.
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 no guidance on when to use this tool versus alternatives. With multiple sibling tools available (instagram_user_posts, instagram_search, etc.), there's no indication of when this specific post-focused tool is appropriate versus user-focused or search-focused tools. The only usage context implied is needing post details and comments.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_searchA
Instagramでユーザーやハッシュタグを検索します。
Args:
query: 検索キーワード
search_type: 検索タイプ("users", "hashtags", "places")- 現在は"users"のみ対応
Returns:
検索結果の文字列
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| search_type | No | users |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 of behavioral disclosure. It mentions that only 'users' search type is currently supported, which is useful context. However, it doesn't describe rate limits, authentication needs, error handling, or what the search results look like (beyond '文字列' - string). For a search tool with no annotations, this leaves significant gaps in understanding its behavior.
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 appropriately sized and well-structured. It starts with a clear purpose statement, followed by 'Args:' and 'Returns:' sections that efficiently document parameters and output. Every sentence adds value without redundancy, making it easy to parse and understand quickly.
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 moderate complexity (2 parameters, no annotations, but with an output schema), the description is reasonably complete. It covers purpose, parameters, and return type. Since an output schema exists, it doesn't need to detail return values extensively. However, it could improve by addressing behavioral aspects like rate limits or error cases, which are missing.
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 description adds meaningful semantics beyond the input schema. The schema has 0% description coverage, with parameters 'query' and 'search_type' only having titles. The description explains 'query' as '検索キーワード' (search keyword) and 'search_type' as '検索タイプ' with options and a note that only 'users' is currently supported. This compensates well for the low schema coverage, though it doesn't detail format constraints (e.g., query length).
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's purpose: 'Instagramでユーザーやハッシュタグを検索します' (Search for users and hashtags on Instagram). It specifies the verb ('検索します' - search) and resources (users, hashtags, places), though it doesn't explicitly differentiate from siblings like instagram_user_info or instagram_user_posts. The purpose is clear but lacks sibling differentiation.
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 by mentioning search types ('users', 'hashtags', 'places') and notes that currently only 'users' is supported. However, it doesn't provide explicit guidance on when to use this tool versus alternatives like instagram_user_info or instagram_user_posts, nor does it mention prerequisites or exclusions. Usage is implied but not clearly articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_user_infoB
Instagramユーザーの詳細情報を取得します。
プロフィール、統計、外部リンクなどの包括的な情報を提供します。
Args:
username: Instagramユーザー名(@なし)
Returns:
ユーザー詳細情報の文字列
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 of behavioral disclosure. While it mentions what information is retrieved (profile, statistics, external links), it doesn't cover critical aspects like rate limits, authentication requirements, error conditions, or whether this is a read-only operation. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.
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 appropriately concise and well-structured: it starts with the core purpose, lists what information is included, and provides clear sections for Args and Returns. Every sentence adds value, though the return statement could be more specific about the data format beyond 'string'.
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 moderate complexity (single parameter, no annotations, but has an output schema), the description is adequate but incomplete. It covers the purpose and parameter semantics reasonably well, but lacks usage guidelines and behavioral details. The presence of an output schema means the description doesn't need to explain return values in detail, but overall it leaves room for improvement in guiding effective tool selection.
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 description adds meaningful context for the single parameter: it specifies that 'username' is an Instagram username without the '@' symbol. With schema description coverage at 0% and only one parameter, this clarification is valuable and compensates well for the lack of schema documentation, though it doesn't cover edge cases or format details beyond the basic requirement.
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's purpose: 'Instagramユーザーの詳細情報を取得します' (Get detailed information about an Instagram user). It specifies the resource (Instagram user) and the action (get detailed information). However, it doesn't explicitly differentiate from sibling tools like 'instagram_user_stats' or 'instagram_user_posts', which might provide overlapping or more specific data.
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 no guidance on when to use this tool versus alternatives. With multiple sibling tools available (e.g., instagram_user_stats, instagram_user_posts), there's no indication of what makes this tool distinct or when it should be preferred over others that might provide similar or more targeted information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_user_postsB
Instagramユーザーの投稿一覧を取得します。
Args:
username: Instagramユーザー名(@なし)
count: 取得する投稿数(デフォルト: 12)
Returns:
投稿一覧の文字列
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | ||
| count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions what the tool does but lacks behavioral details: no information about authentication requirements, rate limits, error conditions, pagination behavior, or what happens with invalid usernames. The description states it returns '投稿一覧の文字列' (posts list as string) but doesn't describe the format or structure of that string.
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 reasonably concise with clear sections (Args, Returns). However, the initial purpose statement is somewhat redundant with the tool name, and the structure could be more front-loaded with critical information. The Japanese formatting is clean but not optimally organized for quick scanning.
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 2 parameters with 0% schema coverage but good parameter explanation in the description, plus an output schema exists (though not shown), the description is moderately complete. It covers the basic purpose and parameters but lacks behavioral context that would be important for a social media API tool (authentication, limits, error handling). The existence of an output schema reduces the need to describe return values in detail.
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 0% schema description coverage, the description compensates well by explaining both parameters: 'username: Instagramユーザー名(@なし)' clarifies the username format (without @ symbol), and 'count: 取得する投稿数(デフォルト: 12)' explains it's the number of posts to retrieve with a default value. This adds meaningful context beyond the bare 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?
The description clearly states the tool's purpose: 'Instagramユーザーの投稿一覧を取得します' (Get Instagram user posts list). It specifies the verb ('取得します' - get/retrieve) and resource ('投稿一覧' - posts list), though it doesn't explicitly differentiate from siblings like 'instagram_user_tagged_posts' or 'instagram_user_reels'. The purpose is clear but lacks sibling differentiation.
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 no guidance on when to use this tool versus alternatives. With multiple sibling tools available (instagram_user_info, instagram_user_reels, instagram_user_tagged_posts), there's no indication of when this specific posts retrieval tool is appropriate versus other user-related tools. No usage context or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_user_reelsB
Instagramユーザーのリール(短尺動画)を取得します。
Args:
username: Instagramユーザー名(@なし)
count: 取得するリール数(デフォルト: 12)
Returns:
リール一覧の文字列
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | ||
| count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 mentions what the tool does (get reels) and the return format (string of reel list), but lacks behavioral details such as authentication requirements, rate limits, error handling, or whether it accesses public/private data. For a tool with no annotations, this is insufficient transparency.
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 appropriately sized and front-loaded: the first sentence states the purpose clearly, followed by structured Args and Returns sections. There's no wasted text, but the structure could be slightly more polished (e.g., using bullet points).
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 moderate complexity (2 parameters, no annotations, but has an output schema), the description is partially complete. It covers purpose and parameters well, but lacks behavioral context and usage guidelines. The output schema existence means the description doesn't need to detail return values, but overall completeness is adequate with clear 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 description adds meaningful semantics beyond the input schema, which has 0% description coverage. It explains that 'username' is an Instagram username without '@' and 'count' is the number of reels to fetch with a default of 12. This compensates well for the low schema coverage, though it doesn't detail constraints like valid ranges for count.
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's purpose: 'Instagramユーザーのリール(短尺動画)を取得します' (Get Instagram user reels/short videos). It specifies the verb '取得します' (get) and resource 'リール' (reels), distinguishing it from siblings like instagram_user_posts or instagram_user_info. However, it doesn't explicitly differentiate from instagram_user_posts (which might also get videos), so it's not a perfect 5.
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 no guidance on when to use this tool versus alternatives. With siblings like instagram_user_posts and instagram_user_info, there's no mention of when reels are preferred over posts or how this tool differs in context. It only lists parameters without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_user_statsC
Instagramユーザーの統計情報を取得します。
Args:
username: Instagramユーザー名(@なし)
Returns:
統計情報の文字列
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states what the tool does ('取得します' - gets/fetches) without disclosing behavioral traits like rate limits, authentication needs, error handling, or whether it's a read-only operation. This is inadequate for a tool with no annotation coverage.
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 appropriately sized with three brief sections (purpose, Args, Returns) and is front-loaded with the main purpose. However, the Japanese text might require translation for some agents, and the structure could be slightly more streamlined, but it's generally efficient.
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 an output schema (which covers return values), no annotations, and a simple input schema with one parameter, the description is minimally complete. It explains the purpose and parameter but lacks behavioral context and sibling differentiation, making it adequate but with clear 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 description includes an 'Args' section that documents the single parameter 'username' with a note about format ('@なし' - without @), adding meaning beyond the input schema which has 0% description coverage. However, it doesn't fully compensate by explaining what constitutes a valid username or potential constraints, so it meets the baseline.
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's purpose as 'Instagramユーザーの統計情報を取得します' (get Instagram user statistics), which is a specific verb+resource combination. However, it doesn't differentiate from siblings like 'instagram_user_info' or 'instagram_follower_count' which might provide overlapping or related data, so it doesn't reach the highest score.
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 no guidance on when to use this tool versus alternatives. With siblings like 'instagram_user_info' and 'instagram_follower_count' available, there's no indication of what distinguishes this tool's statistics from those other tools' outputs, leaving the agent without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_user_tagged_postsA
指定されたユーザーがタグ付けされた投稿を取得します。
各リクエストで最新10件のタグ付けされた投稿を返します。
Args:
username: Instagramユーザー名(@なし)
cursor: ページネーション用のカーソル(次のページを取得する場合に使用、空文字列の場合は最初のページ)
Returns:
タグ付けされた投稿一覧の文字列
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | ||
| cursor | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 key behavioral traits: it returns the latest 10 tagged posts per request and supports pagination with a cursor. However, it lacks details on permissions (e.g., public vs. private accounts), rate limits, error handling, or what happens with invalid usernames. For a tool with no annotations, this provides basic but incomplete behavioral context.
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 appropriately sized and front-loaded: the first sentence states the purpose, followed by key behavioral details (10 posts per request) and parameter explanations in a structured Args/Returns format. Every sentence adds value without redundancy, making it efficient and easy to parse.
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 moderate complexity (2 parameters, pagination), no annotations, and an output schema exists (implied by 'Has output schema: true'), the description is fairly complete. It covers purpose, behavior, and parameter semantics. However, it lacks some context like error cases or output format details (though the output schema may handle the latter), keeping it from a perfect score.
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 0%, so the description must compensate. It adds meaningful semantics: 'username' is an Instagram username without '@', and 'cursor' is for pagination (empty string for first page). This clarifies beyond the bare schema (which only lists types and titles). However, it doesn't fully detail constraints (e.g., username format, cursor format), so it's not a perfect 5.
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's purpose: '指定されたユーザーがタグ付けされた投稿を取得します' (Retrieves posts where the specified user is tagged). It specifies the verb (取得/retrieve) and resource (タグ付けされた投稿/tagged posts). However, it doesn't explicitly differentiate from siblings like instagram_user_posts (which likely shows posts made by the user rather than posts tagging the user), so it misses the highest clarity level.
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 context by mentioning '最新10件のタグ付けされた投稿' (latest 10 tagged posts per request) and pagination via cursor, which suggests when to use this for retrieving tagged posts. However, it doesn't explicitly state when to use this tool versus alternatives (e.g., instagram_user_posts for user's own posts or instagram_search for broader searches), nor does it provide exclusions or prerequisites. The guidance is implied but not explicit.
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.0- First observed
instagram_follower_count - First observed
instagram_music_posts - First observed
instagram_post_info - First observed
instagram_search - First observed
instagram_user_info - First observed
instagram_user_posts - First observed
instagram_user_reels - First observed
instagram_user_stats - First observed
instagram_user_tagged_posts
TDQS
Most tools have distinct purposes targeting different Instagram resources (followers, posts, reels, user info, etc.), but there's some overlap between instagram_user_info and instagram_user_stats where both provide user statistics. The descriptions help clarify, but an agent might initially be confused about which to use for comprehensive user data.
All tools follow a consistent 'instagram_' prefix with descriptive snake_case naming (e.g., instagram_follower_count, instagram_user_posts). The pattern is uniform throughout, making it easy to predict tool names and understand their domain.
With 9 tools, this server is well-scoped for Instagram operations, covering key areas like user profiling, content retrieval, and search. Each tool serves a clear purpose without redundancy, and the count aligns well with the domain's complexity.
The toolset covers most Instagram interactions well, including user info, posts, reels, search, and follower stats. However, there are minor gaps such as the inability to create or interact with content (e.g., posting, liking, commenting), which limits full agent-driven workflows but doesn't hinder read-only operations.
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
Public Instagram profiles and post feeds by handle, with hashtags and mentions parsed.
Instagram: Instagram public data scraper API for search, users, posts, hashtags, locations and more.
16 Instagram endpoints. Pay per call in USDC via x402.
Get social media data from Instagram and TikTok: profiles, posts, videos, comments, and more.
Appeared in Searches
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/Readify-App/insta-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server