Skip to main content
Glama

insta-pilot

Instagram para Claude. Servidor MCP + skill que le da a Claude Code control de tus cuentas de Instagram mediante la API oficial (sin scraping frágil ni riesgo de ban): exportar toda la cuenta, publicar reels/fotos/carruseles/historias, leer y responder comentarios, leer y contestar DMs, analítica y una bandeja unificada de "lo que falta por responder".

Tú:     responde a los comentarios de hoy
Claude: ig_inbox → 7 comentarios sin responder, 2 DMs
        [tabla con respuestas propuestas en tu tono]
        ¿Las publico?
Tú:     sí
Claude: ig_comment_reply ×7 ✓

Qué incluye

Área

Tools

Cuentas

ig_accounts, ig_use_account (multi-cuenta)

Perfil y scraping

ig_profile, ig_media_list, ig_media_get, ig_export (JSON + CSV de todo)

Métricas

ig_media_insights, ig_account_insights (+ demografía), ig_analytics (top posts, mejores horas)

Comentarios

ig_comments, ig_comments_unanswered, ig_comment_reply, ig_comment_hide, ig_comment_delete, ig_comments_toggle

Publicar

ig_publish_reel, ig_publish_image, ig_publish_carousel, ig_publish_story, ig_publishing_limit

DMs

ig_conversations, ig_messages, ig_send_message

Triage

ig_inbox — comentarios sin responder + DMs que esperan respuesta

Seguridad por diseño

  • Lista de bloqueo: cuentas que la herramienta se niega a tocar aunque tengas su token (insta-pilot block <usuario> o INSTA_PILOT_BLOCKLIST).

  • dry_run en todas las escrituras: Claude enseña lo que haría antes de hacerlo.

  • Modo solo lectura: INSTA_PILOT_READ_ONLY=1 oculta todas las tools de escritura.

  • Auditoría: cada escritura queda en ~/.insta-pilot/audit.jsonl.

  • Tokens en local (~/.insta-pilot/accounts.json), renovación automática antes de que caduquen (60 días).

  • Reintentos con backoff ante límites de la API.

Related MCP server: instagram-mcp

Instalación

Requisitos: Node 20+, una cuenta de Instagram profesional (Business o Creator, se cambia gratis en Ajustes → Tipo de cuenta).

git clone https://github.com/dfadify-web/insta-pilot && cd insta-pilot
npm install && npm link
insta-pilot install          # registra el MCP en Claude Code + instala la skill

Conseguir el token (5 min, una vez por cuenta)

  1. developers.facebook.com/apps → Crear app → caso de uso "Gestionar mensajes y contenido en Instagram".

  2. En API de Instagram → Configuración de la API con inicio de sesión de Instagram, añade tu cuenta (en Roles → Probadores de Instagram si te lo pide y acepta la invitación en Instagram → Ajustes → Apps y sitios web).

  3. Pulsa Generar token junto a la cuenta y concede los permisos instagram_business_basic, instagram_business_content_publish, instagram_business_manage_comments, instagram_business_manage_messages, instagram_business_manage_insights.

  4. insta-pilot add <TOKEN>
    insta-pilot doctor

En modo desarrollo de la app todo funciona para tus propias cuentas; no hace falta pasar la revisión de Meta.

Subir archivos locales

La API solo acepta URLs públicas. Para subir un .mp4 de tu disco, insta-pilot lo sube temporalmente a tu Vercel Blob y lo borra al publicar:

# Vercel → Storage → Blob → crear store → copiar el token read-write
setx INSTA_PILOT_BLOB_TOKEN "vercel_blob_rw_..."

Sin token, pasa una URL pública en video / image.

CLI

insta-pilot add <TOKEN> [--secret APP_SECRET]   añadir cuenta (con --secret canjea un token corto por uno de 60 días)
insta-pilot list | use <u> | remove <u> | block <u>
insta-pilot refresh [u]       renovar token
insta-pilot doctor            comprobar tokens y permisos
insta-pilot inbox [u]         pendiente de responder
insta-pilot export [u] [--dms]

Variables de entorno

Variable

Uso

INSTA_PILOT_HOME

Carpeta de config (por defecto ~/.insta-pilot)

INSTA_PILOT_READ_ONLY

1 = sin escrituras

INSTA_PILOT_BLOCKLIST

Cuentas bloqueadas extra, separadas por comas

INSTA_PILOT_BLOB_TOKEN

Token Vercel Blob para subir archivos locales

INSTA_PILOT_API_VERSION

Versión Graph API (por defecto v23.0)

Límites (de Instagram, no de la herramienta)

  • ~50 publicaciones por cuenta cada 24 h.

  • DMs: solo responder a conversaciones que inició la otra persona, dentro de 24 h.

  • No da acceso a la lista de seguidores ni a likes por usuario.

Desarrollo

