Productivity & Tools

How to Connect Publora MCP to Claude Code in 60 Seconds

Serge Bulaev

· Updated

How to Connect Publora MCP to Claude Code in 60 Seconds

TL;DR

Connect Publora to Claude Code with one CLI command and start scheduling social media posts from your terminal. Setup guide with 20 available MCP tools, real conversation examples, and troubleshooting tips.

What Is Claude Code MCP — and Why Connect It to Publora?

Claude Code is Anthropic's official CLI for their Claude AI. It runs in your terminal and can read files, write code, run commands, and — crucially — connect to external services via MCP (Model Context Protocol). Think of MCP as a plugin system for AI: you add an MCP server, and the AI gains new capabilities.

Publora is a social media management platform with its own MCP server at mcp.publora.com. When you connect the two, Claude Code becomes a full social media command center — you can schedule posts, engage on LinkedIn, check Mastodon and Bluesky stats, manage your content calendar, and cross-post to 10 platforms, all by typing natural language in your terminal.

Update: no API key needed

Since September 2026 Publora is in the Claude connectors directory, and Claude Code no longer needs an API key: run claude mcp add --transport http --scope user publora https://mcp.publora.com/mcp, then start Claude Code, run /mcp, select publora, choose Authenticate and sign in to Publora in the browser window that opens. The API-key setup below still works and is the right choice for CI or any machine that cannot open a browser.

What you'll learn in this guide:

  • How to add Publora as a Claude Code MCP server in one CLI command
  • The alternative config-file approach for team setups
  • All 20 MCP tools available to Claude Code via Publora
  • Real conversation examples: scheduling posts, checking analytics, managing your calendar
  • Troubleshooting common connection issues

60s

Setup time — one command is all you need

20

MCP tools — posts, media, account, stats, LinkedIn

10

Platforms — LinkedIn, Instagram, X, Telegram, and more

Prerequisites

Before you start, make sure you have:

  1. Claude Code installed — Anthropic's CLI. Install it via npm install -g @anthropic-ai/claude-code or follow Anthropic's docs.
  2. A Publora account — Sign up at app.publora.com if you don't have one yet.
  3. At least one connected social media account — Connect your LinkedIn, Instagram, X, or other platforms in the Publora dashboard under Channels.

Already using Claude Desktop or Cursor?

The Publora MCP server works with any MCP-compatible client. This guide focuses on Claude Code (CLI), but the MCP URL and API key are the same for all clients. In Claude Desktop (and Claude on the web or mobile) you need neither: install Publora from the Claude connectors directory and sign in. See the full client setup guide for Cursor, Windsurf, and other editors.

Step 1: Get Your Publora API Key

Skip this step if you sign in with OAuth (see the update at the top): a key is for CI and machines that can't open a browser. The API key authenticates your Claude Code sessions against your Publora workspace. Here's how to create one:

  1. Log in to app.publora.com
  2. Click API in the left sidebar (or open app.publora.com/dashboard/api)
  3. Click "+ Create New Key", name the key and click Create Key
  4. Copy the key — it starts with sk_

Save your API key securely

Your API key is shown only once when you create it. Copy it immediately and store it in a password manager or environment variable. If you lose it, you'll need to create a new one. Never commit API keys to version control.

# Store it as an environment variable (recommended)
export PUBLORA_API_KEY="sk_your_actual_key_here"

# Or add to your shell profile for persistence
echo 'export PUBLORA_API_KEY="sk_your_actual_key_here"' >> ~/.bashrc
source ~/.bashrc

Step 2: Add Publora MCP via the CLI (One Command)

With an API key, it's one command. Open your terminal and run:

claude mcp add --transport http --scope user publora \
  https://mcp.publora.com/mcp \
  --header "Authorization: Bearer sk_YOUR_API_KEY"

That's it. One command. Claude Code now has access to all 20 Publora tools. The MCP server is registered and will be available every time you start a Claude Code session.

What just happened?

The claude mcp add command registered Publora as an HTTP-based MCP server. Claude Code will now send tool calls to https://mcp.publora.com/mcp with your API key in the Authorization header. The --transport http flag tells Claude Code this is a remote server (not a local stdio process), and --scope user makes Publora available in every project, not just the current one.

If you stored your API key as an environment variable, you can reference it directly:

claude mcp add --transport http --scope user publora \
  https://mcp.publora.com/mcp \
  --header "Authorization: Bearer $PUBLORA_API_KEY"

Step 3 (Alternative): Add to ~/.claude.json Config

If you prefer editing config files — or need to share the setup across a team — you can add Publora directly to your Claude Code configuration file.

Open (or create) ~/.claude.json and add the mcpServers section:

{
  "mcpServers": {
    "publora": {
      "type": "http",
      "url": "https://mcp.publora.com/mcp",
      "headers": {
        "Authorization": "Bearer sk_YOUR_API_KEY"
      }
    }
  }
}

CLI Approach (Step 2)

Best for quick personal setup.

  • One command, done in seconds
  • No file editing required
  • Perfect for trying it out

Config File (Step 3)

Best for teams and version control.

  • Shareable across machines
  • Can be committed to repo (without the key)
  • Easy to manage multiple MCP servers

You can also add the MCP config to a project-level .mcp.json in your repository root. This way, every developer on the team gets Publora tools when they open the project in Claude Code — just make sure the API key is injected via environment variable, not hardcoded.

{
  "mcpServers": {
    "publora": {
      "type": "http",
      "url": "https://mcp.publora.com/mcp",
      "headers": {
        "Authorization": "Bearer ${PUBLORA_API_KEY}"
      }
    }
  }
}

Step 4: Verify the Connection

Open a new Claude Code session and ask it to list your connected platforms. If the MCP connection is working, Claude will call the list_connections tool and return your social accounts:

You: What social media accounts do I have connected in Publora?

Claude: I'll check your connected accounts using the Publora MCP server.

Calling tool: list_connections

You have 3 connected accounts:

1. LinkedIn — Serge Bulaev (linkedin-urn:li:person:abc123)
2. X (Twitter) — @sergeb (x-12345678)
3. Telegram — PubloraBot (telegram-bot-98765)

All connections are active and ready for posting.

If you see your accounts listed, the connection is working perfectly. You can also verify by running:

# Check registered MCP servers
claude mcp list

You should see publora listed with the URL https://mcp.publora.com/mcp and ✓ Connected (or ! Needs authentication until you run /mcp and choose Authenticate).

Connection not working?

If Claude says it doesn't have Publora tools, check: (1) you used --transport http, not stdio or sse; (2) if you use an API key, it starts with sk_; (3) you're running a recent version of Claude Code. See the troubleshooting section below for more.

All 20 Publora MCP Tools

When you connect Publora as an MCP server, Claude Code gains access to 20 tools organized into five categories. It also lists 12 company_* tools for Agency client work, which this guide doesn't cover. Here's what each one does:

Posts (5 tools)

create_post

Create and schedule a post to one or more platforms. Supports text, media, scheduling time, and platform-specific settings.

list_posts

List all posts with filters for status (draft, scheduled, published), platform, and date range.

get_post

Get full details of a specific post by ID, including content, status, platforms, and publishing results.

update_post

Update an existing post's content, scheduled time, or platforms before it's published.

delete_post

Delete a scheduled or draft post. Published posts cannot be deleted via the API.

Media (5 tools)

get_upload_url

Get a presigned URL for uploading images or videos to attach to a post.

complete_media

Finalize an upload once the file has been sent to the presigned URL, so the media is ready to schedule.

attach_media

Attach a file from a ChatGPT conversation to a draft post; Publora downloads and checks it.

delete_media

Remove one media file from a post, such as a duplicate or a failed upload.

prune_media_reference

Clear a stale media reference that blocks a post from being scheduled.

Account and Connections (2 tools)

account_context

Check your plan, features, publishing quotas and how far ahead you can schedule, before a batch of posts.

list_connections

List all connected social media accounts (LinkedIn, Instagram, X, Telegram, etc.) with their platform IDs and connection status.

Mastodon & Bluesky Statistics (2 tools)

post_stats

Get engagement counters for published Mastodon or Bluesky posts — reactions, comments, reposts, quotes, saves.

profile_stats

Get followers, following and post count for a connected Mastodon or Bluesky account.

LinkedIn Engagement (6 tools)

linkedin_create_reaction

React to a LinkedIn post (like, celebrate, support, love, insightful, funny).

linkedin_delete_reaction

Remove a reaction from a LinkedIn post.

linkedin_create_comment

Post a comment on a LinkedIn post from your connected profile.

linkedin_delete_comment

Delete a comment you've posted on LinkedIn.

linkedin_create_reshare

Reshare a LinkedIn post to your feed, optionally with your own commentary.

linkedin_list_mentionables

List people you can @mention, captured from engagement on your LinkedIn company pages (paid plans).

LinkedIn statistics (post and account analytics, followers, profile summary) and workspace user management are REST-API only; they are not exposed as MCP tools.

Real Examples: Claude Code + Publora in Action

Here's what it looks like to manage social media directly from your terminal. These are real workflows you can run once Publora is connected as an MCP server.

Schedule a LinkedIn Post

You: Schedule a LinkedIn post for tomorrow at 9am EST: "We just shipped our new API documentation. Check it out at docs.publora.com — built for developers who value clear, honest docs over marketing fluff."

