Remove mcp-gateway/linkedin-mcp/SETUP.md
This commit is contained in:
parent
9cd1bbc1f9
commit
fb91f5f08d
1 changed files with 0 additions and 170 deletions
|
|
@ -1,170 +0,0 @@
|
||||||
# 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
|
|
||||||
Loading…
Reference in a new issue