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 freeClaude 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.
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 →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.