Linkedin-Profile-Analyzer
by rugvedp
Verified
<a href="https://glama.ai/mcp/servers/5vbvsljk42">
<img width="380" height="200" src="https://glama.ai/mcp/servers/5vbvsljk42/badge" />
</a>
# LinkedIn Profile Analyzer MCP
A powerful LinkedIn profile analyzer MCP (Machine Control Protocol) server that interacts with LinkedIn's API to fetch, analyze, and manage LinkedIn posts data. This MCP is specifically designed to work with Claude AI.
## Features
- Fetch and store LinkedIn posts for any public profile
- Search through posts with keyword filtering
- Get top performing posts based on engagement metrics
- Filter posts by date range
- Paginated access to stored posts
- Easy integration with Claude AI
## Prerequisites
- Python 3.7+
- RapidAPI key for LinkedIn Data API
- Claude AI access
## Getting Started
### 1. Get RapidAPI Key
1. Visit [LinkedIn Data API on RapidAPI](https://rapidapi.com/rockapis-rockapis-default/api/linkedin-data-api)
2. Sign up or log in to RapidAPI
3. Subscribe to the LinkedIn Data API
4. Copy your RapidAPI key from the dashboard
### 2. Installation
1. Clone the repository:
```bash
git clone https://github.com/rugvedp/linkedin-mcp.git
cd linkedin-mcp
```
2. Install dependencies:
```bash
pip install -r requirements.txt
```
3. Set up environment variables:
- Create a `.env` file
- Add your RapidAPI key:
```env
RAPIDAPI_KEY=your_rapidapi_key_here
```
## Project Structure
```
linkedin-mcp/
├── main.py # Main MCP server implementation
├── mcp.json # MCP configuration file
├── requirements.txt # Python dependencies
├── .env # Environment variables
└── README.md # Documentation
```
## MCP Configuration
The `mcp.json` file configures the LinkedIn MCP server:
```json
{
"mcpServers": {
"LinkedIn Updated": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"mcp",
"run",
"path/to/your/script.py"
]
}
}
}
```
Make sure to update the path in `args` to match your local file location.
## Available Tools
### 1. fetch_and_save_linkedin_posts
Fetches LinkedIn posts for a given username and saves them locally.
```python
fetch_and_save_linkedin_posts(username: str) -> str
```
### 2. get_saved_posts
Retrieves saved posts with pagination support.
```python
get_saved_posts(start: int = 0, limit: int = 10) -> dict
```
### 3. search_posts
Searches posts for specific keywords.
```python
search_posts(keyword: str) -> dict
```
### 4. get_top_posts
Returns top performing posts based on engagement metrics.
```python
get_top_posts(metric: str = "Like Count", top_n: int = 5) -> dict
```
### 5. get_posts_by_date
Filters posts within a specified date range.
```python
get_posts_by_date(start_date: str, end_date: str) -> dict
```
## Using with Claude
1. Initialize the MCP server in your conversation with Claude
2. Use the available tools through natural language commands
3. Claude will help you interact with LinkedIn data using these tools
## API Integration
This project uses the following endpoint from the LinkedIn Data API:
- `GET /get-profile-posts`: Fetches posts from a LinkedIn profile
- Base URL: `https://linkedin-data-api.p.rapidapi.com`
- Required Headers:
- `x-rapidapi-key`: Your RapidAPI key
- `x-rapidapi-host`: `linkedin-data-api.p.rapidapi.com`
## Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Author
[Rugved Patil](https://github.com/rugvedp)
## Repository
[linkedin-mcp](https://github.com/rugvedp/linkedin-mcp.git)
## Acknowledgments
- RapidAPI for providing LinkedIn data access
- Anthropic for Claude AI capabilities