publer-mcp-server

publer-mcp-server

MCP server for Publer social media management API, enabling AI assistants to schedule posts, upload media, pull analytics, and manage accounts across 15+ social networks.

Category
Visit Server

README

Publer MCP Server

An open-source Model Context Protocol (MCP) server for the Publer social media management API.

Schedule posts, upload media, pull analytics, and manage accounts across 15+ social networks — all from your AI assistant.

Created by Kess Media

Features

  • 14 tools covering the full Publer API
  • Create, schedule, publish, update, and delete posts
  • Upload media via URL (perfect for Dropbox/cloud storage integration)
  • Browse and search media library
  • Analytics: charts, post insights, hashtag analysis, best times to post
  • Multi-account posting across Facebook, Instagram, X, LinkedIn, TikTok, YouTube, Bluesky, and more
  • Async job polling for post creation and media uploads

Requirements

Quick Start

Claude Desktop App / Claude Code Desktop (Mac)

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "publer": {
      "command": "npx",
      "args": ["-y", "publer-mcp-server"],
      "env": {
        "PUBLER_API_KEY": "your-api-key-here",
        "PUBLER_WORKSPACE_ID": "your-workspace-id-here"
      }
    }
  }
}

Restart the app — Publer will appear under Connectors → Desktop.

Claude Code (CLI)

Add to ~/.claude/mcp.json:

{
  "mcpServers": {
    "publer": {
      "command": "npx",
      "args": ["-y", "publer-mcp-server"],
      "env": {
        "PUBLER_API_KEY": "your-api-key-here",
        "PUBLER_WORKSPACE_ID": "your-workspace-id-here"
      }
    }
  }
}

Or via the CLI:

claude mcp add publer -- npx -y publer-mcp-server \
  --env PUBLER_API_KEY=your-key \
  --env PUBLER_WORKSPACE_ID=your-workspace-id

Cloudflare Worker (Remote — No Local Install)

Deploy as a Cloudflare Worker and connect from any Claude interface without installing anything locally. One deployment, multiple users.

Deploy:

git clone https://github.com/alexkess/publer-mcp-server.git
cd publer-mcp-server/worker
npm install
npx wrangler deploy
npx wrangler secret put PUBLER_API_KEY
npx wrangler secret put PUBLER_WORKSPACE_ID

Your server is now live at https://publer-mcp.<your-subdomain>.workers.dev/mcp.

Connect from Claude Code (~/.claude/mcp.json):

{
  "mcpServers": {
    "publer": {
      "type": "http",
      "url": "https://publer-mcp.<your-subdomain>.workers.dev/mcp"
    }
  }
}

Connect from Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

The Desktop app's Connectors UI doesn't support custom HTTP MCP servers directly. Use the Claude Code config above, or add the URL via the custom connector flow in Settings → Connectors → +.

Security note: The Worker URL acts as your access credential — keep it private. Each user deploys their own Worker with their own Publer API key, so there's no shared access risk.

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "publer": {
      "command": "npx",
      "args": ["-y", "publer-mcp-server"],
      "env": {
        "PUBLER_API_KEY": "your-api-key-here",
        "PUBLER_WORKSPACE_ID": "your-workspace-id-here"
      }
    }
  }
}

Environment Variables

Variable Required Description
PUBLER_API_KEY Yes Your Publer API key
PUBLER_WORKSPACE_ID Yes Your Publer workspace ID

Finding Your Workspace ID

Option 1: From the API

curl -H "Authorization: Bearer-API YOUR_API_KEY" https://app.publer.com/api/v1/me

Your workspace IDs are in the workspaces array in the response.

Option 2: From the Publer URL

Log in to Publer, open your browser's developer tools (F12), go to the Network tab, and look for any API request — the Publer-Workspace-Id header shows your workspace ID.

Available Tools

Account Management

Tool Description
publer_get_me Get current authenticated user profile
publer_list_workspaces List all workspaces
publer_list_accounts List all connected social accounts

Posts

Tool Description
publer_list_posts List and filter posts by state, date, type, account, or search
publer_create_post Create and schedule a post (text, photo, video, carousel, etc.)
publer_publish_post_now Publish a post immediately
publer_update_post Update an existing post
publer_delete_post Delete a post

Media

Tool Description
publer_upload_media_from_url Import media from a URL (Dropbox, cloud storage, etc.)
publer_list_media Browse and search the media library

Jobs

Tool Description
publer_get_job_status Poll async job status (post creation, media upload)

Analytics

Tool Description
publer_get_analytics Get analytics charts (followers, reach, engagement)
publer_get_post_insights Get per-post performance metrics
publer_get_hashtag_analysis Analyse hashtag performance
publer_get_best_times Get best times to post heatmap

Example Workflows

Schedule a photo post

"Upload this image from my Dropbox to Publer, then schedule it 
to my Alex Kess Bluesky account for Thursday at 10am AEST 
with the caption 'Cronulla from above.'"

The AI assistant will:

  1. Call publer_upload_media_from_url with the Dropbox link
  2. Poll publer_get_job_status until the upload completes
  3. Call publer_create_post with the media ID, caption, account ID, and scheduled time

Check post performance

"How did my posts perform last week on Instagram?"

The AI assistant will:

  1. Call publer_list_accounts to find the Instagram account ID
  2. Call publer_get_post_insights with the date range
  3. Present the results

Development

git clone https://github.com/alexkess/publer-mcp-server.git
cd publer-mcp-server
npm install
npm run build

Run locally

PUBLER_API_KEY=your-key PUBLER_WORKSPACE_ID=your-id npm start

Supported Networks

Facebook, Instagram, X (Twitter), LinkedIn, Pinterest, YouTube, TikTok, Google Business Profile, WordPress, Telegram, Mastodon, Threads, Bluesky.

License

MIT — see LICENSE

Contributing

PRs welcome! This is an open-source project by Kess Media.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured