LinkedIn MCP Server - AI Assistant
Pricing
from $0.01 / 1,000 results
LinkedIn MCP Server - AI Assistant
Model Context Protocol server for LinkedIn automation. Enable AI assistants to search profiles, send messages & manage connections programmatically.
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer
The Howlers
Maintained by CommunityActor stats
2
Bookmarked
17
Total users
0
Monthly active users
12 minutes ago
Last modified
Categories
Share
LinkedIn MCP Server
MCP server for LinkedIn. It lets AI assistants like Claude scrape profiles and posts, build a voice profile from someone's posts, and write or improve posts in that voice. Scraping and AI work are delegated to dedicated LinkedIn actors (profile scraper, post scraper, voice trainer).
BYOK (Bring Your Own Key): real data needs your own LinkedIn cookies, and the AI tools need your own Claude or OpenAI API key.
How it runs
- On Apify: each run executes one tool (the
toolinput) withtoolArguments, writes one result row to the dataset, and exits. - Locally (Claude Desktop or any MCP client):
node dist/main.jsstarts an MCP server over stdio. Credentials can come from tool arguments or theLINKEDIN_COOKIES,ANTHROPIC_API_KEYandOPENAI_API_KEYenvironment variables.
Live mode never returns sample data. If cookies or keys are missing, or a scrape fails, you get a result row with success: false, an error message and an errorType, and nothing is charged for that tool call.
Quick start
See the available tools (free)
{"tool": "list_tools"}
Scrape a profile
{"tool": "scrape_profile","toolArguments": { "profileUrl": "https://www.linkedin.com/in/someone/", "maxPosts": 20 },"linkedinCookies": "[{\"name\":\"li_at\",\"value\":\"...\"}]"}
Build a voice profile and write a post
- Run
analyze_voicewithtoolArguments{"profileUrl": "..."}(needs cookies) or{"posts": [...]}, plusclaudeApiKeyoropenaiApiKey. - Run
generate_postwith{"topic": "...", "voiceProfile": <the voiceProfile from step 1>}and the same AI key.
Sample output
Set demoMode to true to get labeled sample output (isSample: true) for any tool. Sample output is never charged.
Tools
| Tool | Needs | Notes |
|---|---|---|
list_tools | nothing | Tool catalog with input schemas |
scrape_profile | cookies | Profile details and recent posts |
scrape_posts | cookies | Posts by profileUrl, hashtag or keyword |
analyze_voice | AI key (+ cookies with profileUrl) | Returns a voiceProfile object |
generate_post | AI key + voiceProfile | Post in that voice |
improve_draft | AI key + voiceProfile | Improved draft |
suggest_topics | AI key + voiceProfile | Topic ideas |
analyze_performance | posts, or profileUrl + cookies | Engagement summary and recommendations |
search_people | Not supported yet (returns an error) | |
get_voice_profile, list_voice_profiles | Not supported yet: voice profiles are not stored between runs. Pass the voiceProfile object instead |
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
tool | string | list_tools | Tool to run once on Apify |
toolArguments | object | {} | Arguments for that tool |
linkedinCookies | string | JSON array of LinkedIn cookies (must include li_at) | |
linkedinEmail / linkedinPassword | string | Alternative to cookies, passed to the scraper actors | |
claudeApiKey / openaiApiKey | string | AI key for the voice and writing tools | |
demoMode | boolean | false | Labeled sample output, never charged |
webhookUrl | string | Receives the result row via POST | |
mode | string | stdio | Legacy. demo behaves like Demo Mode |
Pricing
Pay per event:
| Event | When it is charged | Price |
|---|---|---|
| Profile Searched | Once per tool call that returned real LinkedIn profile or post data: scrape_profile, scrape_posts, and analyze_voice or analyze_performance when they scrape a profileUrl | $0.05 |
Apify also applies its standard actor start and per-result platform events listed on the pricing tab. Sample output, errors, list_tools and the AI-only tools do not charge Profile Searched.
The delegated actors (LinkedIn Profile Scraper, LinkedIn Post Scraper, LinkedIn Voice Trainer) run in your Apify account and bill their own events.
Troubleshooting
MISSING_LINKEDIN_COOKIES: addlinkedinCookies, or setdemoModetotruefor sample output.MISSING_AI_KEY: addclaudeApiKeyoropenaiApiKey.DELEGATE_RETURNED_SAMPLEorNO_RESULTS: the scraper could not log in or found nothing. Export fresh cookies and try again.DELEGATE_TIMEOUT: the delegated scrape took longer than 5 minutes and was stopped. Try fewer posts.
Built by John Rippy | Actor Arsenal
