MCP server for social media post management via Claude Desktop. Provides tools to create, update, schedule, and manage social media posts across Instagram and LinkedIn with approval workflows.
Social Planner MCP demonstrates solid tool design with clear verb-based naming (list_, get_, create_, update_, schedule_, submit_), comprehensive parameter schemas using JSON Schema with types and enums, and consistent descriptions. All 7 tools have descriptions (avg ~100 chars) and input schemas with typed parameters. Pagination support (limit/offset) on list_posts is present. However, output schemas are not documented in the source code provided, error handling guidance is absent, and parameter descriptions lack actionable constraints (e.g., 'ISO 8601 datetime' is stated but no guidance on timezone handling or validation). No tool annotations (readOnlyHint/destructiveHint) are visible. The tool composition is clean, each tool has one responsibility, but responses lack documented field mappings for chaining (e.g., what fields does create_post return to enable schedule_post?).
Create a new post draft. The post will be saved as a DRAFT and can later be scheduled or submitted for approval.
Get detailed information about a specific post including its content, channels, and scheduling.
List connected social media accounts (channels) that can be used for publishing.
List posts with optional filtering by status. Returns summaries of posts you have access to.
Set a proposed publish date on a draft post and attach channels. The post remains a DRAFT and will appear on the calendar at the proposed date. The user can then review and manually schedule it in the web interface.
Submit a draft post for approval review. Only posts in DRAFT status can be submitted.
Output schemas not documented. No visible documentation of what fields create_post, update_post, schedule_post, or submit_for_approval return. LLMs cannot plan downstream tool calls (e.g., what ID to pass to schedule_post after create_post?) without knowing response structure.
No error handling guidance. Tools lack descriptions of failure modes, recovery steps, or actionable error messages. E.g., schedule_post with invalid scheduledAt format will fail, but no guidance on what format is required or how to retry.
Parameter constraints lack actionable detail. 'ISO 8601 datetime' is stated for scheduledAt but no guidance on timezone handling, past-date rejection, or minimum lead time. LLMs will guess and fail.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 67 | 2026-07-28+ | v2 |
Update an existing draft post. Only posts in DRAFT or REJECTED status can be updated.
No tool annotations visible. Tools lack readOnlyHint (list_posts, get_post, list_channels) and destructiveHint (submit_for_approval). Agents cannot distinguish safe reads from state-changing operations without explicit hints.
Dependency hints missing. No guidance that schedule_post requires a valid postId from create_post or get_post, or that channelIds in create_post must come from list_channels. Multi-step workflows are underdocumented.