postcache

Public, short-lived media URLs for agents posting to Instagram, Threads and Facebook.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
88%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~671Tokens (tool definitions)
~1.4 KBTypical response size
Moderate attention impact (0.52% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "postcache": {
      "url": "https://postcache.dev/mcp"
    }
  }
}

Remote endpoints

https://postcache.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🔴upload_media(target, source_url, data_base64, filename, ttl, ...)

Upload an image or video for a social platform. Returns a public URL that passes the platform media rules, or the problems with fixes. With convert, a fixable file comes back as status "converting": poll get_media until status is "ready" (url set) or "failed". Give the URL to the platform API (image_url / video_url), then call delete_media.

Input Schema

{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "enum": [
        "instagram.feed",
        "instagram.carousel",
        "instagram.reels",
        "instagram.story",
        "threads",
        "facebook.page"
      ],
      "description": "Platform the file is for."
    },
    "source_url": {
      "description": "Public http(s) URL to fetch the file from.",
      "type": "string",
      "format": "uri"
    },
    "data_base64": {
      "description": "The file, base64-encoded (max 10 MB). Use source_url for larger files.",
      "type": "string",
      "maxLength": 13400000
    },
    "filename": {
      "type": "string"
    },
    "ttl": {
      "description": "Seconds the URL stays valid, 3600-604800, default 86400.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "convert": {
      "description": "Fix what fails the platform rules by cropping or padding and re-encoding.",
      "type": "string",
      "enum": [
        "crop",
        "pad"
      ]
    }
  },
  "required": [
    "target"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢check_media(target, source_url, data_base64, filename, ttl, ...)

Check a file against a platform without storing it. With convert, also says whether conversion can fix it.

Input Schema

{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "enum": [
        "instagram.feed",
        "instagram.carousel",
        "instagram.reels",
        "instagram.story",
        "threads",
        "facebook.page"
      ],
      "description": "Platform the file is for."
    },
    "source_url": {
      "description": "Public http(s) URL to fetch the file from.",
      "type": "string",
      "format": "uri"
    },
    "data_base64": {
      "description": "The file, base64-encoded (max 10 MB). Use source_url for larger files.",
      "type": "string",
      "maxLength": 13400000
    },
    "filename": {
      "type": "string"
    },
    "ttl": {
      "description": "Seconds the URL stays valid, 3600-604800, default 86400.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "convert": {
      "description": "Fix what fails the platform rules by cropping or padding and re-encoding.",
      "type": "string",
      "enum": [
        "crop",
        "pad"
      ]
    }
  },
  "required": [
    "target"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_media(id)

Status (converting, ready, failed), URL, expiry and fetch count of an uploaded file.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴delete_media(id)

Delete an uploaded file now (call after the post is published).

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools