Skip to main content
Glama
Ritesh-sudo

Job Search MCP Server

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

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

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

Latest Blog Posts

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