Add linkedin-mcp/SETUP.md

This commit is contained in:
zgaetano 2026-03-31 15:33:44 -04:00
parent c4c9df329a
commit 49c26e0365

170
linkedin-mcp/SETUP.md Normal file
View file

@ -0,0 +1,170 @@
# LinkedIn MCP Server Setup
## Prerequisites
1. **Python 3.12+** on your host machine
2. **LinkedIn account** with valid credentials
3. **Create LinkedIn profile locally** (one-time setup)
## Step 1: Install LinkedIn MCP (Host Machine)
Run this on your **host machine** (not in Docker):
```bash
pip install linkedin-scraper-mcp
```
## Step 2: Create LinkedIn Profile (One-time Authentication)
Run this command to authenticate and create your profile:
```bash
linkedin-mcp-server --login
```
Or use the alternate command:
```bash
linkedin-scraper-mcp --login
```
This will:
- Open a browser window
- Ask you to log into LinkedIn
- Handle captcha challenges (manual solving required)
- Save your session at `~/.linkedin-mcp/profile/`
**Important:** Only one active LinkedIn session is supported. If you need to re-authenticate:
```bash
rm -rf ~/.linkedin-mcp/profile
linkedin-mcp-server --login
```
## Step 3: Build Docker Image
```bash
cd /mnt/NVME/Docker/mcp-gateway
docker compose build linkedin-mcp
```
## Step 4: Start the Service
```bash
docker compose up linkedin-mcp
```
The service is already configured in your `docker-compose.yml` with:
- Python 3.12 slim image
- LinkedIn profile mounted from `~/.linkedin-mcp/profile`
- LOG_LEVEL environment variable from `.env`
- Automatic restart
## Configuration Options
### Environment Variables (in .env)
```env
# LinkedIn MCP Server
LINKEDIN_LOG_LEVEL=INFO
LINKEDIN_TIMEOUT=10000
```
### Available Log Levels
- `DEBUG` - Detailed logging
- `INFO` - Standard logging (recommended)
- `WARNING` - Only warnings and errors
- `ERROR` - Only errors
## Docker Integration
The Dockerfile:
- Uses `python:3.12-slim` as base image
- Clones the GitHub repository
- Installs dependencies with pip
- Mounts profile from host at `~/.linkedin-mcp/profile:/root/.linkedin-mcp/profile`
## Troubleshooting
### Profile Not Found
```bash
# Verify profile exists on host
ls ~/.linkedin-mcp/profile
# Create new profile if missing
linkedin-mcp-server --login
```
### Build Fails - Git Clone Issues
- Ensure you have internet access
- Check git is installed: `git --version`
- Try manual clone first: `git clone https://github.com/stickerdaniel/linkedin-mcp-server.git`
### Container Won't Start
Check the logs:
```bash
docker logs mcp-linkedin
# Restart container
docker compose restart mcp-linkedin
```
### Session Expired
LinkedIn sessions may expire. To refresh:
```bash
# Delete old profile
rm -rf ~/.linkedin-mcp/profile
# Create new profile
linkedin-mcp-server --login
# Restart container
docker compose restart mcp-linkedin
```
### Captcha Loop
If you keep hitting captchas:
1. Create profile manually on your machine first
2. Mount that profile into Docker
3. Run with `--no-headless` temporarily to debug
## Integration with Gateway Proxy
The gateway proxy (`gateway_proxy.py`) should have:
```python
MCP_BACKEND_LINKEDIN=http://mcp-linkedin:3000/mcp
```
This is already configured in the docker-compose.yml.
## Verification
Test the connection:
```bash
# Check if container is running
docker ps | grep mcp-linkedin
# View logs
docker logs mcp-linkedin
# Check gateway can reach it
docker exec mcp-gateway curl http://mcp-linkedin:3000/mcp/tools
```
## Entry Point
The container runs:
```
linkedin-mcp-server --log-level INFO
```
This starts the MCP server that communicates with the gateway proxy via HTTP.
## Performance Notes
- First run may be slower as Patchright downloads browser dependencies
- Profile authentication takes 30-60 seconds
- Subsequent tool calls should respond in 1-5 seconds
- Browser automation is CPU-intensive; allocate resources accordingly