linkedin-marketing-mcp
This server automates LinkedIn B2B marketing tasks, offering free profile/company research tools and premium AI-powered features via DeepSeek.
Free Tools (No API Key Required)
search_public_profiles— Search LinkedIn public profiles by keyword (e.g., "AI engineer") with an optional industry filter; returns profile names, headlines, and companies.analyze_company— Analyze a LinkedIn company page by name; returns employee count, industry, and description.draft_connection_request— Generate a template-based connection request by specifying the target role, your purpose, and optionally your name and company.
Premium Tools (Requires DeepSeek API Key)
optimize_linkedin_post— AI-optimize a LinkedIn post draft for maximum engagement with a specified target audience, including improved hooks, hashtags, and posting time suggestions.generate_prospecting_list— AI-generate a list of up to 20 prospects based on your Ideal Customer Profile (ICP) description, complete with outreach angles.
Use cases: Finding potential customers, researching companies, drafting non-salesy connection requests, optimizing posts, and building prospect lists.
Allows searching for LinkedIn public profiles via Google Search, returning profile names, headlines, and company information.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@linkedin-marketing-mcpsearch for AI engineers on LinkedIn"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
LinkedIn Marketing MCP v1.0.0
Free MCP server to automate LinkedIn B2B marketing — search profiles, draft connection requests, analyze companies. Premium features powered by DeepSeek AI.
🚀 Quick Start (FREE, no API key needed)
# Install
npm install -g linkedin-marketing-mcp
# Add to your MCP client (e.g., Cline, Claude Desktop)
# No API key needed for FREE features!
node /path/to/linkedin-marketing-mcp/index.jsThat's it! Start using these FREE tools immediately:
search_public_profiles— Find LinkedIn profiles by keyword (via Google search)analyze_company— Analyze a LinkedIn company page (public data)draft_connection_request— Template-based connection request drafts
Related MCP server: LinkedIn MCP Server
🔧 FREE Features (no API key)
Tool | What it does | No API key? |
| Search for LinkedIn profiles (via Google) | ✅ Works immediately |
| Analyze company page (public data) | ✅ Works immediately |
| Draft a connection request (template) | ✅ Works immediately |
💎 PREMIUM Features (requires DeepSeek API key)
Set DEEPSEEK_API_KEY in your .env file to unlock:
Tool | What it does | Why it's worth paying for |
| AI-optimizes your LinkedIn post for max engagement | 10x more engagement |
| AI generates a prospect list based on your ICP | Save 10+ hours/week |
| AI-personalized connection requests | 3x higher acceptance rate |
Get a DeepSeek API key: https://platform.deepseek.com (cheap, ~$0.14/1M tokens)
📦 Installation
For MCP Client Users (Claude Desktop, Cline, etc.)
Add to your MCP client config:
{
"mcpServers": {
"linkedin-marketing": {
"command": "node",
"args": ["/path/to/linkedin-marketing-mcp/index.js"],
"env": {
"DEEPSEEK_API_KEY": "sk-xxx" // Optional, for premium features
}
}
}
}For Developers
git clone https://github.com/1036007003-wq/linkedin-marketing-mcp.git
cd linkedin-marketing-mcp
npm install
node index.js🎯 Use Cases
1. Find potential customers on LinkedIn
Use `search_public_profiles` with keyword "AI engineer"
→ Returns: Google search query to find AI engineers on LinkedIn2. Research a target company
Use `analyze_company` with company name "OpenAI"
→ Returns: Checklist to analyze OpenAI's LinkedIn company page3. Draft a non-salesy connection request
Use `draft_connection_request`
→ Returns: Template-based message (or AI draft with DeepSeek)4. (Premium) Optimize your LinkedIn post
Use `optimize_linkedin_post`
→ Returns: AI-optimized post (hook, hashtags, best posting time)5. (Premium) Generate a prospecting list
Use `generate_prospecting_list` with ICP description
→ Returns: AI-generated list of 10 prospects with outreach angles🌏 For China Users (中国用户)
# If you can't access LinkedIn directly:
# 1. Set proxy
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890
# 2. Or use a China-friendly API proxy
# (We recommend setting up your own proxy, or use a VPN)🆚 Why This is Better Than...
Alternative | Problem | Our Solution |
Manual LinkedIn research | Takes hours, boring | Automated in seconds |
LinkedIn Sales Navigator | $99/month | Free basic features |
Hiring a BDR (Business Development Rep) | $4000+ / month | One-time setup |
Other LinkedIn tools | Require LinkedIn API (complicated) | No API needed for basic features |
🧩 More MCP Tools
Product | Link | Free Features |
🚀 Reddit Marketing | 3 tools | |
🐦 Twitter/X Marketing | 3 tools | |
💬 Discord AI Marketing | 3 tools | |
⭐ GitHub Stars Growth | 4 tools | |
🎵 TikTok Viral Marketing | 3 tools |
📊 Roadmap
Free: Search public profiles (via Google)
Free: Analyze company (public data)
Free: Draft connection requests (template)
Premium: AI-powered post optimization (DeepSeek)
Premium: AI prospecting list generation
Paid: Auto-connection request sender (with rate limiting)
Paid: Profile view analytics dashboard
Paid: Auto-post scheduler
💰 Pricing (GitHub Sponsors)
Tier | Price | What you get |
Free | $0 | 3 basic tools (no API key needed) |
Supporter | $5/mo | All premium features + priority support |
Team | $25/mo | All premium + custom AI prompts + prospecting templates |
One-time | $99 | Lifetime access (no subscription) |
👉 Sponsor here: https://github.com/sponsors/1036007003-wq
🐛 Issues / Feature Requests
Open an issue: https://github.com/1036007003-wq/linkedin-marketing-mcp/issues
⭐ Star History
Built by @1036007003-wq | Sponsor on GitHub ❤️
🔧 Need a Custom MCP Server?
I build custom MCP Servers for any API or system. 5-day delivery, $1,500/project.
Contact: Open an issue or email 1036007003@qq.com
Available Tools
5 toolsanalyze_companyA
FREE: Analyze a LinkedIn company page (public data). Returns employee count, industry, description.
| Name | Required | Description | Default |
|---|---|---|---|
| company_name | Yes | Company name (e.g. "OpenAI", "Microsoft") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. However, it only lists return fields but does not mention any side effects, auth requirements, rate limits, or data freshness. For a data retrieval tool, more transparency is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the key benefit ('FREE') and concisely states the tool's purpose and output. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description covers the core functionality and return values. However, it does not clarify matching behavior (exact name vs fuzzy) or error handling, leaving minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage for the single parameter company_name, the schema already provides clear examples. The description adds the 'FREE' qualifier but no additional semantic meaning beyond what the schema offers. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool analyzes a LinkedIn company page using public data and returns specific fields (employee count, industry, description). The verb 'Analyze' and resource 'LinkedIn company page' are specific, and it is well-distinguished from siblings like draft_connection_request or search_public_profiles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'FREE' which hints at a cost advantage, but provides no explicit guidance on when to use this tool versus alternatives or when not to use it. Siblings are clearly different, but the absence of any usage context reduces the score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
draft_connection_requestA
FREE: Draft a LinkedIn connection request message. Template-based (no API key needed).
| Name | Required | Description | Default |
|---|---|---|---|
| your_name | No | Your name | |
| target_role | Yes | Role of the person you want to connect with (e.g. "AI Engineer", "Marketing Director") | |
| your_company | No | Your company (optional) | |
| your_purpose | Yes | Why you want to connect (e.g. "discuss AI marketing tools", "explore partnership") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Only mentions 'template-based' and 'no API key needed', but omits output format, side effects, or customization details. Minimal behavioral disclosure for a drafting tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences are efficient and front-loaded, but could incorporate a hint about output (e.g., 'Returns a personalized message') without adding bulk. Still, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple tool with no output schema, but lacks any mention of return value or behavior beyond drafting. Would benefit from specifying that the result is a text message string.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear descriptions for all 4 parameters. Description adds no extra parameter context, but baseline 3 is appropriate since schema already defines each field adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'Draft' and resource 'LinkedIn connection request message'. Distinguishes from sibling tools (analyze, search, generate lists, optimize posts) by focusing on drafting a connection message.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies use when needing a free connection request draft without API key, but lacks explicit when-not or alternative recommendations. Context from sibling tools helps, but description alone could be more directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_prospecting_listA
PREMIUM: Generate a list of prospects based on your ICP (Ideal Customer Profile). Requires DEESEEK_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of prospects to generate (max 20) | |
| icp_description | Yes | Description of your ideal customer (e.g. "B2B SaaS companies with 50-200 employees, using AI tools") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral transparency. It discloses the premium nature and API key requirement, but does not detail potential side effects (e.g., data creation, cost) or whether the tool is read-only. More context on what happens during generation would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences effectively convey purpose and key constraints. No filler words. The critical information is front-loaded, making it easy for an AI agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no nested objects or output schema), the description is largely complete. However, it does not specify the format or content of the generated prospect list (e.g., names, LinkedIn URLs), which could be useful for an agent. Slight gap, but still functional.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with descriptions for both parameters (icp_description and count). The tool description adds 'PREMIUM' and 'Requires DEESEEK_API_KEY' but does not elaborate on parameter usage beyond what the schema provides. Baseline is appropriate; no significant additional semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Generate a list of prospects based on your ICP'. The verb 'generate' and resource 'list of prospects' are specific. It distinguishes from sibling tools like search_public_profiles, which searches existing profiles rather than generating a list from an ICP description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes that the tool is 'PREMIUM' and 'Requires DEESEEK_API_KEY', providing important usage constraints. However, it does not explicitly state when to use this tool versus siblings like search_public_profiles or analyze_company, though the ICP-based generation implies a specific use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
optimize_linkedin_postC
PREMIUM: Optimize a LinkedIn post for maximum engagement. Requires DEESEEK_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| post_draft | Yes | Your draft LinkedIn post | |
| target_audience | Yes | Target audience (e.g. "B2B marketers", "AI engineers", "startup founders") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states purpose and a requirement (API key), but does not disclose what the tool returns (e.g., optimized text, suggestions) or any behavioral traits like rate limits or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is brief with two sentences, front-loading the main purpose. However, it lacks structure and could be more informative without adding length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description should clarify the return format and behavior. It only states purpose and a precondition, leaving the agent with significant unknowns about how to use the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds no further meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool name and description clearly state it optimizes a LinkedIn post for engagement. The verb 'optimize' and resource 'LinkedIn post' are specific. It distinguishes from sibling tools which focus on analysis and connection requests, though it does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It notes it is 'PREMIUM' and requires an API key, but provides no context on when not to use it or what alternative tools exist for similar tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_public_profilesA
FREE: Search for LinkedIn public profiles by keyword. Returns profile names, headlines, companies.
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | Keyword to search (e.g. "AI engineer", "marketing manager", "CEO") | |
| industry | No | Industry filter (optional, e.g. "software", "finance", "healthcare") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the tool is free and returns specific fields, but does not mention rate limits, authentication needs, or result limits. Adequate for a simple tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no redundancy. The 'FREE:' prefix efficiently communicates cost status. Every word is valuable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description states returned fields, which is sufficient given no output schema. However, it lacks mention of pagination or result count, which would be helpful for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds no extra meaning beyond what the schema already provides. The description's mention of 'by keyword' mirrors the required parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (search), resource (LinkedIn public profiles), and returned data (names, headlines, companies). It distinguishes from sibling tools like analyze_company and optimize_linkedin_post.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'FREE:' prefix provides context about cost, and the purpose is clear for when to use this tool (finding profiles). However, it does not explicitly state when not to use it or provide alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
v1.0.0- First observed
analyze_company - First observed
draft_connection_request - First observed
generate_prospecting_list - First observed
optimize_linkedin_post - First observed
search_public_profiles
TDQS
Each tool targets a distinct LinkedIn marketing activity: company analysis, connection drafting, prospect list generation, post optimization, and profile search. No overlap in functionality.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., analyze_company, draft_connection_request). No mixing of conventions.
With 5 tools, the set is well-scoped for common LinkedIn marketing tasks. Not overly large or minimal.
Covers core activities: research (analyze company, search profiles), outreach (draft request, generate prospecting list), and content optimization. Missing posting or analytics, but minor gaps.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Give AI agents the LinkedIn tools to find, qualify, engage, and follow up with prospects.
Full LinkedIn access for AI agents: leads, messaging, and campaigns with safe limits built in.
LinkedIn warm-lead discovery: list leads, find emails, and draft outreach from your AI tools.
Run LinkedIn outreach from your AI chat: find leads, launch campaigns, send, and reply.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables comprehensive LinkedIn profile search, data extraction, and contact enrichment using Google Search, Apollo.io, and AI-powered analysis. Includes automated data mining workflows with database storage and CSV export capabilities.3-
- AlicenseAqualityAmaintenanceEnables AI assistants to interact with LinkedIn by scraping profiles, companies, job postings, and getting personalized job recommendations using authenticated browser automation.173,352Apache 2.0
- AlicenseAqualityFmaintenanceEnables AI assistants to search leads, view profiles, manage lists, send InMails, and export data from LinkedIn Sales Navigator through browser automation.76MIT
- AlicenseNot gradedqualityDmaintenanceEnables LinkedIn automation including search, profile viewing, connection management, job details, and Easy Apply via Playwright with stealth and rate limiting.113MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/1036007003-wq/linkedin-marketing-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server