npm test     # node:test con fetch simulado, sin tocar Instagram

MIT © dfadify-web

Available Tools

24 tools
ig_account_insightsA
Read-only

Métricas de la cuenta en un rango (por defecto últimos 28 días). Con breakdown (age|gender|country|city) devuelve demografía de seguidores.

ParametersJSON Schema
NameRequiredDescriptionDefault
sinceNoFecha ISO o unix
untilNo
accountNoUsuario de Instagram configurado (por defecto la cuenta activa)
metricsNoMétricas separadas por comas
breakdownNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry the safety profile (readOnlyHint=true, destructiveHint=false), so the description only needs to add context — and it does: the default 28-day window and the fact that `breakdown` switches the response to follower demographics. It says nothing about rate limits or metric availability, hence not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero filler; the core behavior (range + default) is front-loaded before the optional breakdown mode. Every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only analytics tool with no output schema, the description covers the scope, default range, and the one parameter that changes the response shape. It is slightly thin on which metrics are available and what the default (no-breakdown) response contains, but nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 60%, so the description must compensate, and it does for the most ambiguous parameter: `breakdown` is explained as returning follower demographics for the listed enum values, and the 28-day default contextualizes since/until. `account` and `metrics` are left without added meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: account-level metrics over a time range, with a 28-day default, plus the demographic breakdown mode. This clearly separates it from ig_media_insights, though it never names that sibling explicitly, so the differentiation is inferable rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the scope (account metrics, default last 28 days) and the breakdown option, but there is no explicit when-to-use or when-not-to-use guidance relative to ig_analytics or ig_media_insights, which likely overlap. The agent must infer the boundary between account and media insights.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ig_accountsA
Read-only

Lista las cuentas configuradas, la activa y la lista de bloqueo.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered externally. The description usefully discloses the shape of the payload (three distinct collections), but says nothing about ordering, pagination, or whether the blocklist is returned in full — modest added value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence with no padding, and the most important element (the list of configured accounts) is front-loaded. Nothing in it is redundant with the name or title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no parameters, no output schema, and annotations covering the safety profile, the description's enumeration of the three returned collections is close to sufficient. It only stops short of the full mark because there is no guidance on how the three collections relate (e.g. whether the active account appears redundantly in the configured list).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline of 4 applies; there is nothing for the description to clarify. The sentence correctly implies a no-argument, whole-state read.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Lista') and enumerates the exact resources returned: configured accounts, the active account, and the blocklist. This is materially more informative than the bare tool name, though it never names the sibling ig_use_account (the account-switching counterpart) to sharpen the distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance, and no alternative is mentioned despite ig_use_account, ig_profile, and ig_account_insights living in the same namespace. The agent must infer from the noun alone that this is the discovery/configuration read tool rather than the switching or profiling one.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ig_analyticsC
Read-only

Análisis de rendimiento: top/peores publicaciones, mejores días y horas para publicar, medias de engagement y views.

ParametersJSON Schema
NameRequiredDescriptionDefault
postsNo
accountNoUsuario de Instagram configurado (por defecto la cuenta activa)
time_zoneNoEurope/Madrid

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safe-read profile is covered. The description adds the scope of analysis (aggregate engagement/views stats over posts), but says nothing about defaults, lookback windows, rate limits, or auth requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that lists the metrics efficiently with no filler. It is underspecified rather than bloated, but the structure itself is tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description does not describe the shape of the returned analytics (groupings, time granularity, units). Combined with two undocumented parameters, an agent lacks enough to call it confidently or anticipate the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% (only the 'account' param is documented). The description mentions no parameters at all, so it does not compensate for the undocumented 'posts' and 'time_zone' fields or clarify their effect on the analysis.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource ('Análisis de rendimiento') and enumerates the concrete outputs (top/worst posts, best days/hours, engagement and views averages), so an agent can tell what it produces. It stops short of differentiating itself from analytics siblings such as ig_media_insights and ig_account_insights, which also report performance metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus the many analytics/insights siblings (ig_media_insights, ig_account_insights). The agent must infer the distinction from the metric list alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ig_comment_deleteB
Destructive

Elimina un comentario (irreversible).

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoUsuario de Instagram configurado (por defecto la cuenta activa)
dry_runNotrue = solo muestra lo que haría, sin ejecutar
comment_idYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is largely covered. The description adds the useful explicit qualifier '(irreversible)', reinforcing permanence, but omits auth requirements, the effect of dry_run, or whether removal is soft/hard beyond that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler; the destructive warning is stated immediately. Nothing is wasted, though the economy borders on under-specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple destructive operation with annotations covering the safety profile and no output schema to explain, the essential warning is present. However, it omits the routing distinction from sibling comment tools and any note on the undocumented required comment_id.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%: account and dry_run are described, but the required comment_id carries no schema description. The tool description adds no parameter information to compensate for that gap, leaving the most critical argument underspecified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Elimina un comentario') that an agent can immediately map to a delete operation. It does not, however, distinguish this from sibling comment tools such as ig_comment_hide, ig_comments_toggle, or ig_comments, which an agent must route between.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to delete versus hide or toggle a comment, nor any preconditions (e.g., ownership or permissions). The agent must infer the distinction from sibling names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ig_comment_hideB

