Idk507/linkedin_mcp_server
If you are the rightful owner of linkedin_mcp_server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Python-based server that provides LinkedIn functionality through the MCP (Message Control Protocol) using the `linkedin-api` and `fastmcp` libraries.
authenticate_linkedin
Authenticate with LinkedIn using email and password.
get_profile_info
Get profile information for a specific or authenticated user.
get_profile_posts
Retrieve posts from a LinkedIn profile.
search_linkedin_jobs
Search for job postings with optional location filter.
get_job_details
Retrieve detailed information about specific jobs.
search_linkedin_people
Search for people on LinkedIn using keywords.
get_linkedin_connections
Retrieve connections for a LinkedIn profile.
get_authentication_status
Check the current authentication status.
LinkedIn MCP Server
A Python-based server that provides LinkedIn functionality through the MCP (Message Control Protocol) using the linkedin-api
and fastmcp
libraries.
This project allows users to:
- Authenticate with LinkedIn
- Retrieve profile information
- Fetch posts
- Search for jobs and get job details
- Search for people
- Retrieve connections
š Project Structure
linkedin\_mcp/
āāā config/
ā āāā linkedin\_config.py
āāā services/
ā āāā **init**.py
ā āāā linkedin\_client.py
ā āāā profile\_service.py
ā āāā posts\_service.py
ā āāā jobs\_service.py
ā āāā people\_service.py
ā āāā connections\_service.py
āāā tools/
ā āāā **init**.py
ā āāā auth\_tools.py
ā āāā profile\_tools.py
ā āāā posts\_tools.py
ā āāā jobs\_tools.py
ā āāā people\_tools.py
ā āāā connections\_tools.py
ā āāā status\_tools.py
āāā main.py
āāā requirements.txt
āāā README.md
Folder Descriptions
config/
: Contains configuration and logging setup.services/
: Core LinkedIn functionality split into logical service classes.tools/
: MCP tool definitions that interface with services.main.py
: Entry point for running the server or test mode.requirements.txt
: Lists required Python packages.
š Features
- Authentication: Authenticate with LinkedIn using email and password.
- Profile Retrieval: Fetch profile info for a specific or authenticated user.
- Post Retrieval: Get posts from a LinkedIn profile.
- Job Search: Search for job postings (optional location filter).
- Job Details: Retrieve detailed info about specific jobs.
- People Search: Search for people on LinkedIn using keywords.
- Connections: Retrieve connections for a profile.
- Status Check: Check the current authentication status.
š¦ Installation
- Clone the repository or extract the project files.
- Ensure Python 3.6+ is installed.
- Install dependencies:
pip install -r requirements.txt
### (Optional) Set up a virtual environment
```bash
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```
---
## āļø Usage
### Running the Server
```bash
python main.py
```
This starts the MCP server to listen for client connections.
### Test Mode
```bash
python main.py test
```
This will display available tools and sample usage like:
```python
authenticate_linkedin('your_email@example.com', 'your_password')
search_linkedin_jobs('python developer', 'San Francisco')
get_profile_info()
```
---
## š ļø Available Tools
```python
authenticate_linkedin(email, password) # Authenticate with LinkedIn
get_profile_info(profile_id=None) # Get profile information
get_profile_posts(profile_id=None, limit=10) # Retrieve posts from a profile
search_linkedin_jobs(keywords, location=None, limit=25) # Search for jobs
get_job_details(job_id) # Get job details
search_linkedin_people(keywords, limit=10) # Search for people
get_linkedin_connections(urn_id=None, limit=50) # Retrieve connections
get_authentication_status() # Check auth status
```
---
## š Requirements
* Python 3.6+
* Packages listed in `requirements.txt`:
* `fastmcp`
* `linkedin-api`
---
## š Notes
* Ensure you have valid LinkedIn credentials for authentication.
* The `linkedin-api` library may enforce rate limits or permissions.
* All operations require prior authentication via `authenticate_linkedin`.
* Project is modular: services handle core logic, tools expose MCP interfaces.
---
## š License
This project is licensed under the [MIT License](LICENSE).
```