Utilizes .ENV files for configuration management, allowing users to securely store LinkedIn credentials and API settings.
References GitHub for the Model Context Protocol specification that the server implements.
Uses OpenAI's API for resume and cover letter generation capabilities, as indicated by the configuration requirement for an OpenAI API key.
Supports testing through pytest for verifying the functionality of the LinkedIn MCP server components.
Built using Python as the implementation language, with dependencies managed through pip and virtual environments.
Uses Shields.io for displaying the MIT license badge in the repository README.
LinkedIn Model Context Protocol (MCP) Server
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.
Features
Authentication: Secure OAuth 2.0 authentication with token refresh
Profile Management: Access and update LinkedIn profile information
Job Search: Advanced job search with filtering and pagination
Resume & Cover Letters: Generate tailored resumes and cover letters
Messaging: Send messages and connection requests
Analytics: Track job applications and engagement metrics
Async API: Built with asyncio for high performance
Modular Design: Clean, maintainable code with separation of concerns
Related MCP server: LinkedIn MCP Server
Architecture
This project implements the Model Context Protocol (MCP) specification, allowing AI assistants to interact with LinkedIn through standardized JSON-RPC style requests and responses.
Project Structure
Getting Started
Prerequisites
Python 3.8+
LinkedIn Developer Account
OAuth 2.0 credentials from LinkedIn Developers
Installation
Clone the repository
git clone https://github.com/yourusername/linkedin-mcp.git cd linkedin-mcpCreate and activate a virtual environment
# Linux/macOS python -m venv venv source venv/bin/activate # Windows python -m venv venv .\venv\Scripts\activateInstall dependencies
pip install -r requirements.txtSet up environment variables
cp .env.example .envEdit the
.envfile with your LinkedIn API credentials and other settings.
Configuration
Create a .env file in the project root with the following variables (see .env.example for details):
Usage
Starting the Server
Example MCP Requests
Authentication
Searching for Jobs
Generating a Resume
Available Methods
Method | Description |
| Authenticate with LinkedIn |
| End the current session |
| Check if the current session is valid |
| Get LinkedIn feed posts |
| Get LinkedIn profile information |
| Get company profile information |
| Search for jobs with filters |
| Get detailed information about a job |
| Get job recommendations |
| Generate a resume from a LinkedIn profile |
| Generate a cover letter for a job application |
| Customize a resume for a specific job |
| Apply to a job |
| Check application status |
| Get saved jobs |
| Save a job for later |
Development
Project Structure
Running Tests
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
LinkedIn API documentation
Model Context Protocol specification