linkedin_mcp
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.
claude mcp add --transport stdio rayyan9477-linkedin_mcp python server.py \ --env DATA_DIR="data" \ --env LOG_LEVEL="INFO" \ --env SESSION_DIR="sessions" \ --env OPENAI_API_KEY="your_openai_api_key_here" \ --env LINKEDIN_CLIENT_ID="your_client_id_here" \ --env LINKEDIN_REDIRECT_URI="http://localhost:8080/callback" \ --env LINKEDIN_CLIENT_SECRET="your_client_secret_here"
How to use
This MCP server exposes a LinkedIn-specific Model Context Protocol (MCP) interface. It allows an AI agent to authenticate with LinkedIn, search for jobs, generate resumes and cover letters, manage applications, and interact with the LinkedIn profile and messaging features through standardized JSON-RPC style requests. Typical workflows include authenticating a user with linkedin.login, performing job searches with linkedin.searchJobs, generating documents with linkedin.generateResume or linkedin.generateCoverLetter, and managing applications via methods like linkedin.applyToJob and linkedin.getApplicationStatus. The server is built asynchronously for high performance and follows a modular structure so that clients can invoke specific capabilities without needing to know the underlying LinkedIn API details. To use it, run the server and send JSON-RPC 2.0 requests over HTTP (or the MCP transport layer implemented by the project) using the method names described in the Available Methods section of the README.
Example usage would be sending a request like {"jsonrpc":"2.0","id":1,"method":"linkedin.searchJobs","params":{"filter":{"keywords":"software engineer","location":"New York, NY","distance":25},"page":1,"count":20}} and handling the response JSON with your agent.
How to install
Prerequisites:
- Python 3.8+
- A LinkedIn Developer account with OAuth credentials
- Optional: an OpenAI API key if you plan to generate resumes/cover letters via AI
Step-by-step installation:
# 1. Clone the repository
git clone https://github.com/yourusername/linkedin-mcp.git
cd linkedin-mcp
# 2. Create and activate a virtual environment
# Linux/macOS
python -m venv venv
source venv/bin/activate
# Windows
python -m venv venv
.\venv\Scripts\activate
# 3. Install dependencies
pip install -r requirements.txt
# 4. Set up environment variables
# Copy the example and edit as needed
cp .env.example .env
Edit the .env file with your credentials and settings (LinkedIn client id/secret, redirect URI, OpenAI key, etc.).
# 5. Run the server
python server.py
Optional: you can run tests if package provides them:
pytest
Additional notes
- Environment variables: Ensure your OpenAI API key is set if you intend to generate resumes/cover letters. The server also expects LinkedIn OAuth credentials; keep these secure and do not commit them.
- If you change data directories or session storage, ensure the paths exist or create them before starting the server.
- The MCP methods listed in the README under Available Methods are the canonical entry points for clients; you can extend or replace API clients without changing the protocol.
- When running behind proxies or firewalls, make sure the redirect URI (LINKEDIN_REDIRECT_URI) is reachable as configured for OAuth flows.
- Enable appropriate log levels (LOG_LEVEL) for debugging; default is INFO.
- If you encounter rate limits from LinkedIn, consider implementing rate limiting and retry logic using the utilities provided (retry.py, rate_limiter.py).
Related MCP Servers
PPTAgent
An Agentic Framework for Reflective PowerPoint Generation
mcp-aktools
📈 提供股票、加密货币的数据查询和分析功能MCP服务器
BinAssistMCP
Binary Ninja plugin to provide MCP functionality.
the -company
TheMCPCompany: Creating General-purpose Agents with Task-specific Tools
alris
Alris is an AI automation tool that transforms natural language commands into task execution.
A Unofficial Twitter MCP Server with cookie auth.