Oculta (o muestra con hide=false) un comentario.

ParametersJSON Schema
NameRequiredDescriptionDefault
hideNo
accountNoUsuario de Instagram configurado (por defecto la cuenta activa)
dry_runNotrue = solo muestra lo que haría, sin ejecutar
comment_idYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=false, so safety is partly covered. The description usefully discloses that the operation is reversible (hide=false restores visibility), which is behavior beyond the annotations, but says nothing about permissions, side effects on replies, or confirmation of the change.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence, front-loaded with the primary action and its inverse. Nothing is wasted, though the extreme brevity leaves the definition under-specified rather than maximally efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple mutation with no output schema, the definition is minimally viable: the action and its inverse are clear. It omits permissions, notification side effects, and success/failure behavior, and one parameter remains undocumented in both schema and description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%: account and dry_run are documented in the schema, but hide and comment_id are not. The description compensates for the undocumented hide parameter by explaining that hide=false un-hides, which the schema's bare boolean default does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Oculta') and resource ('un comentario'), and clarifies the inverse mode via hide=false. It does not, however, distinguish itself from the close siblings ig_comment_delete and ig_comments_toggle, so an agent must still infer which of the three to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus ig_comment_delete or ig_comments_toggle, nor any prerequisite or permission guidance. The 'hide=false' clause is a parameter behavior note, not a usage guideline.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ig_comment_replyC

Responde a un comentario.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoUsuario de Instagram configurado (por defecto la cuenta activa)
dry_runNotrue = solo muestra lo que haría, sin ejecutar
messageYes
comment_idYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false, which is consistent with a reply (a non-destructive write). The description adds nothing beyond that: no mention that a reply is publicly visible, no permission or rate-limit context, and no explanation of the dry_run preview behavior that the schema exposes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no waste, but for a 4-parameter mutation on a social platform it is too terse to be genuinely concise rather than under-specified. Compare to the LOW calibration where a one-word description scored 2; this is a full clause, so 3.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a write tool with no output schema and partial annotation coverage, the description should say what a successful reply produces and whether it is publicly posted. None of that is present, leaving the agent to guess at visible side effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50% (account and dry_run are documented, message and comment_id are not). The description adds no parameter meaning at all, so it fails to compensate for the undocumented half; message has a maxLength constraint of 2200 but the description never clarifies what the reply text is or its limits.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Responde a un comentario' = reply to a comment), which is enough to distinguish it from the hide/delete/toggle comment siblings. It does not, however, explicitly differentiate itself from those siblings or state scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus ig_comments, ig_comment_hide, or ig_comment_delete, and no prerequisites (e.g. the comment must exist, the account must own the media) are mentioned. The agent must infer usage entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ig_commentsC
Read-only

Comentarios de una publicación con sus respuestas.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
accountNoUsuario de Instagram configurado (por defecto la cuenta activa)
media_idYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description only adds that replies are included, saying nothing about pagination, ordering, or how many comments come back (limit is silently defaulted to 100).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short fragment with no filler, so nothing is wasted. But it is under-specified rather than concise – the terseness comes at the cost of routing and parameter information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with a required id, an optional limit, and no output schema, the description omits pagination behavior, default result size, and any hint about the response shape. It is too thin to fully guide an agent calling it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33%: media_id (required) and limit are undocumented in the schema, and the description does not compensate. It implies media_id refers to the 'publicación' but never states the format or that limit controls the number of comments returned.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The phrase names the resource (comments of a publication) and adds the scope 'con sus respuestas' (with their replies), which is more than a bare restatement of the name. However, it has no verb, and it does not distinguish itself from the close sibling ig_comments_unanswered, leaving the agent to guess which comment-listing tool to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance, no prerequisite (e.g. needing an account/media id first), and no mention of the sibling ig_comments_unanswered. Usage can only be inferred from the resource name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ig_comments_toggleC

Activa o desactiva los comentarios de una publicación.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoUsuario de Instagram configurado (por defecto la cuenta activa)
dry_runNotrue = solo muestra lo que haría, sin ejecutar
enabledYes
media_idYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false, so the mutation-but-not-destructive profile is already known. The description adds nothing beyond confirming it toggles a setting — no mention of permissions required, whether the change is reversible, or the effect on existing comments.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single efficient sentence with the action front-loaded. It is not bloated, though it is sparse enough that conciseness shades into under-specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema, two undocumented required parameters, and no annotations covering permissions or side effects, the description does far too little. An agent lacks the information needed to invoke this confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%: media_id and enabled are undocumented. The description implies 'publicación' maps to media_id and 'activar/desactivar' to enabled, but gives no format, type, or value guidance to compensate for the gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (activa/desactiva) and resource (comentarios de una publicación), so the agent knows exactly what operation occurs. It doesn't explicitly differentiate from siblings like ig_comment_hide or ig_comment_delete, which are also comment-mutating tools, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this versus ig_comment_hide, ig_comment_delete, or ig_comments, nor any mention of prerequisites or account context. The agent must infer usage purely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ig_comments_unansweredB
Read-only

Comentarios de otras personas a los que la cuenta aún no ha respondido, en las últimas N publicaciones.

ParametersJSON Schema
NameRequiredDescriptionDefault
postsNo
accountNoUsuario de Instagram configurado (por defecto la cuenta activa)
max_age_daysNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the meaningful behavioral constraint that results are filtered to unanswered comments within recent posts, but says nothing about pagination, result volume, or ordering.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single well-formed sentence that front-loads the resource definition and appends the scope constraint. No wasted words, though the terse phrasing leaves little room for the missing context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with three parameters and no output schema, the description conveys the core concept but leaves return format, pagination, and the max_age_days behavior undefined. Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% (just the account parameter). The phrase 'últimas N publicaciones' loosely maps to the posts parameter, but max_age_days (default 30) is never explained despite being a meaningful filter on comment age. The description does not compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (unanswered comments from other people) and scopes it (last N posts), so an agent can distinguish it from the broader ig_comments. It stops short of explicitly naming the sibling it differs from, so it is clear but not fully differentiating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The filter definition (comments awaiting a reply) implies the use case of finding comments that need responding to, but there is no explicit when-to-use statement, no exclusions, and no reference to ig_comments as the alternative for all comments.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ig_conversationsB
Read-only

Lista conversaciones de DM con el último mensaje y si esperan respuesta.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
accountNoUsuario de Instagram configurado (por defecto la cuenta activa)
only_awaiting_replyNo

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuine context about the returned shape (last message plus reply-status), but says nothing about pagination behavior, ordering, or rate limits on a DM-listing endpoint. Adequate, not rich, given the low annotation burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One tight sentence with no filler, and the resource plus the return contents are front-loaded. Nothing is padded, though there is no structure to organize multiple concerns because only one concern is addressed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does useful work by summarizing the payload. But two of three parameters go unexplained in both schema and prose, and for a DM-listing tool an agent still lacks guidance on default result size and how to page through conversations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% — just the 'account' parameter is documented. The description never mentions the 'limit' default of 20 or the 'only_awaiting_reply' toggle, even though the phrase 'si esperan respuesta' gestures vaguely at the latter without naming it as a filter parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ('Lista conversaciones de DM') plus what each item contains (last message, awaiting-reply flag), which is more than a restatement of the name. It does not, however, distinguish this from close siblings such as ig_inbox or ig_messages, so an agent cannot tell them apart from the text alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus ig_inbox, ig_messages, or ig_comments_unanswered, no prerequisites, and no exclusions. Usage must be inferred entirely from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ig_exportB
Read-only

Scrapea TODA la cuenta a disco (perfil, todas las publicaciones, comentarios, métricas y opcionalmente DMs) en JSON + CSV.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoUsuario de Instagram configurado (por defecto la cuenta activa)
out_dirNo
with_dmsNo
max_mediaNo
with_commentsNo
with_insightsNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful scope detail (what gets exported, DM opt-in, dual JSON+CSV output), but it omits operational traits an agent would want for a full-account scrape: runtime/scale, rate limits, and that output is written to disk (out_dir), which sits in mild tension with readOnlyHint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler; the scope (TODA la cuenta) and outputs come first. It is efficient, though packing all export contents into one parenthetical slightly reduces scannability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-parameter tool with no output schema, the description covers the conceptual scope and the JSON+CSV format, but omits the meaning of out_dir, max_media, and account, and says nothing about scale or expected duration of a full scrape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 17%, so the description must compensate. It maps to with_dms, with_comments, and with_insights (profile/posts/comments/metrics/DMs), but leaves account, out_dir, and max_media entirely unexplained in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (scrape/export the ENTIRE account) and enumerates the resource scope: profile, all posts, comments, metrics, and optionally DMs, in JSON + CSV. The word 'TODA' and the full-account scope clearly separate it from the granular per-resource siblings like ig_profile, ig_media_list, and ig_comments.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description never states when to reach for this bulk export versus the granular siblings (ig_profile, ig_media_list, ig_analytics). It implies a full-account use case but gives no conditions, exclusions, or prerequisites, leaving the agent to infer selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ig_inboxB
Read-only