Claude: I'll schedule that LinkedIn post for you.

Calling tool: list_connections
Calling tool: create_post

Done! Your LinkedIn post is scheduled:

Platform: LinkedIn (Serge Bulaev)
Scheduled: March 21, 2026 at 9:00 AM EST (14:00 UTC)
Post ID: pg_7f8a9b2c

The post will be published automatically at the scheduled time. You can view it in your Publora calendar.

Check Your Weekly Analytics

You: How did my Bluesky posts perform this week?

Claude: Let me pull your Bluesky stats for this week.

Calling tool: list_posts (filter: bluesky, published, last 7 days)
Calling tool: post_stats (4 posts)
Calling tool: profile_stats

Here's your weekly Bluesky summary:

Posts published: 4
Total likes: 180
Replies and reposts: 57 replies, 41 reposts
Top post: "Three things we learned shipping an MCP server..." — 135 likes, 23 reposts
Followers: 1,284

Your MCP post outperformed your average by 3x. Content about developer tools resonates well with your audience.

Statistics over MCP cover Mastodon and Bluesky and need a Pro or Premium plan. LinkedIn statistics are not exposed as MCP tools; they come from the REST API.

Manage Your Content Calendar

You: What do I have scheduled for the rest of this week?

Claude: Calling tool: list_posts (filter: scheduled)

You have 3 posts scheduled for the rest of this week:

1. Thu Mar 20, 2:00 PM UTC — LinkedIn
   "Quick thread on MCP best practices..."

2. Fri Mar 21, 9:00 AM UTC — LinkedIn + X
   "We just shipped our new API documentation..."

3. Fri Mar 21, 4:00 PM UTC — Telegram
   "Weekend reading: top 5 developer tools..."

Want me to reschedule any of these or add more posts?

Cross-Post to Multiple Platforms

You: Take my latest LinkedIn post and also post it to X and Telegram right now

Claude: Calling tool: list_posts (filter: published, limit: 1)
Calling tool: create_post

Done! I've cross-posted your latest LinkedIn content:

Original: "We just shipped our new API documentation..."
Published to: X (@sergeb) and Telegram (PubloraBot)
Status: Published immediately

Note: I kept the text identical. X has a 280-character limit — your post is 142 characters, so it fits perfectly.

React and Comment on LinkedIn

You: React with "insightful" to this LinkedIn post: https://linkedin.com/feed/update/urn:li:activity:7654321

Claude: Calling tool: linkedin_create_reaction

Done! I've added an "Insightful" reaction to that LinkedIn post on behalf of your connected profile (Serge Bulaev).

Troubleshooting Common Issues

Most setup issues fall into one of these categories:

"Claude doesn't recognize Publora tools"

Cause Fix
Wrong transport type Use --transport http (not stdio or sse)
Typo in the URL Use https://mcp.publora.com/mcp (the bare https://mcp.publora.com also works)
Old Claude Code version Run npm update -g @anthropic-ai/claude-code
MCP server not registered Run claude mcp list — "publora" should appear

"Authorization failed" or "Invalid API key"

# Verify your API key format — must start with sk_
echo $PUBLORA_API_KEY
# Expected: sk_abc123...

# Re-add the server with the correct key
claude mcp remove publora
claude mcp add --transport http --scope user publora \
  https://mcp.publora.com/mcp \
  --header "Authorization: Bearer sk_YOUR_CORRECT_KEY"

"Network error" or "Connection timeout"

# Test if the MCP server is reachable
curl -s https://mcp.publora.com/health
# Expected: {"status":"ok","service":"publora-mcp"}

# If you get a timeout, check your network/proxy settings
# Corporate firewalls may block outbound HTTPS to non-standard domains

"No connected platforms found"

This means the MCP connection works, but you haven't connected any social media accounts yet. Go to app.publora.com → Channels → Connect Channel to add your LinkedIn, Instagram, X, or other accounts via OAuth.

Quick diagnostic checklist

  • claude mcp list — shows "publora" with correct URL?
  • If you use an API key: it starts with sk_ and hasn't been revoked?
  • curl https://mcp.publora.com/health returns {"status":"ok","service":"publora-mcp"}?
  • At least one social account connected in app.publora.com → Channels?

Beyond the Basics: Power User Workflows

Once the MCP connection is set up, the real power comes from combining Publora tools with Claude Code's other capabilities. Here are some advanced workflows developers love:

Generate and Post from Your Codebase

You: Read the CHANGELOG.md, summarize today's release as a LinkedIn post, and schedule it for 10am tomorrow

Claude: Reading CHANGELOG.md...
Calling tool: create_post

Scheduled! Here's what I posted based on your changelog:

