Posthell

Social media scheduler for AI agents: draft posts into a human-approved queue for 15 networks.

Should I use this

Quality & Safety

A
Description quality
93%
Schema completeness
80%
Naming quality
95%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'shape_post' description lacks action verbin shape_post

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~777Tokens (tool definitions)
~1.2 KBTypical response size
Moderate attention impact (0.61% 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": {
    "posthell": {
      "url": "https://www.posthell.com/api/mcp"
    }
  }
}

Remote endpoints

https://www.posthell.com/api/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡shape_post(notes)

Turn rough notes about what the user did (shipped a feature, fixed a bug, hit a number) into 2-3 finished social-post angles in the user's voice. Grounded only in the notes - never invents facts. Uses one AI generation from the user's monthly quota.

Input Schema

{
  "type": "object",
  "properties": {
    "notes": {
      "type": "string",
      "minLength": 8,
      "maxLength": 4000,
      "description": "Raw notes about what the user did. Rough is fine."
    }
  },
  "required": [
    "notes"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_draft(body, platforms, proposedTime)

Save a post as a DRAFT in the user's posthell queue. It is never published by this tool - the user approves it in the dashboard. Optionally propose a publish time (pre-fills their scheduler) and limit which platforms it targets (default: every connected account).

Input Schema

{
  "type": "object",
  "properties": {
    "body": {
      "type": "string",
      "minLength": 1,
      "maxLength": 5000,
      "description": "The post text"
    },
    "platforms": {
      "description": "Limit to these platforms (default: all connected accounts)",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "x",
          "linkedin",
          "instagram",
          "threads",
          "bluesky",
          "facebook",
          "tiktok",
          "youtube",
          "pinterest",
          "reddit",
          "telegram",
          "discord",
          "googlebusiness",
          "whatsapp"
        ]
      }
    },
    "proposedTime": {
      "description": "Suggested publish time, ISO 8601. Only a suggestion - pre-fills the user's scheduler.",
      "type": "string",
      "format": "date-time",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
    }
  },
  "required": [
    "body"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_posts(status, limit)

Read the user's recent posts and drafts with per-platform status. Published posts include engagement metrics (likes, comments, shares, engagementRate - impressions on plans with full analytics) once analytics have synced. Use it to avoid duplicating a topic AND to learn which topics performed before drafting the next post.

Input Schema

{
  "type": "object",
  "properties": {
    "status": {
      "description": "Filter by status (posted and published are synonyms)",
      "type": "string",
      "enum": [
        "draft",
        "scheduled",
        "posted",
        "published",
        "failed",
        "partly_posted"
      ]
    },
    "limit": {
      "description": "Max results (default 15)",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡get_growth

The user's follower counts and 7-day growth per connected network, plus which network is growing fastest. Use this to decide where a post matters most or to report progress.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools