# LinkMCP > MCP server that connects LinkedIn to AI assistants. Qualify leads, read posts, manage messages, grow your network, and publish content — all through natural language. LinkMCP is an MCP (Model Context Protocol) server that gives AI assistants like Claude, ChatGPT, Cursor, and Windsurf full access to LinkedIn. Users connect their LinkedIn account, generate an access token, and configure their AI client. After that, the AI can look up profiles, read posts, send messages, search for people, and more. No code required. Just describe what you want in plain English. ## Pages - [Home](https://app.linkmcp.io): Landing page with product overview, use cases, pricing, and FAQ - [Sign in](https://app.linkmcp.io/login): Authentication page - [llms-full.txt](https://app.linkmcp.io/llms-full.txt): Full documentation with all tool details ## MCP Tools (24 total) ### Profile & Company - **linkedin_get_profile**: Get a LinkedIn person profile by URL, public ID (slug), or URN. - **linkedin_get_company**: Get a LinkedIn company profile by URL, slug, or numeric ID. - **linkedin_bulk_get_profiles**: Fetch slim LinkedIn profiles in bulk (up to 10). Returns per-item results with error tracking — never stops on first error. - **linkedin_bulk_get_companies**: Fetch slim LinkedIn company profiles in bulk (up to 10). Returns per-item results with error tracking — never stops on first error. ### Posts & Engagement - **linkedin_get_person_posts**: Get a person's recent LinkedIn posts by profile URL, public ID (slug), or URN. Returns up to ~50 posts with text, engagement counts, and post URL. - **linkedin_get_company_posts**: Get a company's recent LinkedIn posts by company URL, slug, or numeric ID. Returns up to ~30 posts with text, engagement counts, and post URL. - **linkedin_get_post_comments**: Get comments on a LinkedIn post. Provide activityUrn (from linkedin_get_person_posts) or a post URL. - **linkedin_get_post_reactions**: Get reactions on a LinkedIn post. Provide activityUrn or a post URL. Returns reactor profiles and reaction types. ### Messaging - **linkedin_list_conversations**: List your LinkedIn DM conversations (inbox). Supports filtering by read status and date range. - **linkedin_get_conversation_messages**: Get messages from a LinkedIn DM conversation. Use linkedin_list_conversations first to get the chat_id. - **linkedin_send_message**: Send a LinkedIn message. Reply to an existing conversation (chat_id) or start a new one (recipient_identifier). Supports InMail for non-connections. ### Connections - **linkedin_get_connections**: List your LinkedIn connections (1st-degree). Returns name, headline, profile URL, and public identifier. - **linkedin_list_connection_requests**: List pending LinkedIn connection requests. Use direction "sent" for outgoing, "received" for incoming. - **linkedin_respond_connection_request**: Accept or decline a received LinkedIn connection request. Use linkedin_list_connection_requests with direction "received" first. - **linkedin_send_connection_request**: Send a LinkedIn connection request to a person. Optionally include a personalized message (max 300 characters). ### Search - **linkedin_search_people**: Search LinkedIn for people by keywords and filters, or pass a LinkedIn search URL directly. - **linkedin_search_sales_navigator**: Search LinkedIn Sales Navigator for people. Returns richer results including open profile status, premium status, and current positions with tenure. Requires a Sales Navigator subscription. ### Content Creation - **linkedin_create_post**: Create a LinkedIn post. Supports text, image attachments (via public URLs), @mentions, link preview cards, and reposting. - **linkedin_comment_on_post**: Comment on a LinkedIn post. Supports threaded replies and @mentions. Mention identifiers are automatically resolved. - **linkedin_react_to_post**: React to a LinkedIn post (like, celebrate, support, love, insightful, funny). The lowest-friction engagement action. ### Contact Enrichment - **find_email**: Find a person's work email address given their name and company. Works best when you provide the company domain. Use linkedin_get_profile first if you need their name or company. - **validate_email**: Validate an email address for deliverability. Returns whether the email is valid, invalid, catch-all, or unknown, along with MX provider details. Use this to verify emails before sending outreach. - **find_mobile**: Find a person's mobile phone number. Accepts a LinkedIn profile URL, slug, or an email address. At least one identifier is required. ### Utility - **send_feedback**: Send feedback, feature requests, bug reports, or help requests to the LinkMCP team. ## Pricing - **Starter** ($49/mo): 1x usage allowance, all tools, basic support - **Pro** ($99/mo): 2x usage allowance, all tools, priority support - **Max** ($399/mo): 20x usage allowance, all tools, dedicated support All plans include every MCP tool. Higher plans increase monthly usage capacity. ## Compatibility Works with any MCP-compatible AI client: - Claude (Anthropic) - ChatGPT (OpenAI) - Cursor - Windsurf - Any client supporting the Model Context Protocol ## Optional - MCP endpoint: https://app.linkmcp.io/api/mcp (JSON-RPC 2.0 over HTTP, Bearer token auth) - MCP discovery: https://app.linkmcp.io/.well-known/mcp.json