Medium Risk

download_media_content

Download a reel or post to local files.

How to control download_media_content ↓

What download_media_content does on Instagram

AI agents use download_media_content to create or update resources in Instagram — usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Instagram environment.

Medium Risk

Why download_media_content needs a policy

This tool writes media content from Instagram to the local filesystem. It retrieves remote content (Read aspect) but its primary effect is creating new local files (Write). It does not delete, execute code, or involve financial transactions. Misuse could result in unauthorized content being saved locally or bulk downloading of copyrighted material, warranting medium severity.

From the tool's definition Download a reel or post to local files

Documented attack patterns abuse exactly the kind of access download_media_content gives an agent:

How to control download_media_content

PolicyLayer is an MCP gateway — it sits between your AI agents and Instagram, and nothing reaches the server without passing your rules. This is the rule we recommend for download_media_content:

policy.json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "download_media_content": {
      "limits": [
        {
          "counter": "download_media_content_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}

download_media_content stays usable, but capped — an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.

  1. Create a free account and register Instagram — nothing to install.
  2. Add this policy — paste it, or build it visually.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
LIMIT THIS TOOL →

Free to start. No card required.

Related tools and policies

Go deeper

Questions about download_media_content

What does the download_media_content tool do? +

Download a reel or post to local files. It is categorised as a Write tool in the Instagram MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.

How do I enforce a policy on download_media_content? +

Register the Instagram MCP server in PolicyLayer and add a rule for download_media_content: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Instagram. Nothing to install.

What risk level is download_media_content? +

download_media_content is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.

Can I rate-limit download_media_content? +

Yes. Add a rate_limit block to the download_media_content rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block download_media_content completely? +

Set action: deny in the PolicyLayer policy for download_media_content. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides download_media_content? +

download_media_content is provided by the Instagram MCP server (lupikovoleg/instagram-cli). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policy on every Instagram tool call.

Start from Instagram, add the rest of your stack, and see everything your agents can call. Then put policy on all of it.

Free to start. No card required.

43 Instagram tools catalogued and risk-classified — across an index of 43,000+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.