LinkedIn Growth MCP
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
LinkedIn Growth MCP
A self-hosted MCP server and autopilot that helps one person grow their own LinkedIn account with useful, honest posts: it drafts in the owner's voice, checks every post with deterministic gates, publishes through the official LinkedIn API, then measures what worked and adjusts.
It was built by a business analyst for their own account, as a practical project in data pipelines, experiment design and guarded automation. It is a personal tool, not a growth hack or a posting farm.
Quality over quantity. Every claim in a post must trace to a fact the owner supplied. Numbers that are not in the fact pack block the post. Nothing is invented.
What it does
Area | What happens |
Drafting | Gemini drafts in a chosen style and hook (6 styles x 4 hooks), using the owner's voice fingerprint, past results and a fact pack ("story bank"). |
Gates (no model calls) | Form and safety checks: length, links, hashtags, dashes, advice wording; off-limits terms; every number must appear in the verified facts; a regex AI-tell lint is logged as a soft score. |
Editor | A second model pass scores the draft out of 10 and rewrites once below the bar. |
Publishing | Official LinkedIn API only. Posts go out on weekdays at a slot assigned by the time test. An owner can also schedule one exact draft ( |
Measurement | Hourly analytics snapshots (read-only browser), 72-hour readings, audience and follower tracking, comment-quality analysis. All data is kept append-only. |
Learning | A Thompson-sampling bandit shifts style and hook choice toward what earns reach. A concurrent format (short vs long) and posting-slot (9, 13, 18 IST) trial decides timing with a permutation test and a status-quo-wins rule. |
Topic mix | A weekly mix across IPO analysis, tools, work stories and a career series, steered by results with a 30-day floor. A weekly idea fill proposes new, validated backlog ideas. |
IPO posts | Facts are extracted from the filing (RHP), compared with the closest peer, and ranked by a 0 to 10 quality score. At most 2 IPO posts a week, best first. Education only, never buy/sell advice. |
Dashboard | A local health page (port 8790) with checks, recent posts, jobs and a Veto/Restore list for backlog ideas. |
Related MCP server: linkedin-mcp
Architecture
+-------------------+ +------------------+
MCP client | server.py (tools)| | dashboard.py |
(Claude)-->| FastMCP, ~60 | | stdlib, :8790 |
+---------+---------+ +--------+---------+
| |
+-------v-------+ APScheduler | read-only
| service.py |<--- hourly / cron | (+ idea veto)
+---+-------+---+ |
| | +------v------+
+---------v-+ +-v-----------+ | SQLite |
| autopilot | | strategy/ | | data/growth |
| (decides) | | gates, bandit, experiments, |
+-----+-----+ | topics, hooks, aitells, ... |
| +-----------------+---------------+
+----------+----------+ |
| | | +------v------+
Gemini LinkedIn API Patchright | store/db.py |
(draft, (publish) (read-only +-------------+
editor) analytics)More detail in docs/ARCHITECTURE.md. The editorial and safety rules live in RULEBOOK.md.
Safety and honesty rules
Approval-gated by default. Publishing needs an explicit confirm, or the owner has switched the autopilot to live mode.
No invented numbers.
strategy/gates.pyrejects any figure missing from the supplied facts (small integers, years, and values derivable from the facts are allowed).Off-limits terms are enforced in code, not just in the prompt.
Own account only. Browser access is read-only and capped per day. Automated access can violate LinkedIn's terms and risk account restriction, so use it on your own account at your own risk.
No financial advice. IPO posts are analysis for education and carry a disclaimer.
Nothing is deleted. Metrics, analyses and ideas are append-only; "vetoed" ideas are only marked dropped.
Setup
Requirements: Python 3.11+, uv, a Gemini API key, a LinkedIn developer app (the "Share on LinkedIn" product).
git clone https://github.com/21BPS1591/linkedin-growth-mcp
cd linkedin-growth-mcp
cp .env.example .env # fill in keys; see the comments in the file
uv sync
uv run patchright install chromium
uv run -m linkedin_growth_mcp --login # sign in once (read-only browser)
uv run -m linkedin_growth_mcp --authorize-linkedin # one-time posting authorizationRun the server (HTTP needs MCP_AUTH_TOKEN):
uv run -m linkedin_growth_mcp --transport http --host 127.0.0.1 --port 8000On Windows, install-autostart.ps1 registers a hidden scheduled task that starts the server at login and restarts it if it stops. dashboard.cmd opens the dashboard.
Typical flow
sync_profile -> save_interests -> save_story_bank / save_voice_samples -> propose_post -> review -> approve_and_publish, or let the autopilot run. Useful tools: autopilot_status, experiment_status, hook_report, reply_queue, profile_scorecard, schedule_publish.
Tests
uv run pytestAbout 140 tests cover the gates, bandit, experiment statistics, topic mix, IPO ranking, scheduling and tracking.
Project layout
src/linkedin_growth_mcp/
server.py MCP tools and scheduler jobs
service.py facade behind every tool
autopilot.py the daily decision loop
gemini/ text and image calls, per-job key and quota guards
linkedin/ publishing, analytics, profile, browser (read-only)
ipo/ filing extraction, peer comparison, market data
strategy/ gates, bandit, experiments, topics, hooks, voice, lints
store/ SQLite schema and queries
tests/ pytest suite
dashboard.py local health dashboard
RULEBOOK.md editorial and safety rulesLicense
MIT. See LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Draft LinkedIn posts in your voice, then schedule or publish them through LinkedIn's official API.
Draft, reshape and schedule LinkedIn posts in the writer's own voice, not a generic AI one.
Write LinkedIn posts in your voice: ideas, drafts, scheduling, analytics from your personal AI.
Write, schedule and publish LinkedIn posts in your own voice with the VNC method. Paid plan.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceLinkedIn-native AI content creation, scheduling & analytics. Write and post on LinkedIn, create drafts, generate hooks & hashtags, schedule posts, and track engagement — all through natural language.25 npmMIT
- AlicenseAqualityCmaintenanceEnables AI agents to publish posts, images, comments, and reactions to LinkedIn as the authenticated user, with built-in safety features like daily budgets and deduplication.917 npm1Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables agents to publish posts to your own LinkedIn feed, with a linter that blocks machine-written tells like em-dashes.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to audit professional profiles, check policy compliance, preview posts, and publish explicitly confirmed text posts through LinkedIn's official API.MIT