Skip to content

Commit 87b9706

Browse files
committed
docs(README): enhance configuration and troubleshooting sections
1 parent 69cb60a commit 87b9706

File tree

2 files changed

+30
-6
lines changed

2 files changed

+30
-6
lines changed

README.md

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,36 @@ Suggest improvements for my CV to target this job posting https://www.linkedin.c
6969
```
7070

7171
<details>
72-
<summary><b>🐳 Manual Docker Usage</b></summary>
72+
<summary><b>🔧 Configuration</b></summary>
73+
74+
**Transport Modes:**
75+
- **Default (stdio)**: Standard communication for local MCP servers
76+
- **Streamable HTTP**: For a web-based MCP server
77+
78+
**CLI Options:**
79+
- `--debug` - Enable detailed logging
80+
- `--no-lazy-init` - Login to LinkedIn immediately instead of waiting for the first tool call
81+
- `--transport {stdio,streamable-http}` - Set transport mode
82+
- `--host HOST` - HTTP server host (default: 127.0.0.1)
83+
- `--port PORT` - HTTP server port (default: 8000)
84+
- `--path PATH` - HTTP server path (default: /mcp)
7385

86+
**HTTP Mode Example (for web-based MCP clients):**
7487
```bash
7588
docker run -i --rm \
7689
-e LINKEDIN_EMAIL="your.email@example.com" \
7790
-e LINKEDIN_PASSWORD="your_password" \
78-
stickerdaniel/linkedin-mcp-server
91+
-p 8080:8080 \
92+
stickerdaniel/linkedin-mcp-server \
93+
--transport streamable-http --host 0.0.0.0 --port 8080 --path /mcp
7994
```
95+
**Test with mcp inspector:**
96+
1. Install and run mcp inspector ```bunx @modelcontextprotocol/inspector```
97+
2. Click pre-filled token url to open the inspector in your browser
98+
3. Select `Streamable HTTP` as `Transport Type`
99+
4. Set `URL` to `http://localhost:8080/mcp`
100+
5. Connect
101+
6. Test tools
80102

81103
</details>
82104

@@ -90,6 +112,7 @@ docker run -i --rm \
90112
**Login issues:**
91113
- Ensure your LinkedIn credentials are set and correct
92114
- LinkedIn may require a login confirmation in the LinkedIn mobile app
115+
- You might get a captcha challenge if you logged in a lot of times in a short period of time, then try again later or follow the [local setup instructions](#-local-setup-develop--contribute) to run the server manually in --no-headless mode where you can debug the login process (solve captcha manually)
93116
</details>
94117

95118
## 📦 Claude Desktop (DXT Extension)
@@ -112,6 +135,7 @@ docker run -i --rm \
112135
**Login issues:**
113136
- Ensure your LinkedIn credentials are set and correct
114137
- LinkedIn may require a login confirmation in the LinkedIn mobile app
138+
- You might get a captcha challenge if you logged in a lot of times in a short period of time, then try again later or follow the [local setup instructions](#-local-setup-develop--contribute) to run the server manually in --no-headless mode where you can debug the login process (solve captcha manually)
115139
</details>
116140

117141
## 🐍 Local Setup (Develop & Contribute)
@@ -155,7 +179,7 @@ uv run main.py --no-headless --no-lazy-init
155179
**CLI Options:**
156180
- `--no-headless` - Show browser window (debugging)
157181
- `--debug` - Enable detailed logging
158-
- `--no-setup` - Skip credential prompts (make sure to set `LINKEDIN_EMAIL` and `LINKEDIN_PASSWORD` in env)
182+
- `--no-setup` - Skip credential prompts (make sure to set `LINKEDIN_EMAIL` and `LINKEDIN_PASSWORD` in env or or run the server once manualy, then it will be stored in your OS keychain and you can run the server without credentials)
159183
- `--no-lazy-init` - Login to LinkedIn immediately instead of waiting for the first tool call
160184

161185
**Claude Desktop:**
@@ -175,8 +199,8 @@ uv run main.py --no-headless --no-lazy-init
175199
<details>
176200
<summary><b>❗ Troubleshooting</b></summary>
177201

178-
**Scraping issues:**
179-
- Use `--no-headless` to see browser actions
202+
**Login/Scraping issues:**
203+
- Use `--no-headless` to see browser actions (captcha challenge, LinkedIn mobile app 2fa, ...)
180204
- Add `--no-lazy-init` to attempt to login to LinkedIn immediately instead of waiting for the first tool call
181205
- Add `--debug` to see more detailed logging
182206

main.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def main() -> None:
5252
logger = logging.getLogger("linkedin_mcp_server")
5353
logger.debug(f"Server configuration: {config}")
5454

55-
# Initialize the driver with configuration
55+
# Initialize the driver with configuration (initialize driver checks for lazy init options)
5656
initialize_driver()
5757

5858
# Decide transport

0 commit comments

Comments
 (0)