"v2.4.0 just shipped! Highlights:
- MCP server now supports streaming responses
- LinkedIn analytics: follower growth tracking
- 3x faster media upload pipeline

Full changelog: docs.publora.com/changelog"

Scheduled: Tomorrow at 10:00 AM EST on LinkedIn

Batch Content from a Spreadsheet

You: Read the file content-plan.csv and schedule all 5 posts to LinkedIn, one per day starting Monday at 9am

Claude: Reading content-plan.csv (5 rows)...
Calling tool: account_context
Calling tool: create_post (5 times)

All 5 posts scheduled on LinkedIn:

1. Mon Mar 23, 9:00 AM — "Why we chose Cloudflare Workers over..."
2. Tue Mar 24, 9:00 AM — "3 MCP patterns every developer should know..."
3. Wed Mar 25, 9:00 AM — "The hidden cost of social media silos..."
4. Thu Mar 26, 9:00 AM — "How we reduced publish latency by 80%..."
5. Fri Mar 27, 9:00 AM — "Week in review: what shipped this sprint..."

Your content calendar for next week is fully loaded.

Frequently Asked Questions

What is Claude Code MCP and how does it work with Publora?

Claude Code is Anthropic's CLI coding assistant that supports MCP (Model Context Protocol) servers. When you add Publora as an MCP server, Claude Code gains 20 social media management tools — it can create posts, schedule content, check Mastodon and Bluesky post stats, engage on LinkedIn, and manage your social calendar, all through natural language commands in your terminal. The MCP protocol is an open standard that lets AI assistants call external tools securely.

How do I add an MCP server to Claude Code?

Run: claude mcp add --transport http --scope user publora https://mcp.publora.com/mcp, then run /mcp and sign in to Publora in the browser window that opens — no API key needed. For CI or a machine that can't open a browser, add --header "Authorization: Bearer sk_YOUR_KEY" to the same command, or add the server manually to your ~/.claude.json config file under the mcpServers section.

Is the Publora MCP server free to use with Claude Code?

The Publora MCP server itself is free to connect. You need a Publora account (MCP access is included on every plan, including the free Starter plan) and a Claude Code subscription from Anthropic. The MCP connection between them has no additional cost.

What social media platforms can I manage through Claude Code with Publora MCP?

Through the Publora MCP server, Claude Code can manage posts on LinkedIn, Instagram, X (Twitter), Threads, Telegram, Facebook, TikTok, YouTube, Mastodon, and Bluesky. You can schedule, edit, and monitor posts across all connected platforms from your terminal. Connect accounts via OAuth in the Publora dashboard.

Can I use Publora MCP with other AI tools besides Claude Code?

Yes. Publora's MCP server works with any MCP-compatible client including Claude Code, Claude Desktop, Cursor, Windsurf, OpenClaw, and other AI agents that support the Model Context Protocol. The setup steps are similar for all clients — add the MCP server URL (https://mcp.publora.com/mcp) and complete the OAuth sign-in, or send your API key as a Bearer token. In Claude (web, desktop and mobile), just install Publora from the connectors directory. See the full client setup guide for instructions for each editor.

How many tools does the Publora MCP server expose to Claude Code?

Publora exposes 20 MCP tools across five categories: posts (create_post, list_posts, get_post, update_post, delete_post), media (get_upload_url, complete_media, attach_media, delete_media, prune_media_reference), account and connections (account_context, list_connections), Mastodon and Bluesky statistics (post_stats, profile_stats), and LinkedIn engagement (linkedin_create_reaction, linkedin_delete_reaction, linkedin_create_comment, linkedin_delete_comment, linkedin_create_reshare, linkedin_list_mentionables). It also lists 12 company_* tools for Agency client work. LinkedIn statistics and workspace user management are available through the REST API, not MCP.

What should I do if Claude Code cannot connect to the Publora MCP server?

If you connected with the browser sign-in, run /mcp, select publora and sign in again. If you use an API key, verify it is correct and starts with sk_. Then check that you used --transport http (not stdio or sse). Run claude mcp list to confirm the server is registered. If the connection still fails, test network access with curl https://mcp.publora.com/health — it should return {"status":"ok","service":"publora-mcp"}. Corporate firewalls may block the connection.

Can I schedule posts for specific times using Claude Code and Publora?

Yes. Just tell Claude Code when you want the post published in natural language — for example, "schedule a LinkedIn post for tomorrow at 9am EST". Claude will convert the time to UTC and pass the scheduledTime parameter to Publora's create_post tool automatically. You can also specify exact ISO 8601 timestamps if you prefer precision.

Ready to manage social media from your terminal?

Connect Publora to Claude Code in 60 seconds and start scheduling posts with natural language.

Get Started Free

Further Reading

Related Articles