-
Notifications
You must be signed in to change notification settings - Fork 609
Expand file tree
/
Copy path.env.example
More file actions
115 lines (99 loc) · 5.4 KB
/
Copy path.env.example
File metadata and controls
115 lines (99 loc) · 5.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# LinkedIn MCP Server Environment Variables
# Copy this file to .env and fill in your values
# Persistent browser profile directory (default: ~/.linkedin-mcp/profile)
# Run with --login to create a profile via browser login.
# Rotating or clearing a session deletes this directory and its parent, so a
# non-default path is only used once it carries a profile-claim.json marker.
# That is written automatically when the parent is empty or already holds a
# session from this server; otherwise start once with --claim-profile-root.
USER_DATA_DIR=~/.linkedin-mcp/profile
# Temporary parent directory used during browser installation bootstrap (optional)
# Defaults to system tempdir. Useful when system tempdir ancestry has non-standard ACLs or permissions.
INSTALLER_TEMP_DIR=
# Browser mode (default: true outside Docker; the image overrides it to false)
# true = Chromium's headless mode; false = headed. Docker's headed window lives
# on a virtual display and never appears on the host.
HEADLESS=true
# Logging level (default: WARNING)
# Options: DEBUG, INFO, WARNING, ERROR
LOG_LEVEL=WARNING
# Transport mode (leave empty for interactive prompt, defaults to stdio in non-interactive)
# Options: stdio, streamable-http
TRANSPORT=
# Browser timeout in milliseconds (default: 5000)
TIMEOUT=5000
# Per-tool MCP execution timeout in seconds (default: 180.0)
# Distinct from TIMEOUT above (which is browser page-op milliseconds).
# Increase further if heavy scrapes (multi-section profiles, slow networks,
# cold-start Chromium) hit the FastMCP "Tool ... execution timed out" error.
TOOL_TIMEOUT=180.0
# Manual login wait timeout in seconds (default: 1800; 0 = no limit)
# How long the --login browser window waits for you to finish signing in
# (including 2FA, captcha, and security challenges) before giving up.
# Docker --login-viewer caps the effective limit at its 1800-second viewer wall.
# A value of 0 therefore reports 30 minutes in viewer mode. Protected restoration
# may finish after remote control has closed.
# The viewer is CLI-only so an ordinary container startup cannot expose it.
LOGIN_TIMEOUT=1800
# Bounded inline wait in seconds for a tool call to resume after login
# completes (default: 25, max 45; 0 = return immediately).
# When a tool call finds no session it opens the login window and waits up to
# this long, so a quick sign-in resolves in a single call. If the wait elapses
# the tool returns a pending signal and the model re-calls in about 30 seconds.
# No effect during normal Docker server mode. Use the explicit one-shot
# --login --login-viewer command to create a session inside the mounted profile.
LOGIN_INLINE_WAIT=25
# Auto-import a LinkedIn session from a locally logged-in browser on the first
# tool call when no session exists, before falling back to manual login. On by
# default (interactive and non-interactive desktop runs, every platform).
# Set to false to require --login / --import-from-browser instead. No effect in
# Docker or on a non-loopback HTTP bind. On macOS the OS keychain may show a
# one-time Safe Storage prompt.
AUTO_IMPORT_FROM_BROWSER=
# Accepted and ignored. There is one browser now, installed in one stage, so
# "up front" and "lazily" describe the same download. Kept so an existing
# configuration keeps working. Default: false.
EAGER_FULL_CHROMIUM=
# Soft check for a newer release on PyPI. When the installed version is
# meaningfully behind, the server appends a one-line update notice to a tool
# result (once per session). At most one PyPI request per day, cached under
# ~/.linkedin-mcp; skipped in CI and for source installs. Set to off/false to
# disable.
LINKEDIN_MCP_CHECK_FOR_UPDATES=
# Custom browser user agent (optional)
USER_AGENT=
# Route the browser through a proxy (optional). Only the browser's own traffic
# is routed; the MCP transport is not.
# LinkedIn scores the address a session signs in from. A proxy is the right tool
# when the server cannot sit on the address the account already uses: on a
# cloud host, in another country, or for a second account. Take a dedicated
# static ISP address and keep it; from a residential pool, use a sticky session
# that holds one address, never per-request rotation.
# Accepts scheme://host:port with http, https, socks4 or socks5. Chromium cannot
# authenticate to a SOCKS proxy, so credentials need an http(s) endpoint. This
# variable may also carry them directly, as most providers hand them out:
# PROXY_SERVER=http://user:password@gate.provider.com:7000
# Create the session through the proxy with --login before using it. Switching
# an existing session to a new IP is what triggers a LinkedIn checkpoint.
PROXY_SERVER=
PROXY_USERNAME=
# There is no --proxy-password flag on purpose: command-line arguments are
# readable by every user on the machine. Set the password here instead.
PROXY_PASSWORD=
# Comma-separated hosts to reach directly instead of through the proxy
PROXY_BYPASS=
# HTTP server settings (for streamable-http transport)
HOST=127.0.0.1
PORT=8000
HTTP_PATH=/mcp
# Debugging options
# Slow down browser actions by this many milliseconds (default: 0)
SLOW_MO=0
# Browser viewport size as WIDTHxHEIGHT (default: 1280x720). Applies to the
# normal windowless mode only: a headed launch (--no-headless, --login) uses
# the real window size instead, so that the window and the screen it reports
# standing on agree.
VIEWPORT=1280x720
# Custom Chrome/Chromium executable path (optional)
# Use this if Chrome is installed in a non-standard location
CHROME_PATH=