{
  "$schema": "https://modelcontextprotocol.io/schema/mcp.json",
  "name": "PostMesh",
  "version": "1.0.0",
  "description": "The PostMesh MCP server lets an AI agent operate a PostMesh workspace on behalf of an authenticated user/team: discover network capabilities, list connected accounts, dry-run validate a post, and stage content as a draft or a future-scheduled post. The write tools never publish immediately.",
  "transport": {
    "type": "http",
    "endpoint": "/mcp/postmesh"
  },
  "authentication": {
    "type": "http",
    "scheme": "bearer",
    "description": "Use the same workspace-scoped Public API token (prefix frsk_). Send Authorization: Bearer frsk_…. The token scopes every tool call to one workspace; an active subscription and a plan with API access are required."
  },
  "documentation": "/developers",
  "tools": [
    {
      "name": "list_platforms",
      "title": "List supported social platforms",
      "description": "List the social networks PostMesh supports and their key capabilities and limits (supported post kinds, caption length, hashtag/mention caps, media, poll and thread rules)."
    },
    {
      "name": "list_accounts",
      "title": "List connected social accounts",
      "description": "List the connected social accounts the current team owns, with id, platform, handle, health status and whether each can currently publish. Never returns credentials."
    },
    {
      "name": "validate_post",
      "title": "Validate a proposed post",
      "description": "Dry-run validate a proposed post against each target account's network rules without saving anything. Returns per-account issues so you can fix blockers before drafting or scheduling."
    },
    {
      "name": "create_draft",
      "title": "Create a draft post",
      "description": "Save a proposed post as an editable draft for one or more connected accounts. Nothing is published or queued."
    },
    {
      "name": "schedule_post",
      "title": "Schedule a post for a future time",
      "description": "Schedule a post to publish to one or more connected accounts at a future time. A future scheduled_at is required — this tool never publishes immediately."
    }
  ]
}