Bandeja unificada: comentarios sin responder + DMs que esperan respuesta. Punto de partida para "responde a todo".

ParametersJSON Schema
NameRequiredDescriptionDefault
postsNo
accountNoUsuario de Instagram configurado (por defecto la cuenta activa)
max_age_daysNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds a real behavioral detail — that both feeds are filtered to unanswered/awaiting items — but says nothing about scan scope, rate limits, or result shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero filler, and the core purpose is front-loaded before the usage hint. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter tool with low schema coverage and no output schema, the description omits what the parameters control (how many posts to scan, how far back to look) and does not characterize the returned inbox structure. An agent cannot predict the result shape or cost from this.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% (only 'account' is documented), so the description should compensate. It mentions no parameters at all, leaving 'posts' and 'max_age_days' — which govern scan depth and lookback window — unexplained in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete resource ('Bandeja unificada') and specifies exactly what it aggregates: unanswered comments plus DMs awaiting response. It implicitly distinguishes itself from siblings like ig_comments_unanswered and ig_conversations by combining both sources, though it never names them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Punto de partida para "responde a todo"' implies when to reach for this tool (a triage starting point), but there is no explicit when-not guidance and no alternative sibling is named for the single-source cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ig_media_getC
Read-only

Detalle de una publicación (incluye hijos de carrusel).

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoUsuario de Instagram configurado (por defecto la cuenta activa)
media_idYes

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Las anotaciones ya declaran readOnlyHint=true y destructiveHint=false, por lo que el perfil de seguridad está cubierto. La descripción añade contexto útil al aclarar que los hijos de carrusel vienen incluidos, pero no menciona requisitos de permisos, formato de respuesta ni paginación.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Una sola frase breve, sin relleno, con el alcance diferencial (hijos de carrusel) entre paréntesis. Está bien dimensionada aunque es tan escueta que roza la insuficiencia.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No existe output schema, así que la descripción debería orientar sobre qué se devuelve (campos del post, estructura del carrusel) y no lo hace. Para una herramienta de lectura sencilla con dos parámetros y anotaciones que cubren la seguridad, es mínimamente aceptable pero deja huecos relevantes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

La cobertura de descripciones en el esquema es solo del 50%: 'media_id' es obligatorio y no tiene descripción alguna, y la descripción de la herramienta tampoco lo menciona ni aclara su formato. La descripción no compensa la laguna del esquema, incumpliendo el estándar para cobertura baja.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

La descripción nombra el recurso ('una publicación') y su alcance ('incluye hijos de carrusel'), lo que permite inferir que recupera el detalle de un media concreto frente a ig_media_list o ig_media_insights. Sin embargo, es un sintagma nominal sin verbo explícito y no diferencia de forma deliberada respecto a sus hermanas, por lo que el propósito queda implícito más que declarado.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No hay indicación de cuándo usar esta herramienta frente a alternativas como ig_media_list (listar) o ig_media_insights (métricas). El agente debe deducir el caso de uso a partir del nombre y de la vaga noción de 'detalle'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ig_media_insightsB
Read-only

Métricas de una publicación: views, reach, shares, saves, tiempo medio de visionado (reels)…

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoUsuario de Instagram configurado (por defecto la cuenta activa)
media_idYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true and destructiveHint=false, so the safety profile is already covered. The description adds useful context by naming the metric set returned, but says nothing about availability limits (e.g. reels-only fields), pagination, or permission requirements on the account.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence that front-loads the purpose and lists the metrics. The trailing ellipsis signals incompleteness of the metric list rather than consuming space wastefully.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only insight tool with no output schema, the description partially compensates by enumerating returned metrics, but it omits required identifier semantics, account scoping behavior, and any note on missing metrics for non-reel media.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Two parameters with only 50% schema description coverage: media_id has no description in the schema and none in the tool description, so the agent gets no format guidance (numeric ID vs shortcode). The description adds zero parameter meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: returns metrics for a published media item, and enumerates representative metrics (views, reach, shares, saves, average view time for reels). It is distinguishable from ig_account_insights (account-level) and ig_media_get (media data fetch), though it never names those siblings explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance. The description does not say when to use this instead of ig_account_insights, ig_media_get, or ig_analytics, nor does it note that a valid media_id from ig_media_list is required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ig_media_listB
Read-only

