Skip to main content
Glama

Job Search MCP Server

by Ritesh-sudo
README.md5.35 kB
# Job Search MCP Server An MCP (Model Context Protocol) server that searches across multiple job sites for AI/ML internships and full-time roles with specific filtering criteria. ## Features - **Multi-site Job Search**: Searches LinkedIn, Indeed, Glassdoor, ZipRecruiter, and Monster - **AI/ML Focus**: Specifically targets artificial intelligence and machine learning positions - **Smart Filtering**: - Filters for entry-level positions (less than 1 year experience) - Requires Python proficiency - Supports both internships and full-time roles - **Real-time Results**: Gets the latest job postings from all sites - **Structured Data**: Returns well-formatted job information with all relevant details ## Installation 1. Clone or download this repository 2. Install dependencies: ```bash npm install ``` 3. Build the project: ```bash npm run build ``` ## Usage ### Running the Server ```bash npm start ``` Or for development: ```bash npm run dev ``` ### Available Tools #### 1. `search_ai_ml_jobs` Search for AI/ML jobs across all supported job sites. **Parameters:** - `location` (string, optional): Job location (default: "Remote") - `maxResults` (number, optional): Maximum results to return (default: 50) - `includeInternships` (boolean, optional): Include internships (default: true) - `includeFullTime` (boolean, optional): Include full-time roles (default: true) - `keywords` (array, optional): Additional search keywords **Example:** ```json { "location": "San Francisco, CA", "maxResults": 25, "includeInternships": true, "includeFullTime": true, "keywords": ["deep learning", "NLP", "computer vision"] } ``` #### 2. `search_specific_job_site` Search for jobs on a specific job site. **Parameters:** - `site` (string, required): Job site ("linkedin", "indeed", "glassdoor", "ziprecruiter", "monster") - `location` (string, optional): Job location (default: "Remote") - `maxResults` (number, optional): Maximum results to return (default: 25) **Example:** ```json { "site": "linkedin", "location": "Remote", "maxResults": 20 } ``` ## Job Filtering Criteria The server automatically applies the following filters: ### For Full-time Roles: - **Experience Level**: Entry-level (less than 1 year experience) - **Required Skills**: Must include Python proficiency - **Job Type**: AI/ML related positions only ### For Internships: - **Job Type**: AI/ML related positions only - **Skills**: Python proficiency preferred ### AI/ML Keywords Detected: - Machine Learning - Artificial Intelligence - Data Science - Deep Learning - NLP (Natural Language Processing) - Computer Vision - Neural Networks - TensorFlow, PyTorch, Scikit-learn ## Response Format The server returns structured job data including: ```json { "results": [ { "site": "LinkedIn", "jobs": [ { "id": "unique_job_id", "title": "Machine Learning Engineer", "company": "Tech Company", "location": "San Francisco, CA", "type": "full-time", "experienceLevel": "entry", "description": "Job description...", "requirements": ["Python", "Machine Learning"], "skills": ["python", "tensorflow", "pytorch"], "postedDate": "2024-01-15T10:30:00Z", "applicationUrl": "https://...", "source": "LinkedIn", "isRemote": false, "hasPythonRequirement": true, "isAIMLRelated": true } ], "totalFound": 1, "searchTime": 1500 } ], "totalJobs": 1, "searchTimestamp": "2024-01-15T10:30:00Z", "filters": { "location": "San Francisco, CA", "maxResults": 50, "includeInternships": true, "includeFullTime": true, "keywords": [], "experienceLevel": "entry", "requiredSkills": ["python"], "jobTypes": ["ai", "ml", "machine learning", "artificial intelligence", "data science"] } } ``` ## Configuration Copy `env.example` to `.env` and modify as needed: ```bash cp env.example .env ``` Available configuration options: - `RATE_LIMIT_PER_MINUTE`: Rate limiting for requests (default: 30) - `REQUEST_TIMEOUT`: Request timeout in milliseconds (default: 30000) - `USER_AGENT`: User agent string for web scraping ## Supported Job Sites 1. **LinkedIn** - Professional networking and job board 2. **Indeed** - General job search engine 3. **Glassdoor** - Job search with company reviews 4. **ZipRecruiter** - Job matching platform 5. **Monster** - Traditional job board ## Technical Details - **Language**: TypeScript - **Runtime**: Node.js - **Web Scraping**: Cheerio for HTML parsing, Axios for HTTP requests - **Architecture**: Modular scraper system with base class and site-specific implementations ## Error Handling The server includes comprehensive error handling: - Network timeouts and connection errors - HTML parsing errors - Rate limiting protection - Graceful degradation when individual sites fail ## Legal and Ethical Considerations This tool is for educational and personal use. Please respect: - Website terms of service - Rate limiting to avoid overloading servers - Robots.txt files and scraping policies - Consider using official APIs when available ## Contributing 1. Fork the repository 2. Create a feature branch 3. Add tests for new functionality 4. Submit a pull request

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Ritesh-sudo/MCPJobSearch'

If you have feedback or need assistance with the MCP directory API, please join our Discord server