For developers

LinkedIn from Claude Code and the terminal

One command to connect the MCP server, or a CLI for scripts and CI. Write the release note where you wrote the release.

Get an API key free

Claude Code, in one command

claude mcp add --transport http blabigo https://studio.blabigo.ai/api/mcp/linkedin

Claude Code runs OAuth discovery against the endpoint and opens a browser for you to approve. No key to create, copy or leave in a dotfile.

Why this is better here than anywhere else

Ship the release note from the PR that shipped the release

You are already in the terminal with the diff in context. Ask Claude Code to read the merged changes, write the post a customer would care about, and queue it — rather than switching to a browser and reconstructing from memory what you just built.

Post-mortem your own posting

Ask it to pull the last quarter's analytics and correlate against what you were shipping at the time. The data and the repository are both in reach of the same conversation, which is not true anywhere else.

Queue from CI, safely

A release job that queues a post is deterministic and belongs in CI, not in an agent. Pass a stable idempotency key so a retried build returns the original post instead of scheduling a second copy.

The CLI, for everything that should not need a conversation

Reporting, release automation and anything on a schedule are deterministic. They belong in a script.

Install and authenticate

npm install -g @blabigo/cli
blabigo auth login --key mcp_live_your_key_here

Stored at ~/.config/blabigo/config.json with owner-only permissions. In CI, skip the login and set BLABIGO_API_KEY as a secret instead.

Queue from a release job

blabigo posts create --account wla_123 \
  --at "$WHEN" \
  --file release-notes.md \
  --idempotency-key "release-$GITHUB_SHA"

The idempotency key is the important part. A posts create that times out and gets retried is the realistic way to double-post; a repeat with the same key returns the original post instead of creating a second one.

Pipe content in

cat announcement.md | blabigo posts create --account wla_123 --draft -

Exit codes

Distinct enough that a CI job can tell a bad argument from an expired credential without parsing output.

0
Success.
1
Request or server error.
2
Usage error — a malformed or missing argument.
3
Auth error: missing, invalid or insufficiently scoped credential. On a scope failure the CLI names the scope you are missing.

Every command accepts --json for machine-readable output, which also suppresses the confirmation prompt on posts cancel.

No escape hatch for developers

posts create requires either --at or --draft, with no default, and the CLI cannot publish immediately or delete a post — the same limits that bind an agent. We did not add a developer exception, because a script in a loop and an agent in a loop do the same thing to your feed.

The full limits →

Frequently asked questions

How do I use LinkedIn from Claude Code?
Run one command to add Blabigo's MCP server over HTTP transport, approve the OAuth flow in your browser, and the LinkedIn tools become available in your Claude Code session. From there you can ask it to read analytics, draft posts from the code you just wrote, and queue them.
Can I schedule LinkedIn posts from the terminal?
Yes, with the Blabigo CLI. Install it, authenticate once with an API key, and posts create, reschedule, cancel and the analytics commands are all available. Every command takes --json for machine-readable output, which also suppresses the confirmation prompt on cancel.
Can I post to LinkedIn from CI?
Yes. Skip the login step and set BLABIGO_API_KEY as a secret in the CI environment. Pass a stable --idempotency-key so a retried job returns the original post rather than queueing the same content twice — a timed-out request you retry is the realistic way to double-post, and the key is what prevents it.
Where does the CLI store my API key?
In a config file under XDG_CONFIG_HOME, defaulting to ~/.config/blabigo/config.json, written with owner-only permissions. auth status prints only the key's 18-character prefix, never the whole key. In CI, use the environment variable instead of writing a file.
Does the CLI use MCP or its own API?
Both, depending on how you invoke it. Normal commands call Blabigo's HTTP API. Running blabigo mcp turns the same binary into an MCP server that speaks the protocol on stdin and stdout, which is how clients that cannot reach a remote server or do not implement OAuth still get the full tool set.
Can a script publish to LinkedIn immediately?
No, and this is deliberate rather than an oversight. posts create requires either --at or --draft, with no default, and the minimum scheduling lead time is 60 seconds. The limits apply to the CLI exactly as they apply to agents and the web app — a runaway script and a runaway agent do the same damage, so they meet the same wall.

More on AI and LinkedIn

AI & Agents

The hub for everything Blabigo publishes about AI agents, the Model Context Protocol, and automating LinkedIn without handing over your feed.

Read more →

LinkedIn MCP server

The endpoint, all 13 tools, the three OAuth scopes, and the two ways to authenticate. Start here if you want the technical picture.

Read more →

Connect to Claude

A two-minute setup walkthrough for Claude Desktop, Claude Code and any config-file client — plus what to do when the connection fails.

Read more →

Scheduling with AI

The draft → review → queue loop, the prompts that make it work, and why an agent that queues beats an agent that publishes.

Read more →

Analytics for agents

Read-only access to impressions, clicks and engagement, so you can ask your assistant what actually worked instead of exporting spreadsheets.

Read more →

Agent guardrails

The written safety contract: no instant publish, no delete tool, hard server-side quotas, and an audit trail per credential.

Read more →

LinkedIn API alternative

Why LinkedIn's own API is hard to get, what you can and cannot do without partner access, and how to ship without waiting on an approval queue.

Read more →

MCP vs Zapier & n8n

Where trigger-action automation is the right tool, where a conversational agent is, and why the answer is usually both.

Read more →

Connect to ChatGPT

Custom connectors, what ChatGPT supports today, and the fallback path when your plan does not offer them.

Read more →

Connect to Gemini

One command in Gemini CLI, automatic OAuth discovery, and the settings.json form for anyone who prefers to edit it by hand.

Read more →

Stay in the terminal

Free account, an API key in a minute, one command to connect.

Start free

Blabigo is an independent product, not affiliated with, authorized by, endorsed by or sponsored by LinkedIn Corporation, Microsoft or Anthropic. “LinkedIn” and “Claude” are trademarks of their respective owners, used here descriptively to identify the services this software works with.