Skip to main content
Glama
XavierBeheydt

jobs-scrape-mcp

jobs-scrape-mcp

Сервер MCP (Model Context Protocol), предоставляющий корпус jobs-scrape ИИ.

После подключения Claude может напрямую запрашивать собранные вакансии: «какие навыки востребованы в кантоне Во?», «сколько вакансий с частичной занятостью в здравоохранении в августе?», «резюмируй мне это объявление».

Установка

uv pip install git+https://github.com/XavierBeheydt/jobs-scrape-mcp.git
claude mcp add jobs-scrape -- uv run jobs-scrape-mcp

Сервер читает ту же базу, что и CLI:

Переменная

По умолчанию

JOBS_SCRAPE_DB

data/jobs.db

JOBS_SCRAPE_DATA_DIR

data

Related MCP server: mcp-jobs

Доступные инструменты

Инструмент

Когда его вызывать

search_jobs

Любой вопрос о вакансиях, требуемых навыках, наблюдаемых зарплатах, активности компании

get_job

Прочитать одно объявление целиком, после того как оно найдено

list_facets

Узнать, что содержит корпус, перед фильтрацией (кантоны, компании, источники)

top_skills

Вопрос о тенденциях: что наиболее востребовано, по региону или источнику

timeline

Объём опубликованных вакансий по дням

stats

Обзор — вызывать в первую очередь, чтобы узнать, что содержится в базе

list_sources

Откуда данные, и почему ожидаемый источник может отсутствовать

Ресурсы: jobs://summary и jobs://sources.

Объём ответов — настоящая проблема

Инструмент MCP возвращает свой результат в контекст модели. Возврат двадцати полных объявлений — несколько десятков тысяч знаков — насытил бы этот контекст без какой-либо пользы: никто не читает двадцать полных описаний, чтобы ответить на вопрос «какие навыки востребованы в Женеве».

Поэтому этот сервер применяет простое правило:

  • инструменты списка возвращают выдержки (320 знаков) и структурированные поля, которые помогают оценить релевантность;

  • get_job возвращает полный текст одного объявления;

  • limit ограничен 50, независимо от запрошенного значения;

  • каждый ответ различает total (соответствия) и returned (возвращённые), чтобы модель знала, что видит лишь часть.

Здесь нет логики поиска

Ранжирование BM25, фасеты и агрегации живут в jobs_scrape.search, в ядре проекта. Этот модуль лишь их предоставляет. Поиск определён в одном месте — веб-интерфейс и MCP-сервер наследуют его, и улучшение ранжирования приносит пользу обоим.

Описания инструментов: триггер, а не только функция

Модель выбирает инструменты по их описанию. Описание, которое говорит лишь что делает инструмент, заставляет модель догадываться когда его использовать. Поэтому каждый инструмент формулирует свой триггер — «вызови этот инструмент, как только вопрос касается доступных вакансий» — и тест проверяет, что ни одно описание не остаётся скудным.

Разработка

uv venv
uv pip install git+https://github.com/XavierBeheydt/jobs-scrape.git
uv pip install -e ".[dev]"
uv run pytest -q      # hors ligne, base temporaire

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables natural language querying of a resume with AI/ML experience, business impact metrics, and technical skills. Supports searching by company, skill, or achievement with built-in analytics and evaluation capabilities.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A zero-configuration job aggregation server that enables searching for positions and retrieving details across multiple recruitment platforms using natural language. It provides standardized data for job requirements, salary comparisons, and market trends directly within AI clients.
    47 npm
    138
    ISC
  • A
    license
    A
    quality
    B
    maintenance
    Enables searching over 1 million enriched job listings from 20,000+ companies directly from MCP-compatible AI tools. Provides tools for job search, company profiles, and AI-powered similar job recommendations with real-time data updates.
    4
    51 npm
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to search and explore a large database of tech job listings with filtering options.
    MIT