Search 8,400+ AI and ML jobs across 489 companies, inspect listings and employers, match roles, and view salary and market stats via AI Dev Jobs MCP
npx skills add https://github.com/lingxling/awesome-skills-cn --skill ai-dev-jobs-mcp
AI Dev Jobs is a remote MCP server that gives AI agents access to a live index of AI and ML job listings. As of April 17, 2026, the live MCP stats report 8,405 active roles across 489 companies, a $213,500 median salary, and 600 new jobs this week. Agents can search jobs by role, location, or company, retrieve full job details, list hiring companies, match roles to a profile, and get salary or aggregate market statistics. It is designed for AI agents that assist with job searching, recruiting, or labor market analysis.
Add the AI Dev Jobs MCP server to your client configuration. The endpoint uses streamable HTTP and requires no authentication.
{
"mcpServers": {
"ai-dev-jobs": {
"url": "https://aidevboard.com/mcp"
}
}
}
No API key or authentication is required.
search_jobsSearch the job index by keyword, location, company, or work arrangement. Returns matching listings with title, company, location, and salary information.
search_jobs({ query: "machine learning engineer", location: "remote" })
get_jobRetrieve full details for a specific job listing by ID, including description, requirements, salary range, and application link.
get_job({ id: "abc123" })
list_companiesList all companies in the index with their open position counts. Useful for discovering which companies are actively hiring.
list_companies({})
get_companyRetrieve details for a specific company, including available AI roles when exposed by the endpoint.
get_company({ id: "openai" })
get_statsGet aggregate statistics about the job market: total listings, top companies by open roles, role distribution, and location breakdown.
get_stats({})
match_jobsMatch jobs against a candidate profile, skills list, or preferences.
match_jobs({ skills: ["python", "llm", "pytorch"], workplace: "remote" })
get_salary_dataRetrieve salary statistics for roles, tags, levels, or locations when available.
get_salary_data({ tag: "llm", level: "senior" })
list_tagsList indexed tags that can be used to filter searches or salary analysis.
list_tags({})
Use @ai-dev-jobs-mcp to find remote machine learning engineer positions.
The agent will call search_jobs({ query: "machine learning engineer", location: "remote" }) and return matching listings.
Use @ai-dev-jobs-mcp to list all companies currently hiring for AI roles.
The agent will call list_companies({}) and return companies sorted by number of open positions.
Use @ai-dev-jobs-mcp to show current AI job market statistics.
The agent will call get_stats({}) and return aggregate data on listings, top employers, and role distribution.
Use @ai-dev-jobs-mcp to get the full details for job ID abc123.
The agent will call get_job({ id: "abc123" }) and return the complete listing with requirements and application link.
Use @ai-dev-jobs-mcp to match remote LLM roles to a senior Python and PyTorch profile.
The agent will call match_jobs({ skills: ["python", "llm", "pytorch"], workplace: "remote" }) and return suitable listings.
Use @ai-dev-jobs-mcp to compare senior LLM salary data.
The agent will call get_salary_data({ tag: "llm", level: "senior" }) and summarize available compensation ranges.
search_jobs with specific keywords for targeted results rather than broad querieslist_companies to discover companies, then search_jobs filtered by company name for focused searchesget_stats to provide users with market context before diving into specific listingsmatch_jobs when the user gives skills, seniority, location, or work arrangement preferencesget_salary_data only as market context; remind users that listings and compensation change quicklyget_stats before quoting them in user-facing output.@not-human-search-mcp - Discover AI-ready tools and APIs via MCP@mcp-builder - For building your own MCP serversIntegration with protocols.io API for managing scientific protocols. This skill should be used when working with protocols.io to search, create, update, or publish protocols; manage protocol steps and materials; handle discussions and comments; organize workspaces; upload and manage files; or integrate protocols.io functionality into workflows. Applicable for protocol discovery, collaborative protocol development, experiment tracking, lab protocol management, and scientific documentation.
Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances
Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.
Build and distribute Expo development clients locally or via TestFlight
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.
Benchling R&D platform integration. Access registry (DNA, proteins), inventory, ELN entries, workflows via API, build Benchling Apps, query Data Warehouse, for lab data management automation.
Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.
Take lingxling/ai-dev-jobs-mcp from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.