# job-search-mcp > Search for jobs across LinkedIn, Indeed, Glassdoor, ZipRecruiter, Google Jobs using the JobSpy MCP server. - Author: Prabhakar Reddy - Repository: OllieReddy/openclaw-local - Version: 20260209155943 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-10 - Source: https://github.com/OllieReddy/openclaw-local - Web: https://mule.run/skillshub/@@OllieReddy/openclaw-local~job-search-mcp:20260209155943 --- --- name: job-search-mcp description: Search for jobs across LinkedIn, Indeed, Glassdoor, ZipRecruiter, Google Jobs using the JobSpy MCP server. slug: job-search-mcp tags: - job-search - career - mcp - jobspy --- # Job Search MCP Skill This skill enables searching for jobs across multiple job boards using the **JobSpy MCP Server**. JobSpy aggregates job listings from LinkedIn, Indeed, Glassdoor, ZipRecruiter, Google Jobs, and more. ## When to Use This Skill Use this skill when the user asks to: - Find job listings matching specific criteria (role, location, company, etc.) - Search for remote or on-site positions - Compare job opportunities across different platforms - Get salary information for job postings - Find recently posted jobs ## Prerequisites - **Python 3.10+** with `python-jobspy`, `pandas`, `mcp`, `pydantic` installed - The JobSpy MCP server configured ## Installation ```bash pip install mcp>=1.1.0 python-jobspy>=1.1.82 pandas>=2.1.0 pydantic>=2.0.0 ``` ## MCP Tool: `scrape_jobs_tool` ### Parameters | Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `search_term` | string | Yes | - | Job keywords (e.g., "software engineer") | | `location` | string | No | - | Job location (e.g., "San Francisco, CA") | | `site_name` | array | No | indeed,linkedin,zip_recruiter,google | Job boards to search | | `results_wanted` | integer | No | 15 | Number of results (1-1000) | | `job_type` | string | No | - | fulltime, parttime, internship, contract | | `is_remote` | boolean | No | false | Filter for remote jobs | | `hours_old` | integer | No | - | Filter by posting recency in hours | | `distance` | integer | No | 50 | Search radius in miles | | `easy_apply` | boolean | No | false | Filter for easy apply | | `country_indeed` | string | No | "usa" | Country for Indeed/Glassdoor | ### Supported Sites - `indeed` - Most reliable, good for large searches - `linkedin` - Professional networking (rate limited, use sparingly) - `glassdoor` - Jobs with company reviews and salaries - `zip_recruiter` - Job matching for US/Canada - `google` - Aggregated job listings ## Best Practices 1. **Start small**: 10-15 results to test filters 2. **Use Indeed first**: Most reliable for job data 3. **Be specific**: Use targeted search terms 4. **Limit LinkedIn**: Max 10-15 results, avoid `linkedin_fetch_description` 5. **One filter group at a time** for Indeed: either `hours_old`, OR `job_type & is_remote`, OR `easy_apply` ## Example Usage ```json { "tool": "scrape_jobs_tool", "params": { "search_term": "software engineer", "location": "San Francisco, CA", "results_wanted": 10, "site_name": ["indeed", "linkedin"] } } ``` ## Troubleshooting - **Rate limited**: Reduce results_wanted, remove LinkedIn, wait 60s - **No results**: Broaden search terms, increase distance, remove filters - **Missing module**: `pip install python-jobspy>=1.1.82`