Skip to main content
Glama
Publer MCP Server

Publer MCP Server

Publer MCP Server

An MCP (Model Context Protocol) server that wraps the Publer social media scheduling API, letting you manage posts from Claude Code, Claude Desktop, OpenAI Codex CLI, and Gemini CLI.

Quick start

npm install
npm run setup   # interactive wizard

The wizard will:

  1. Ask for your Publer API token and validate it live

  2. Build the server (tsc)

  3. Let you pick which agents to configure

  4. Write the correct config file for each agent

Related MCP server: buffer-mcp

Getting your Publer API token

  1. Log in at https://publer.com/paweltkaczyk

  2. Profile → Settings → API

  3. Click Generate Token and copy the value

Manual installation

If you prefer to configure agents by hand, build first:

npm run build

Then add the following snippet to each agent's config file, replacing the values:

{
  "mcpServers": {
    "publer": {
      "command": "node",
      "args": ["/absolute/path/to/publer-mcp/dist/index.js"],
      "env": {
        "PUBLER_API_TOKEN": "YOUR_TOKEN_HERE"
      }
    }
  }
}

Config file locations

Agent

Config file

Claude Code

~/.claude/settings.json

Claude Desktop (macOS)

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

Claude Desktop (Windows)

%APPDATA%\Claude\claude_desktop_config.json

Claude Desktop (Linux)

~/.config/Claude/claude_desktop_config.json

OpenAI Codex CLI

~/.codex/config.json

Gemini CLI

~/.gemini/settings.json

Available tools

Tool

Description

get_current_user

Get the profile of the currently authenticated Publer user

list_workspaces

List all Publer workspaces the API token has access to

list_accounts

List all connected social media accounts in the current workspace

list_posts

List posts with optional filters (state, date range, etc.)

get_post

Retrieve a specific post by ID

update_post

Update an existing post's text, schedule, or media

schedule_post

Create a scheduled, draft, or recurring post across accounts

publish_post_now

Publish a post immediately across one or more accounts

delete_post

Delete a post by ID

get_post_insights

Get performance metrics for published posts

get_best_times

Get optimal posting times based on audience activity

list_media

List media assets in the workspace library

upload_media_file

Upload a local file to the media library

upload_media_from_url

Upload media from a public URL

get_job_status

Poll the status of an asynchronous job (e.g. post creation)

get_social_manager_instructions

Get high-level skill instructions and workflows

split_content_into_thread

Intelligently split long text for threads

validate_post

Check a post against platform constraints

manage_account_presets

List, create, or delete groups of accounts

schedule_posts_bulk

Schedule multiple posts in a single request

cleanup_media

Bulk delete media assets from the library

Advanced Features

  • Account Presets: You can group multiple social media account IDs into a single label (e.g., @product). Once created via manage_account_presets, you can use @label in any account_ids field.

  • Follow-up Comments: Tools like schedule_post and publish_post_now support a follow_up_text parameter. On platforms like X, Threads, and Mastodon, this automatically creates a thread. On Facebook and LinkedIn, it adds a comment.

  • Social Manager Skill: This repository includes specialized agent instructions for handling platform-specific character limits, intelligent thread splitting, and optimal posting time selection.

    • Gemini CLI: Install as a native skill via npm run setup.

    • Claude Code: Setup automatically installs these as a native skill to .claude/skills/publer-social-manager/.

    • All Agents: Can access instructions by calling the get_social_manager_instructions tool.

Development

npm run dev      # run with tsx (no build step)
npm run build    # compile to dist/
npm run setup    # re-run the wizard (e.g. to rotate token or add agents)

Available Tools

24 tools
cleanup_mediaC

Bulk delete media assets

Inputs: media_ids (required).

delete_postB

Delete a post by ID

Inputs: post_id (required).

get_best_timesC

Get a heatmap of optimal posting times

Inputs: account_id.

get_current_userA

Get the profile of the currently authenticated Publer user

Inputs: no named parameters.

get_job_statusC

Check the status of an asynchronous Publer job

Inputs: job_id (required).

get_platform_infoA

Get combined information about all connected platforms and their limits

Inputs: no named parameters.

get_postB

Retrieve a specific post by ID

Inputs: post_id (required).

get_post_insightsC

Get detailed performance metrics

Inputs: to (required), from (required), account_id.

get_social_manager_instructionsB

Get high-level instructions and best practices

Inputs: no named parameters.

list_accountsA

List all connected social media accounts in the current workspace

Inputs: provider, capability.

list_labelsA

List all labels defined in the workspace

Inputs: no named parameters.

list_mediaC

List media assets

Inputs: ids, page, used, types, +2 more.

list_postsC

List posts with optional filters

Inputs: to, from, page, query, +5 more.

list_workspacesA

List all Publer workspaces the API token has access to

Inputs: no named parameters.

manage_account_presetsC

Manage reusable groups of social accounts

Inputs: action (required), name, account_ids.

publish_post_nowC

Publish a post immediately (supports auto_adapt threading)

Inputs: text (required), account_ids (required), networks, media_ids, +2 more.

publish_with_mediaB

Convenience: Upload media from URLs and publish in one step

Inputs: text (required), media_urls (required), account_ids (required), auto_adapt, +1 more.

schedule_postC

Create a scheduled post (supports auto_adapt threading)

Inputs: text (required), account_ids (required), state, networks, +4 more.

schedule_posts_bulkB

Schedule multiple posts at once

Inputs: posts (required).

split_content_into_threadD

Split long text into a thread

Inputs: text (required), platform (required), includeNumbering.

update_postC

Update an existing post

Inputs: post_id (required), text, label_ids, media_ids, +2 more.

upload_media_fileD

Upload a local file

Inputs: file_path (required), in_library, direct_upload.

upload_media_from_urlC

Upload media from URLs

Inputs: media (required), in_library, direct_upload.

validate_postC

Sanity check a post against platform constraints

Inputs: text (required), platform (required), media_count, media_types.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 24 tools

    Disambiguation4/5

    Most tools have clearly distinct purposes. Some slight overlap exists between schedule_post and schedule_posts_bulk (single vs bulk), and publish_with_media is a convenience wrapper that could be confused with upload+schedule workflows, but descriptions generally clarify these boundaries.

    Naming Consistency5/5

    All tool names follow a consistent snake_case verb_noun pattern (e.g., get_post, list_media, upload_media_from_url). The naming is predictable and makes the action and target resource clear across the entire set.

    Tool Count4/5

    At 24 tools, this is slightly above the 'typically 3-15' sweet spot but still reasonable for a comprehensive social media management server covering posts, media, accounts, presets, analytics, and utilities. No tool feels entirely redundant.

    Completeness5/5

    The tool surface covers the full post lifecycle (create/schedule/publish, read, update, delete), media management (upload, list, delete), account and workspace management, plus supporting analytics and validation features. No critical gaps are apparent.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      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.
      15
      37 npm
      22
      MIT
    • F
      license
      A
      quality
      D
      maintenance
      Enables managing Buffer social media posts via Claude, including creating, scheduling, and viewing posts across connected accounts through Buffer's GraphQL API.
      7
      4
      -
    • A
      license
      A
      quality
      C
      maintenance
      Enables AI agents to create, schedule, and publish social media posts across Instagram, X/Twitter, LinkedIn, Threads, Facebook, and other platforms via the PosteAhora API.
      15
      20 npm
      MIT