Metadata-Version: 2.4
Name: linkedin-mcp
Version: 0.1.3
Summary: LinkedIn MCP server with auth and posting tools.
Author-email: Filipp Trigub <filipp@trigub.tech>
License-File: LICENSE
Requires-Python: >=3.12
Requires-Dist: httpx>=0.28.1
Requires-Dist: mcp[cli]>=1.2.0
Requires-Dist: pydantic-settings>=2.7.1
Requires-Dist: pydantic>=2.10.5
Requires-Dist: python-dotenv>=1.0.1
Requires-Dist: python-jose[cryptography]>=3.3.0
Description-Content-Type: text/markdown

# LinkedIn MCP Server

Post to LinkedIn directly from Claude Desktop with support for text and media attachments.

## Features

- Post text updates to LinkedIn
- Attach images and videos to posts
- Control post visibility (public/connections)
- OAuth2 authentication flow
- Secure token storage

## Tools

- `authenticate`: Start LinkedIn OAuth flow
- `handle_oauth_callback`: Complete authentication
- `create_post`: Create posts

## Setup

1. Create a LinkedIn Developer App:
   ```
   Visit https://www.linkedin.com/developers/apps
   Create new app
   Add product permissions: Log In to LinkedIn and Share on LinkedIn 
   Configure OAuth redirect URL: http://localhost:3000/callback
   ```

2. Clone and install:
   ```bash
   git clone https://github.com/FilippTrigub/linkedin-mcp.git
   cd linkedin-mcp
   uv venv
   ```

3. Create `.env` file:
   ```env
   LINKEDIN_CLIENT_ID=your_client_id
   LINKEDIN_CLIENT_SECRET=your_client_secret
   LINKEDIN_REDIRECT_URI=http://localhost:3000/callback
   ```

## Claude Desktop Configuration

Add the following configuration to `claude-desktop.json`:

```json
{
  "mcpServers": {
    "linkedin-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "absolute\\path\\to\\linkedin-mcp",
        "run",
        "server.py"
      ],
      "env": {
        "LINKEDIN_CLIENT_ID": "<yours>",
        "LINKEDIN_CLIENT_SECRET": "<yours>",
        "LINKEDIN_REDIRECT_URI": "<yours>"
      }
    }
  }
}
```

## License
MIT License