Linkedin

A powerful Model Context Protocol server for LinkedIn interactions that enables AI assistants to search for jobs, generate resumes and cover letters, and manage job applications programmatically.
  • python

14

GitHub Stars

python

Language

4 months ago

First Indexed

3 weeks ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "rayyan9477-linkedin_mcp": {
      "command": "python",
      "args": [
        "server.py"
      ],
      "env": {
        "DATA_DIR": "data",
        "LOG_LEVEL": "INFO",
        "SESSION_DIR": "sessions",
        "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY",
        "LINKEDIN_CLIENT_ID": "YOUR_CLIENT_ID",
        "LINKEDIN_REDIRECT_URI": "http://localhost:8080/callback",
        "LINKEDIN_CLIENT_SECRET": "YOUR_CLIENT_SECRET"
      }
    }
  }
}

You can run a Python-based MCP server that lets your AI assistant search LinkedIn jobs, generate tailored resumes and cover letters, manage applications, and more through standardized requests. This guide shows you how to install, configure, and operate the server so you can build powerful LinkedIn automation workflows.

How to use

You interact with the server using a client that speaks the MCP protocol. Start by launching the server locally, then connect your MCP client to it. Once connected, you can authenticate, search for jobs with filters, generate resumes and cover letters from your LinkedIn profile, tailor resumes for specific roles, and manage applications and saved jobs. Use the available method set to perform actions step by step and handle responses and errors in your client logic.

How to install

Prerequisites you need before starting are Python 3.8 or newer and a working command line. You will also need LinkedIn OAuth credentials to access the API.

Step 1: Set up your project directory and environment

Step 2: Install dependencies

Step 3: Configure environment variables

Step 4: Start the server

Configuration and runtime details

You configure the server by providing environment variables in a file named .env at the project root. The following variables are shown as the typical setup for LinkedIn API credentials and optional services. Populate them with your actual values before starting the server.

# LinkedIn API Credentials (required)
LINKEDIN_CLIENT_ID=your_client_id_here
LINKEDIN_CLIENT_SECRET=your_client_secret_here
LINKEDIN_REDIRECT_URI=http://localhost:8080/callback

# Optional: OpenAI API Key (for resume/cover letter generation)
OPENAI_API_KEY=your_openai_api_key_here

# Optional: Logging
LOG_LEVEL=INFO

# API Settings
OPENAI_API_KEY=your_openai_api_key
SESSION_DIR=sessions
DATA_DIR=data

Starting the server

python server.py

Supported operations you can perform

Once the server is running, you can perform a range of actions through the MCP client, including authenticating with LinkedIn, searching for jobs with various filters, generating resumes and cover letters, tailoring resumes for specific roles, applying to jobs, and checking application status. Your client should handle request/response cycles as defined by the MCP protocol.

Security and best practices

Keep OAuth credentials secure and never commit them to source control. Use a dedicated environment for secrets, enable token refresh handling, and implement proper error handling and retry policies in your client to avoid leaking sensitive data.

Troubleshooting

If the server fails to start, verify that Python 3.8+ is installed, the .env file contains the required LinkedIn credentials, and that no other process is occupying the port used by the server. Check log output for authentication issues or network errors and ensure that your LinkedIn app is configured correctly for OAuth flows.

Examples and workflow notes

Typical usage involves starting the server, authenticating with LinkedIn, and then issuing a sequence of MCP requests to search for jobs, generate documents, and manage applications. You can chain actions in your client to build end‑to‑end automation for job searching, resume tailoring, and application tracking.

Available tools

authenticate

Authenticate against LinkedIn using OAuth 2.0 and establish a session for subsequent requests.

searchJobs

Perform advanced job searches with filters, pagination, and ranking.

generateResume

Create a tailored resume from a LinkedIn profile, with optional templates and formats.

generateCoverLetter

Generate a tailored cover letter for a targeted job application.

tailorResume

Adjust resume content to emphasize keywords and requirements from a specific job.

applyToJob

Submit an application to a job posting and track status.

getProfile

Retrieve LinkedIn profile details.

getJobDetails

Fetch detailed information about a specific job.

getSavedJobs

Retrieve jobs you have saved for later review.

saveJob

Save a job posting for later consideration.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational