Skip to main content
Glama

Inrō MCP for Instagram

Icebreakers

icebreakers
Read-onlyIdempotent

Read icebreakers — this tool changes nothing. Actions: list. Anything that writes (create, update, delete) is on icebreakers_manage and is refused here.

Manage the icebreaker questions shown on the Instagram profile (the quick replies a person can tap to start a conversation). They live on Instagram, not on Inrō — every action reads them back from the Graph API, so the list is always what Instagram currently shows. Instagram allows up to 4. Actions: list (no params — returns question, payload, and the automations that fire when it is tapped: scenario_id, scenario_title, active, trigger_id, and whether the trigger matches on payload or title. An empty automations array means tapping it starts nothing); create (params: question [required] — the payload is generated and returned; a new icebreaker automates nothing until a scenario triggers on it, and the response says so); update (params: payload [required], question [required] — keeps the payload, so a trigger matching on it survives; a trigger matching on icebreaker_title stops firing when the question is reworded, and the response names the scenario that broke); delete (params: payload [required]). Each action returns the full updated list.

Input Schema

NameRequiredDescriptionDefault
actionYesThe read operation to perform on icebreakers.
action_paramsNoParameters for the chosen action. Required per action — create: question; update: payload + question; delete: payload. list takes none.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, it discloses that the data lives on Instagram rather than Inrō, that every action hits the Graph API so the list is always current, that Instagram caps icebreakers at 4, and exactly what the list returns (question, payload, and automations with scenario_id, scenario_title, active, trigger_id, plus the trigger match mode). The 'empty automations array means tapping it starts nothing' note is a genuinely useful semantic detail that no structured field conveys.

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

Conciseness2/5

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

The text is front-loaded well but the description then spends most of its length documenting create/update/delete behavior — payload generation, trigger-breakage on reworded questions, delete params — none of which this tool can perform. That is substantial bloat that also creates confusion about the tool's actual surface.

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 documents the shape of list results including nested automation fields, which is what an agent needs. But roughly half the content describes actions the schema rejects, so the definition is simultaneously over-explained and unclear about whether an agent should ever attempt those actions.

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 100%, so the baseline is 3, and the description adds that list takes no params. It also explains payload as 'as returned by list' and question as the text shown on the profile for the write actions — but those actions are not invocable here, so the extra meaning is only marginally useful for this tool as defined.

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 opening line is unambiguous — 'Read icebreakers — this tool changes nothing. Actions: list' — a clear verb and resource that also names the sibling handling writes. However, the rest of the description then enumerates create/update/delete with their params, which this tool's schema (action enum: ['list']) does not permit, muddying the otherwise crisp purpose.

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

Usage Guidelines4/5

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

Explicit routing: reads here, and 'Anything that writes (create, update, delete) is on `icebreakers_manage` and is refused here.' That is a direct when/when-not statement naming the alternative. It stops short of saying when an agent should care about icebreakers at all (e.g., before editing a scenario that triggers on one), so it is not quite a 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources