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
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
- Create and activate a virtual environment
- Install dependencies
- Set up environment variablesEdit the
.env
file 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 |
---|---|
linkedin.login | Authenticate with LinkedIn |
linkedin.logout | End the current session |
linkedin.checkSession | Check if the current session is valid |
linkedin.getFeed | Get LinkedIn feed posts |
linkedin.getProfile | Get LinkedIn profile information |
linkedin.getCompany | Get company profile information |
linkedin.searchJobs | Search for jobs with filters |
linkedin.getJobDetails | Get detailed information about a job |
linkedin.getRecommendedJobs | Get job recommendations |
linkedin.generateResume | Generate a resume from a LinkedIn profile |
linkedin.generateCoverLetter | Generate a cover letter for a job application |
linkedin.tailorResume | Customize a resume for a specific job |
linkedin.applyToJob | Apply to a job |
linkedin.getApplicationStatus | Check application status |
linkedin.getSavedJobs | Get saved jobs |
linkedin.saveJob | 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
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
A server that enables AI assistants to interact with LinkedIn programmatically for job searching, resume/cover letter generation, and managing job applications through standardized JSON-RPC requests.
Related MCP Servers
- AsecurityAlicenseAqualityA server that enhances AI assistants with the ability to update your JSON Resume by analyzing your coding projects, automatically extracting skills and generating professional descriptions.Last updated -33239TypeScriptThe Unlicense
- -securityFlicense-qualityA Model Context Protocol server that enables seamless interaction with LinkedIn for job applications, profile retrieval, feed browsing, and resume analysis through natural language commands.Last updated -10Python
- -securityFlicense-qualityA server implementing the Model Context Protocol that enables users to retrieve LinkedIn profile information and activity data via EnrichB2B API, and generate text using OpenAI GPT-4 or Anthropic Claude models.Last updated -Python
- -securityAlicense-qualityEnables AI assistants to interact with LinkedIn data through the Model Context Protocol, allowing profile searches, job discovery, messaging, and network analytics.Last updated -1TypeScriptMIT License