Job Search MCP Server
Enables searching for AI/ML internships and entry-level positions across multiple job sites including LinkedIn, Indeed, Glassdoor, ZipRecruiter, and Monster. Automatically filters for Python proficiency and relevant AI/ML skills while providing structured job data with application URLs and detailed requirements.
README
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
-
Clone or download this repository
-
Install dependencies:
npm install -
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
- LinkedIn - Professional networking and job board
- Indeed - General job search engine
- Glassdoor - Job search with company reviews
- ZipRecruiter - Job matching platform
- 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
- Fork the repository
- Create a feature branch
- Add tests for new functionality
- Submit a pull request
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.