Lista publicaciones (reels, posts, carruseles) con likes, comentarios y permalink, de más reciente a más antigua.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
accountNoUsuario de Instagram configurado (por defecto la cuenta activa)

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds real value beyond that by naming the payload fields (likes, comentarios, permalink) and the sort order, but says nothing about pagination, rate limits, or how the limit interacts with a large feed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the action, then the enumerated media types and return fields, then the ordering. No filler, nothing repeated from the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully discloses the returned fields and ordering, and annotations cover safety. The remaining gap is the 'limit' parameter (min 1, max 1000) whose pagination/boundary behavior is explained nowhere, leaving an agent unsure how to page a large feed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage sits at 50%: 'account' is documented in the schema while 'limit' is not. The description adds no information about either parameter — no mention of whether 'limit' caps a page or the total result set, nor what 'account' resolves to. The description therefore fails to compensate for the undocumented parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Lista publicaciones') and enumerates the media types covered (reels, posts, carruseles), so the agent knows this is a media feed listing. It does not, however, explicitly distinguish itself from siblings like ig_media_get or ig_media_insights, leaving the reader to infer the difference from the word 'Lista'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: listing media newest-first is a browsing operation, which hints at when to reach for it over ig_media_get. There is no explicit when-to-use, when-not-to-use, or named alternative, and nothing tells the agent how it relates to ig_media_insights or ig_analytics.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ig_messagesC
Read-only

Mensajes de una conversación (más recientes primero).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
accountNoUsuario de Instagram configurado (por defecto la cuenta activa)
conversation_idYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safe-read profile is covered. The description adds the useful return-order fact (most recent first), but does not mention pagination behavior, limits, or account selection side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with zero waste. It is appropriately concise, though its brevity borders on under-specification rather than serving as a complete invocation guide.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and low parameter-description coverage, the description should explain return values, pagination, and parameter behavior. It only states the resource and ordering, leaving key operational details absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33%, and the description provides no parameter-level details beyond implying that a conversation is involved. It does not explain limit, account, or the required conversation_id, so it fails to compensate for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies the resource clearly: messages belonging to one conversation, with ordering (most recent first). It does not explicitly differentiate itself from siblings like ig_conversations or ig_inbox, but the scope is specific enough for an agent to understand what it does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use guidance, no prerequisites, and no alternatives. It does not tell the agent when to choose ig_messages over ig_conversations, ig_inbox, or other message-related siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ig_profileB
Read-only

Perfil de la cuenta: bio, seguidores, seguidos, nº de publicaciones.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoUsuario de Instagram configurado (por defecto la cuenta activa)

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the returned data set, which substitutes for the missing output schema, but says nothing about freshness, rate limits, or behavior for private/suspended accounts.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence that front-loads the resource and lists the returned fields with zero filler. It is terse to the point of omitting any routing or behavioral guidance, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read tool, listing the returned fields partially compensates for the absent output schema. However, an agent gets no guidance on account selection or when this profile read is preferable to the insights/analytics siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single optional 'account' parameter is fully documented in the schema, including its default behavior. The description adds no additional meaning about the parameter, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource (account profile) and enumerates the exact fields returned (bio, followers, following, post count), so an agent can distinguish it from analytics siblings like ig_account_insights or ig_media_insights. It lacks an explicit verb and never names an alternative, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no indication of when to call this tool versus ig_accounts, ig_account_insights, or ig_analytics. The only implied usage is that it surfaces profile-level data, which the agent must infer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ig_publish_imageC

Publica una foto (JPEG).

ParametersJSON Schema
NameRequiredDescriptionDefault
imageYesURL pública o ruta local (local requiere INSTA_PILOT_BLOB_TOKEN)
accountNoUsuario de Instagram configurado (por defecto la cuenta activa)
captionNo
dry_runNotrue = solo muestra lo que haría, sin ejecutar
alt_textNo
location_idNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare a non-destructive write (readOnlyHint=false, destructiveHint=false), lowering the bar. The description only adds the JPEG format constraint; it says nothing about publishing rate limits (a dedicated ig_publishing_limit sibling exists), the irreversibility of a published post, or the INSTA_PILOT_BLOB_TOKEN requirement for local paths.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero waste, which is good structurally. However, it is arguably under-specified rather than concise for a six-parameter publishing operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A mutation tool with no output schema, six parameters at 50% description coverage, and a sibling that exists specifically to check publishing limits. The description leaves an agent without enough context to invoke it correctly in edge cases (rate limits, account selection, token requirements).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%: image, account and dry_run are documented in the schema, while caption, alt_text and location_id are not. The description adds nothing beyond restating the JPEG format for the image parameter, so it fails to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Publica una foto') and adds a format constraint (JPEG), which implicitly separates it from the reel, carousel and story siblings. It does not explicitly name those siblings, so an agent must infer the distinction from the resource noun.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No statement of when to use this tool versus ig_publish_reel, ig_publish_carousel, ig_publish_story, or the account-selection flow. The only implied guidance is that this is for photos, which is already implied by the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ig_publishing_limitB
Read-only

