Skip to main content
Glama

Postkey: Instagram DM Automation and Comment-to-DM

List the Library

postkey_list_library
Read-onlyIdempotent

Postkey: Lists the profile's media files (videos, images, audio, other files), 36 per page, newest first unless sort is oldest: id, kind, title, tags, length in seconds and how many posts use it. The files themselves are not returned. Use an id with postkey_attach_library_item or in library_item_ids; to add a file from the person's computer use postkey_begin_upload. Pass next_cursor as cursor for the next page (null: the last page).

Input Schema

NameRequiredDescriptionDefault
kindNoOnly this kind of file. Left out: every kind.
sortNo"newest" (default) or "oldest", by when the file was added.
cursorNoThe next_cursor of the previous answer, as it was. Leave out for the first page.
searchNoWords to look for in titles and tags, at most 120 characters.

Output Schema

NameRequiredDescriptionDefault
okYesfalse: refused (isError; code, message, guide_topic, url); no change.
filesNoid, kind, title, tags, seconds, source, used_by_posts, added.
next_cursorNoPass as cursor for the next page; null on the last page.
remaining_after_this_pageNoFiles matching from this page on.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / ok / description
      Previous value: -"false: refused (isError true; code, message, guide_topic, url), nothing changed."New value: +"false: refused (isError; code, message, guide_topic, url); no change."
  2. Changed5 schema fields changed
    • changedInput schema / properties / cursor / description
      Previous value: -"The next_cursor of the page before. Leave out for the first page."New value: +"The next_cursor of the previous answer, as it was. Leave out for the first page."
    • changedInput schema / properties / kind / description
      Previous value: -"Only this kind of file."New value: +"Only this kind of file. Left out: every kind."
    • changedInput schema / properties / search / description
      Previous value: -"Words to look for in titles and tags."New value: +"Words to look for in titles and tags, at most 120 characters."
    • addedInput schema / properties / sort / description
      Added value: +"\"newest\" (default) or \"oldest\", by when the file was added."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "files": {
      +      "description": "id, kind, title, tags, seconds, source, used_by_posts, added.",
      +      "items": {
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "next_cursor": {
      +      "description": "Pass as cursor for the next page; null on the last page.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "ok": {
      +      "description": "false: refused (isError true; code, message, guide_topic, url), nothing changed.",
      +      "type": "boolean"
      +    },
      +    "remaining_after_this_page": {
      +      "description": "Files matching from this page on.",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "ok"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description earns credit for disclosing traits annotations cannot: fixed page size of 36, newest-first default ordering, and that the file bytes themselves are not returned. It stops short of describing the response envelope shape, but the output schema covers 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?

Three tight sentences: what is listed and returned, what to do with an id, then pagination. Ordering is front-loaded with the most decision-relevant facts and no sentence repeats structured data unnecessarily.

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

Completeness5/5

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

For a four-param filtered read with full schema coverage and an output schema, the description supplies everything an agent needs: scope, page size, ordering, cursor lifecycle, and next-step routing. No behavioral gap is left that would cause a mis-call.

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 3 is the baseline; the description still adds value by stating the default sort direction and the cursor termination condition (null means last page), which the schema only partially conveys. Kind and search are left to the schema, which is acceptable given full coverage.

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?

Names a specific verb and resource (lists the profile's media files) and enumerates the kinds covered plus the fields returned (id, kind, title, tags, length, post count). It cleanly separates itself from postkey_attach_library_item and postkey_begin_upload, so an agent knows this is the browse/read entry point for the library.

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?

Explicitly routes onward: use a returned id with postkey_attach_library_item or in library_item_ids, and use postkey_begin_upload to add a file from the person's computer. Pagination guidance ('Pass next_cursor as cursor... null: the last page') tells the agent when to continue or stop.

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