Postfield

MCP server

Give Claude (or any MCP client) the ability to brief accounts, queue content and read results. Two transports: an HTTP JSON-RPC endpoint at /api/mcp, and a stdio bridge in mcp/server.mjs for desktop clients.

Claude Code

claude mcp add postfield \
  -e POSTFIELD_API_KEY=pf_test_demo_summit_0000000000 \
  -e POSTFIELD_API_URL=http://localhost:3477 \
  -- node ./mcp/server.mjs

Claude Desktop

{
  "mcpServers": {
    "postfield": {
      "command": "node",
      "args": ["/absolute/path/to/human-posting/mcp/server.mjs"],
      "env": { "POSTFIELD_API_KEY": "pf_test_...", "POSTFIELD_API_URL": "http://localhost:3477" }
    }
  }
}

Tools

list_campaignsList your Postfield campaigns.
create_campaignCreate a draft campaign.
get_campaignCampaign details, accounts and headline stats.
add_accountAdd an account brief. Brand-affiliated bios must state the relationship.
add_contentAdd an approved video (by URL) with hook and caption. #ad is added automatically.
launch_campaignLaunch a draft campaign: creates account, warm-up, post and comment tasks for human posters.
list_tasksTask board for a campaign (status of every human task).
get_metricsViews, engagement, daily series, experiments and top posts.
get_usageCurrent billing period usage and invoice estimate.
hook_scoreScore a short-form video hook 0-100 with fixes.

Raw HTTP

curl -s localhost:3477/api/mcp -H "Authorization: Bearer $KEY" -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_usage","arguments":{}}}'

Status: stub. Stateless JSON-RPC (initialize, tools/list, tools/call, ping). Before launch, move to the official MCP SDK with Streamable HTTP and OAuth.