LinkedIn MCP Server
"Let AI Assistants Work With LinkedIn" by John Rippy | johnrippy.link
🏆 2025 Zapier Automation Hero of the Year — Project Phoenix: A 95-step AI sales pipeline cutting development time by 50%. Read more →
---
AI-Powered LinkedIn Automation Through MCP
Model Context Protocol (MCP) is an open standard that lets AI assistants like Claude use external tools. This server exposes LinkedIn functionality to your AI assistant. What can you do with this?- Scrape LinkedIn profiles and posts through natural conversation
- Train AI voice models on writing styles
- Generate content that matches someone's voice
- Analyze post performance and suggest topics
- Search for people and companies
---
What is MCP?
MCP (Model Context Protocol) is a standardized way for AI assistants to use external tools. Instead of copying and pasting data, you can just ask Claude:
"Analyze my LinkedIn profile and tell me what topics I should write about"
Claude uses this MCP server to scrape your profile, analyze your posts, and give you actionable recommendations.
---
Available Tools
Profile Tools
Voice Training Tools
Content Tools
Search Tools
---
Quick Start Examples
Example 1: Scrape a Profile
{
"mode": "demo",
"tool": "scrape_profile",
"profileUrl": "https://www.linkedin.com/in/johnrippy/",
"maxPosts": 20
}
Example 2: Analyze Voice Style
{
"mode": "demo",
"tool": "analyze_voice",
"profileUrl": "https://www.linkedin.com/in/johnrippy/",
"saveProfile": true,
"profileName": "johnrippy-voice"
}
Example 3: Generate a Post in Someone's Voice
{
"mode": "demo",
"tool": "generate_post",
"voiceProfileId": "johnrippy-voice",
"topic": "Why I stopped checking email first thing in the morning",
"contentType": "text",
"includeHashtags": true
}
Example 4: Improve a Draft
{
"mode": "demo",
"tool": "improve_draft",
"voiceProfileId": "johnrippy-voice",
"draft": "Here are my thoughts on productivity...",
"feedback": "Make it more engaging with a stronger hook"
}
---
Setup with Claude Desktop
Option 1: Using Apify (Cloud)
Add to your Claude Desktop config (~/.config/claude/claude_desktop_config.json):
{
"mcpServers": {
"linkedin": {
"command": "npx",
"args": ["-y", "@anthropic-ai/model-context-protocol", "run", "apify-actor", "localhowl/linkedin-mcp-server"],
"env": {
"APIFY_TOKEN": "your-apify-token"
}
}
}
}
Option 2: Running Locally
{
"mcpServers": {
"linkedin": {
"command": "node",
"args": ["/path/to/linkedin-mcp-server/dist/main.js"],
"env": {
"LINKEDIN_COOKIES": "[...]",
"ANTHROPIC_API_KEY": "sk-ant-..."
}
}
}
}
---
Authentication
LinkedIn scraping requires authentication. Provide one of:
For AI features (voice training, post generation), provide:
- Claude API key (recommended)
- OpenAI API key (alternative)
---
Example Conversation with Claude
User: Can you analyze my LinkedIn voice and suggest some post topics?
Claude: I'll analyze your LinkedIn profile to understand your writing style.
[Uses scrape_posts tool]
[Uses analyze_voice tool]
Based on your posts, here's your voice profile:
- Tone: Professional but conversational
- Hooks: You often start with contrarian statements
- CTAs: You typically end with questions
- Signature phrases: "Here's the thing", "unpopular opinion"
Let me suggest some topics that match your style:
[Uses suggest_topics tool]
Here are 5 topic ideas:
1. "Why I stopped optimizing for likes" - matches your contrarian style
2. "The 5-minute habit that changed my morning" - fits your list format
3. "What nobody tells you about growing on LinkedIn"
4. "I deleted my content calendar. Here's what happened."
5. "The best career advice I ever ignored"
Want me to draft one of these?
---
Pay-Per-Event Pricing
You only pay for what you use.Cost Examples
---
Use Cases
Personal Branding
- Voice consistency: Maintain your unique voice across all posts
- Content ideation: Get topic suggestions based on your style
- Draft improvement: Polish drafts to match your voice
Ghostwriting
- Client voice training: Learn a client's writing style
- Authentic content: Generate posts that sound like them
- Quality control: Ensure drafts match the trained voice
Content Agencies
- Scale content creation: Generate drafts for multiple clients
- Consistency: Maintain unique voices across accounts
- Research: Analyze competitor content strategies
Lead Generation
- Profile research: Gather info on prospects
- Connection outreach: Research before connecting
- Content targeting: Find people engaging with relevant topics
---
API Integration
Using the Apify API (JavaScript)
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('localhowl/linkedin-mcp-server').call({
mode: 'demo',
tool: 'analyze_voice',
profileUrl: 'https://www.linkedin.com/in/johnrippy/'
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);
Using cURL
curl -X POST "https://api.apify.com/v2/acts/localhowl~linkedin-mcp-server/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"mode": "demo",
"tool": "scrape_profile",
"profileUrl": "https://www.linkedin.com/in/johnrippy/"
}'
---
Voice Profile Output
When you run analyze_voice, you get:
{
"voiceProfileId": "johnrippy-voice",
"profileUrl": "https://www.linkedin.com/in/johnrippy/",
"postsAnalyzed": 20,
"profile": {
"tone": "Professional but conversational",
"formality": 0.6,
"hookStyles": [
"Contrarian statements",
"Personal stories",
"Numbers/statistics"
],
"ctaStyles": [
"Questions to audience",
"Call to connect",
"Share your experience"
],
"signaturePhrases": [
"Here's the thing",
"Unpopular opinion",
"Let me explain"
],
"topicCategories": [
"Career advice",
"Productivity",
"LinkedIn growth"
],
"postLength": {
"average": 850,
"min": 400,
"max": 1200
},
"hashtagUsage": {
"average": 3,
"common": ["#productivity", "#career", "#growth"]
}
}
}
---
Limitations
- LinkedIn TOS: Use responsibly, respect rate limits
- Cookie expiry: LinkedIn cookies expire; refresh periodically
- AI accuracy: Generated content should be reviewed before posting
- Profile access: Can only scrape public profiles or connections
---
Support
- Email: john@johnrippy.link
🏆 2025 Zapier Automation Hero of the Year — Project Phoenix: A 95-step AI sales pipeline cutting development time by 50%. Read more →
- GitHub: Report issues on the repository
---
Built by John Rippy | johnrippy.link🏆 2025 Zapier Automation Hero of the Year — Project Phoenix: A 95-step AI sales pipeline cutting development time by 50%. Read more →
---
Keywords
linkedin mcp server, model context protocol, claude linkedin, ai linkedin integration, linkedin profile scraper, linkedin voice trainer, linkedin post generator, mcp tools, claude desktop, ai assistant tools, linkedin automation, content generation, ghostwriting ai, personal branding ai