Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LINKEDIN_HOST | No | Host for HTTP transport | 127.0.0.1 |
| LINKEDIN_PORT | No | Port for HTTP transport | 8000 |
| LINKEDIN_SLOW_MO | No | Slow motion delay for browser actions in milliseconds | 0 |
| LINKEDIN_TIMEOUT | No | Browser operation timeout in milliseconds | 5000 |
| LINKEDIN_HEADLESS | No | Whether to run the browser in headless mode | true |
| LINKEDIN_LOG_LEVEL | No | Logging level (DEBUG, INFO, WARNING, ERROR) | WARNING |
| LINKEDIN_TRANSPORT | No | Server transport type (stdio or streamable-http) | stdio |
| LINKEDIN_USER_AGENT | No | Custom browser user agent string | |
| LINKEDIN_CHROME_PATH | No | Custom path to the Chrome/Chromium executable | |
| LINKEDIN_USER_DATA_DIR | No | Directory where browser session data and authentication state are stored | ~/.linkedin-mcp-server/browser-data |
| LINKEDIN_VIEWPORT_WIDTH | No | Browser viewport width | 1280 |
| LINKEDIN_VIEWPORT_HEIGHT | No | Browser viewport height | 720 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_person_profile | Get a specific person's LinkedIn profile. Args: linkedin_username: LinkedIn username (e.g., 'satyanadella', 'jeffweiner08') sections: Comma-separated list of extra sections to scrape. The main profile page is always included. Available sections: experience, education, interests, honors, languages, contact_info, posts Default (None) scrapes only the main profile page. |
| search_people | Search for people on LinkedIn. Args: keywords: Search keywords (e.g., 'product manager', 'ML engineer at Meta') location: Optional location filter (e.g., 'London', 'Berlin') |
| get_company_profile | Get a specific company's LinkedIn profile. Args: company_name: LinkedIn company name (e.g., 'google', 'stripe', 'openai') sections: Comma-separated list of extra sections to scrape. The about page is always included. Available sections: posts, jobs Default (None) scrapes only the about page. |
| get_company_posts | Get recent posts from a company's LinkedIn feed. Args: company_name: LinkedIn company name (e.g., 'google', 'stripe', 'openai') |
| get_job_details | Get job details for a specific job posting on LinkedIn. Args: job_id: LinkedIn job ID (e.g., '3912045678', '4108763210') |
| search_jobs | Search for jobs on LinkedIn. Returns job_ids that can be passed to get_job_details for full info. Args: keywords: Search keywords (e.g., 'backend developer', 'devops engineer') location: Optional location filter (e.g., 'Austin', 'Singapore') max_pages: Maximum number of result pages to load (1-10, default 3) date_posted: Filter by posting date (past_hour, past_24_hours, past_week, past_month) job_type: Filter by job type, comma-separated (full_time, part_time, contract, temporary, volunteer, internship, other) experience_level: Filter by experience level, comma-separated (internship, entry, associate, mid_senior, director, executive) work_type: Filter by work type, comma-separated (on_site, remote, hybrid) easy_apply: Only show Easy Apply jobs (default false) sort_by: Sort results (date, relevance) |
| close_browser | Close the browser instance and release resources. Credentials are preserved. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |