Skip to main content
Glama
by Ritesh-sudo

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:

    npm install
  3. Build the project:

    npm run build

Usage

Running the Server

npm start

Or for development:

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:

{ "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:

{ "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:

{ "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:

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

Deploy Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

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