Cuota de publicaciones usada en las últimas 24 h (límite de la API).

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoUsuario de Instagram configurado (por defecto la cuenta activa)

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds real context by explaining the number is a rolling 24-hour limit imposed by the API, but says nothing about rate-limit headers, refresh cadence, or what the returned value looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence with the key noun ('Cuota de publicaciones') front-loaded and the time window and API-limit caveat in parentheses; nothing is redundant, though the parenthetical slightly compresses what could be clearer phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-argument read tool with no output schema, the description conveys what the call returns (used publishing quota over 24h) and its source (API limit). Little more is needed, though noting the quota reset behavior would fully close the loop.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single optional 'account' parameter whose description already explains the default active account. The description adds no additional parameter meaning, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource — the publishing quota consumed in the last 24 hours — and clarifies it reflects the API limit, so an agent can distinguish it from analytics or insight siblings. It lacks an explicit verb and no sibling (e.g., ig_analytics, ig_account_insights) is named, so full differentiation is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance, and no alternative tool is referenced, even though ig_analytics and ig_account_insights cover adjacent data. The agent must infer that this specific quota check is separate from broader insight tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ig_publish_reelA

Publica un reel (MP4 vertical 9:16, 3s–15min). Espera a que Instagram procese el vídeo y devuelve el permalink.

ParametersJSON Schema
NameRequiredDescriptionDefault
coverNoImagen de portada (URL o ruta)
videoYesURL pública o ruta local (local requiere INSTA_PILOT_BLOB_TOKEN)
accountNoUsuario de Instagram configurado (por defecto la cuenta activa)
captionNo
dry_runNotrue = solo muestra lo que haría, sin ejecutar
audio_nameNo
location_idNo
thumb_offsetNoms del frame de portada si no hay cover
collaboratorsNo
share_to_feedNo

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=false and destructiveHint=false, so safety is covered. The description adds genuinely new behavior: the call blocks until Instagram finishes processing the video and returns a permalink. It does not mention failure modes, quota limits, or that Instagram publishing is a two-step container flow.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, front-loaded with the action and the hard format constraints, ending with the observable outcome (permalink). No filler, no restated tool name, no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter mutation with no output schema and 50% schema coverage, the description covers the critical constraint on the required video param and the return value, but omits account selection, caption limits, collaborators, cover/thumb interaction, and dry_run as a preview path. Adequate but clearly short of complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50% across 10 parameters, so the description would need to carry weight — yet it explains none of cover, caption, account, dry_run, audio_name, location_id, thumb_offset, collaborators or share_to_feed. The format constraints only indirectly constrain "video". Baseline is not earned; the description adds little parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ("Publica") and resource ("reel") plus the media format constraints (MP4 vertical 9:16, 3s–15min). The resource name makes it distinguishable from ig_publish_image, ig_publish_carousel and ig_publish_story, though it never explicitly contrasts itself with those siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It says what it publishes but never when to choose it over ig_publish_image/ig_publish_carousel/ig_publish_story, nor does it mention prerequisites (connected account, publishing quota). The only implicit guidance is the format constraint, which is a validation rule rather than usage routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ig_publish_storyC

Publica una historia (imagen o vídeo).

ParametersJSON Schema
NameRequiredDescriptionDefault
mediaYesURL pública o ruta local (local requiere INSTA_PILOT_BLOB_TOKEN)
accountNoUsuario de Instagram configurado (por defecto la cuenta activa)
dry_runNotrue = solo muestra lo que haría, sin ejecutar

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=false, so the write/safe-mutation profile is covered. The description adds nothing beyond that: it does not mention publishing rate limits (a sibling ig_publishing_limit exists), account targeting, or what dry_run accomplishes in practice.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with zero filler, and the core action is front-loaded. It is efficiently sized, though there is no structure beyond the one clause.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a side-effecting publish tool with no output schema, the description is too thin: it omits publishing-limit implications, what a successful publish returns, and any caveats about account selection or media requirements. Annotations cover safety only, leaving real operational gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters (media, account, dry_run) are already documented in the schema, including the INSTA_PILOT_BLOB_TOKEN requirement for local paths. The description adds no parameter meaning beyond the schema, which is the baseline-3 case.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Publica') and resource ('una historia') and constrains the media types to image or video. It is clearly distinct from ig_publish_reel/ig_publish_image/ig_publish_carousel by resource name, though it never explicitly contrasts itself with those siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no alternatives named. The agent must infer from the sibling names alone whether a story is the right target versus a reel or feed post.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ig_send_messageA

Envía un DM de texto. Solo funciona si la persona escribió en las últimas 24 h (regla de Instagram). recipient_id = with.id de ig_conversations.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
accountNoUsuario de Instagram configurado (por defecto la cuenta activa)
dry_runNotrue = solo muestra lo que haría, sin ejecutar
recipient_idYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false, so the write-safe profile is already covered. The description adds the important 24-hour messaging-window constraint, which is real behavioral context an agent would otherwise miss. It does not mention rate limits or required account permissions, keeping it below a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the action, then the constraint, then the parameter source. Every sentence earns its place with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a write tool with no output schema, the description covers the critical operational failure mode (24h window) and the key input's origin. Minor gaps remain around 'account' selection/defaults and rate limiting, but the essential call-correctness information is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: 'account' and 'dry_run' are already documented in the schema, while 'text' and 'recipient_id' are bare. The description compensates for recipient_id by defining it as 'with.id' from ig_conversations, adding genuine meaning beyond the schema. It adds nothing for 'text' beyond what maxLength/minLength already convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Envía un DM de texto'), which cleanly separates it from the read-oriented siblings ig_conversations, ig_messages and ig_inbox. It stops short of explicitly naming those siblings as alternatives, so it is clear but not fully differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-not condition: only works if the person wrote in the last 24 hours (Instagram rule). It also tells the agent where recipient_id comes from ('with.id' de ig_conversations), effectively routing to the sibling that supplies the input. Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ig_use_accountC
Read-only

Cambia la cuenta activa.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYes

TDQS

C2.5/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations declare readOnlyHint=true (no state modification), while the description's only content is that it *changes* the active account - a stateful side effect. That is a direct tension between the text and the structured safety hint, and no other behavioral context (scope of the switch, persistence, effect on subsequent calls) is given.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short, front-loaded sentence with no filler or repetition. It is efficient, though brevity here shades into under-specification, which is penalized in the other dimensions rather than this one.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one required, undocumented parameter and no output schema, the description should at minimum say what the account switch affects and what happens on success/failure. Instead it supplies only the bare action, leaving the agent unable to invoke it correctly with confidence.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the single required parameter 'username' is undocumented in the schema. The description never mentions that an account identifier must be supplied or what form it takes (handle vs. numeric ID), so it fails to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Cambia') and resource ('la cuenta activa'), so an agent can tell it is an account-switching tool rather than a listing or posting tool. It does not, however, distinguish itself from siblings like ig_accounts or ig_profile, which is exactly the gap that keeps this at a 4 rather than a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus ig_accounts/ig_profile, nor any prerequisite such as needing to know the target username first. The usage is only weakly implied by the word 'activa', which is not enough guidance for an agent choosing among 24 sibling tools.

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.

  1. 24 tool updatesv1.0.0
    • First observedig_account_insights
    • First observedig_accounts
    • First observedig_analytics
    • First observedig_comment_delete
    • First observedig_comment_hide
    • First observedig_comment_reply
    • First observedig_comments
    • First observedig_comments_toggle
    • First observedig_comments_unanswered
    • First observedig_conversations
    • First observedig_export
    • First observedig_inbox
    • First observedig_media_get
    • First observedig_media_insights
    • First observedig_media_list
    • First observedig_messages
    • First observedig_profile
    • First observedig_publish_carousel
    • First observedig_publish_image
    • First observedig_publish_reel
    • First observedig_publish_story
    • First observedig_publishing_limit
    • First observedig_send_message
    • First observedig_use_account

TDQS

B3.2/5.0

Scored across 24 tools

Disambiguation4/5

Most tools target clearly distinct resources and actions (media list/get/insights, comment reply/hide/delete, publish variants, DM tools). Mild overlap exists between ig_account_insights and ig_analytics, and between ig_inbox and the comment/DM listing tools, but the descriptions clarify the boundaries (demographic metrics vs. performance analysis; aggregate vs. raw lists).

Naming Consistency4/5

Consistent ig_ prefix and snake_case verbs throughout (ig_publish_*, ig_comment_*, ig_media_*). Minor deviations: singular vs. plural (ig_comment_reply vs ig_comments, ig_comments_toggle) and some noun-only names (ig_profile, ig_inbox) break the strict verb_noun pattern, but it stays readable.

Tool Count4/5

24 tools is on the heavier side but genuinely justified by the breadth of an Instagram management domain spanning accounts, media, publishing, comments, DMs, and analytics. Each area has a small coherent cluster, so few tools feel redundant.

Completeness4/5

Coverage is strong across the lifecycle: reading, publishing, comment moderation, DM handling, analytics, and bulk export. Gaps remain around editing/deleting published media or captions and follower/follow management, though these are largely restricted by the Instagram API.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables sending and receiving Instagram Direct Messages, managing conversations, downloading media, viewing user profiles and stories, and interacting with posts through natural language in Claude.
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    Enables Claude to read and send Instagram DMs, manage threads and message requests, send media, and run autonomous conversations via the /dm skill.
    27
    3
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Connects Claude to the official Meta Instagram Graph API (read-only) for retrieving Instagram profile, media, insights, and comments as MCP tools over Streamable HTTP.
    -
  • A
    license
    A
    quality
    C
    maintenance
    Enables controlling an Instagram account through natural language, including posting photos, reels, and carousels, reading insights, managing comments and DMs, and handling ads and events.
    25
    MIT