You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+92-12Lines changed: 92 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,38 +36,69 @@ Suggest improvements for my CV to target this job posting https://www.linkedin.c
36
36
> [!NOTE]
37
37
> July 2025: All tools are currently functional and actively maintained. If you encounter any issues, please report them in the [GitHub issues](https://github.com/stickerdaniel/linkedin-mcp-server/issues).
38
38
39
-
---
39
+
<br/>
40
+
<br/>
40
41
41
42
## 🐳 Docker Setup (Recommended - Universal)
42
43
43
44
**Prerequisites:** Make sure you have [Docker](https://www.docker.com/get-started/) installed and running.
44
45
45
-
**Zero setup required** - just add the mcp server to your client config and replace email and password with your linkedin credentials.
Copy the cookie from the output and set it as `LINKEDIN_COOKIE` in your client configuration. If this fails with a captcha challenge, use the method below.
81
+
</details>
82
+
<details>
83
+
<summary><b>🌐 Chrome DevTools Guide</b></summary>
84
+
85
+
1. Open LinkedIn and login
86
+
2. Open Chrome DevTools (F12 or right-click → Inspect)
87
+
3. Go to **Application** > **Storage** > **Cookies** > **https://www.linkedin.com**
88
+
4. Find the cookie named `li_at`
89
+
5. Copy the **Value** field (this is your LinkedIn session cookie)
90
+
6. Use this value as your `LINKEDIN_COOKIE` in the configuration
91
+
92
+
</details>
93
+
<br/>
94
+
95
+
> [!NOTE]
96
+
> The cookie will expire during the next 30 days. Just get the new cookie and update your config.
97
+
98
+
> [!TIP]
99
+
> There are also many cookie manager extensions that you can use to easily get the cookie.
100
+
101
+
### Docker Setup Help
71
102
<details>
72
103
<summary><b>🔧 Configuration</b></summary>
73
104
@@ -83,6 +114,8 @@ Suggest improvements for my CV to target this job posting https://www.linkedin.c
83
114
-`--host HOST` - HTTP server host (default: 127.0.0.1)
84
115
-`--port PORT` - HTTP server port (default: 8000)
85
116
-`--path PATH` - HTTP server path (default: /mcp)
117
+
-`--get-cookie` - Attempt to login with email and password and extract the LinkedIn cookie
118
+
-`--cookie {cookie}` - Pass a specific LinkedIn cookie for login
86
119
87
120
**HTTP Mode Example (for web-based MCP clients):**
88
121
```bash
@@ -116,6 +149,9 @@ docker run -i --rm \
116
149
- 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)
117
150
</details>
118
151
152
+
<br/>
153
+
<br/>
154
+
119
155
## 📦 Claude Desktop (DXT Extension)
120
156
121
157
**Prerequisites:**[Claude Desktop](https://claude.ai/download) and [Docker](https://www.docker.com/get-started/) installed
@@ -126,6 +162,40 @@ docker run -i --rm \
126
162
3. Configure your LinkedIn credentials when prompted
Copy the cookie from the output and set it as `LINKEDIN_COOKIE` in your client configuration. If this fails with a captcha challenge, use the method below.
178
+
</details>
179
+
<details>
180
+
<summary><b>🌐 Chrome DevTools Guide</b></summary>
181
+
182
+
1. Open LinkedIn and login
183
+
2. Open Chrome DevTools (F12 or right-click → Inspect)
184
+
3. Go to **Application** > **Storage** > **Cookies** > **https://www.linkedin.com**
185
+
4. Find the cookie named `li_at`
186
+
5. Copy the **Value** field (this is your LinkedIn session cookie)
187
+
6. Use this value as your `LINKEDIN_COOKIE` in the configuration
188
+
189
+
</details>
190
+
<br/>
191
+
192
+
> [!NOTE]
193
+
> The cookie will expire during the next 30 days. Just get the new cookie and update your config.
194
+
195
+
> [!TIP]
196
+
> There are also many cookie manager extensions that you can use to easily get the cookie.
197
+
198
+
### DXT Extension Setup Help
129
199
<details>
130
200
<summary><b>❗ Troubleshooting</b></summary>
131
201
@@ -139,6 +209,9 @@ docker run -i --rm \
139
209
- 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)
140
210
</details>
141
211
212
+
<br/>
213
+
<br/>
214
+
142
215
## 🐍 Local Setup (Develop & Contribute)
143
216
144
217
**Prerequisites:**[Chrome browser](https://www.google.com/chrome/) and [Git](https://git-scm.com/downloads) installed
@@ -170,21 +243,26 @@ uv sync --group dev
170
243
uv run pre-commit install
171
244
172
245
# 5. Start the server once manually
173
-
# (you will be prompted to enter your LinkedIn credentials, and they are securely stored in your OS keychain)
246
+
# You will be prompted to enter your LinkedIn credentials, and they will be securely stored in your OS keychain
247
+
# Once logged in, your cookie will be stored in your OS keychain and used for subsequent runs until it expires
174
248
uv run main.py --no-headless --no-lazy-init
175
249
```
176
250
251
+
### Local Setup Help
177
252
<details>
178
253
<summary><b>🔧 Configuration</b></summary>
179
254
180
255
**CLI Options:**
181
256
-`--no-headless` - Show browser window (debugging)
182
257
-`--debug` - Enable detailed logging
183
-
-`--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)
258
+
-`--no-setup` - Skip credential prompts (make sure to set `LINKEDIN_COOKIE` or `LINKEDIN_EMAIL` and `LINKEDIN_PASSWORD` in env or that you run the server once manually, so the authentication is stored in your OS keychain and you can run the server without credentials)
184
259
-`--no-lazy-init` - Login to LinkedIn immediately instead of waiting for the first tool call
260
+
-`--get-cookie` - Login with email and password and extract the LinkedIn cookie
261
+
-`--cookie {cookie}` - Pass a specific LinkedIn cookie for login
262
+
-`--help` - Show help
185
263
186
264
**Claude Desktop:**
187
-
```json
265
+
```**json**
188
266
{
189
267
"mcpServers": {
190
268
"linkedin": {
@@ -217,7 +295,9 @@ uv run main.py --no-headless --no-lazy-init
217
295
218
296
Feel free to open an [issue](https://github.com/stickerdaniel/linkedin-mcp-server/issues) or [PR](https://github.com/stickerdaniel/linkedin-mcp-server/pulls)!
0 commit comments