Metadata-Version: 2.4
Name: iflow-mcp_linkedin-mcp
Version: 0.1.3
Summary: A powerful LinkedIn profile analyzer MCP server that interacts with LinkedIn's API to fetch, analyze, and manage LinkedIn posts data.
Project-URL: Homepage, https://github.com/rugvedp/linkedin-mcp
Project-URL: Repository, https://github.com/rugvedp/linkedin-mcp.git
Author-email: Rugved Patil <rugved@example.com>
License: MIT License
        
        Copyright (c) 2024 Rugved Patil
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE. 
License-File: LICENSE
Requires-Python: >=3.7
Requires-Dist: fastmcp
Requires-Dist: python-dotenv
Requires-Dist: requests
Description-Content-Type: text/markdown

<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 (Model Context 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
