Skip to main content
Glama
sjungwon03

job-platform-mcp

by sjungwon03

Job Platform MCP Monorepo

Это TypeScript-монорепозиторий, который предоставляет API вакансий Wanted, 사람인 и 잡코리아 в виде независимых MCP-серверов, а также Agent Skill для поиска подходящих вакансий на основе резюме и портфолио.

Этот документ является справочным и может использоваться как при ручной настройке человеком, так и при настройке агентами, такими как Codex, Claude Code, OpenCode, OpenClaw.

Предоставляемые функции

Пакет

Платформа

MCP-инструменты

Способ аутентификации

wanted-mcp

Wanted OpenAPI

wanted_list_jobs

Client ID и Client Secret пользователя

saramin-mcp

사람인 채용정보 API

saramin_search_jobs, saramin_get_job

access-key пользователя

jobkorea-mcp

잡코리아 채용정보 API

jobkorea_fetch_jobs, jobkorea_fetch_entry_jobs

Индивидуальный URL вызова, выдаваемый после одобрения

Навык job-match-search выполняет следующие задачи:

  • анализ резюме, CV, описания опыта работы и портфолио, предоставленных пользователем

  • извлечение целевой должности, опыта, навыков, домена и предпочтений

  • если регион или детальные условия не указаны, задаёт все вопросы сразу перед поиском

  • если пользователь пропускает ввод условий, выполняет поиск без ограничений по региону и форме занятости

  • одновременный запрос к подключённым MCP Wanted, 사람인 и 잡코리아

  • удаление дублирующихся вакансий и оценка соответствия на основе обоснований

  • предоставление обоснований соответствия, недостающих требований и ссылок на оригиналы для лучших вакансий

Related MCP server: RecruitData

Принципы проектирования

  • Три MCP запускаются как отдельные stdio-процессы.

  • Учётные данные и API-клиенты для каждой платформы не используются совместно.

  • Используются API-права, выданные непосредственно каждому пользователю.

  • Платные функции вызываются только при наличии прав в учётной записи пользователя.

  • Исходный текст резюме и личные данные не передаются в API вакансий.

  • В API передаются только минимальные производные условия, необходимые для поиска: название должности, навыки, опыт, регион.

  • Без подтверждения пользователя не выполняются подача заявок, создание учётных записей, связь с контактными лицами или оплата.

Требования

  • Node.js 22 или новее

  • pnpm 11 или новее

  • Git

  • Учётные данные API для используемых платформ вакансий

Проверьте версии.

node --version
pnpm --version
git --version

Быстрый старт

1. Получение репозитория

git clone https://github.com/sjungwon03/job-platform-mcp.git
cd job-platform-mcp

Если вы уже работаете локально и ещё не клонировали удалённый репозиторий, продолжайте со следующего шага в корне текущего репозитория.

2. Установка зависимостей и сборка

pnpm install
pnpm build

Чтобы проверить общее состояние:

pnpm verify

Проверка включает lint, проверку типов TypeScript, тесты защищённого хранилища, MCP-тесты и production-сборку.

3. Подготовка учётных данных API

Можно настроить только нужные платформы. Использовать все три не обязательно.

Wanted

Получение: https://openapi.wanted.jobs/apply/

Переменная окружения

Обязательно

Описание

WANTED_CLIENT_ID

Да

Client ID, выданный пользователю

WANTED_CLIENT_SECRET

Да

Client Secret, выданный пользователю

WANTED_AUTHORIZATION

Нет

Значение Authorization, необходимое для отдельных прав или платных функций

Этот проект не оплачивает расходы на API и не предоставляет общие ключи. При использовании платных функций пользователь соответствующего MCP управляет правами и оплатой через свою учётную запись Wanted.

사람인

Получение: https://oapi.saramin.co.kr/

Переменная окружения

Обязательно

Описание

SARAMIN_ACCESS_KEY

Да

access-key, выданный пользователю

잡코리아

Информация: https://www.jobkorea.co.kr/service/api

잡코리아 предоставляет уникальный URL вызова после одобрения использования и регистрации IP-адреса запроса.

Переменная окружения

Обязательно

Описание

JOBKOREA_JOBS_API_URL

Условно

URL, выданный для обычных вакансий

JOBKOREA_ENTRY_API_URL

Условно

URL, выданный для найма новичков и стажёров

Требуется хотя бы один из двух URL. Весь выданный URL следует считать секретной информацией.

4. Безопасный ввод учётных данных

Не вставляйте учётные данные непосредственно в чат, README, файлы, отслеживаемые Git, или JSON-конфигурацию MCP.

Запустите защищённый конфигуратор в корне репозитория.

node skills/job-match-search/scripts/configure-credentials.mjs

Конфигуратор работает в следующем порядке:

  1. Выберите платформу для настройки.

  2. Принимает значения аутентификации с маскировкой звёздочками.

  3. По умолчанию сохраняет в job-platform-mcp/credentials.json в каталоге настроек пользователя.

  4. На Linux, macOS и WSL ограничивает права файла значением 0600.

  5. Отклоняет пути внутри репозитория, символические ссылки и файлы, читаемые другими пользователями.

  6. Не выводит значения повторно, а показывает только статус настройки по каждой платформе.

Место сохранения по умолчанию:

~/.config/job-platform-mcp/credentials.json

Чтобы использовать другой абсолютный путь, задайте JOB_MATCH_CREDENTIALS_FILE одинаково и в конфигураторе, и в MCP-хосте. Пути внутри репозитория использовать нельзя.

Проверка статуса настройки:

node skills/job-match-search/scripts/configure-credentials.mjs --check

Вывод не содержит фактических значений.

Wanted: 설정됨
사람인: 설정됨
잡코리아: 미설정

Этот файл — локальный JSON, защищённый правами файловой системы ОС, а не собственный зашифрованный файл. В нативной Windows рекомендуется использовать OS secret store, предоставляемый агентом или MCP-хостом.

5. Регистрация сервера в MCP-хосте

Вместо прямого копирования учётных данных в конфигурацию MCP зарегистрируйте общий исполнитель run-mcp.mjs.

Сначала соберите все пакеты.

pnpm build

Замените absolute-path ниже на фактический абсолютный путь к репозиторию.

{
  "mcpServers": {
    "wanted": {
      "command": "node",
      "args": [
        "/absolute-path/job-platform-mcp/skills/job-match-search/scripts/run-mcp.mjs",
        "wanted"
      ]
    },
    "saramin": {
      "command": "node",
      "args": [
        "/absolute-path/job-platform-mcp/skills/job-match-search/scripts/run-mcp.mjs",
        "saramin"
      ]
    },
    "jobkorea": {
      "command": "node",
      "args": [
        "/absolute-path/job-platform-mcp/skills/job-match-search/scripts/run-mcp.mjs",
        "jobkorea"
      ]
    }
  }
}

Можно зарегистрировать только настроенные платформы. После перезапуска MCP-хоста проверьте следующие имена в списке инструментов.

wanted_list_jobs
saramin_search_jobs
saramin_get_job
jobkorea_fetch_jobs
jobkorea_fetch_entry_jobs

Если MCP-хост добавляет имя сервера в качестве префикса, фактическое отображаемое имя может немного отличаться.

Процедура настройки для агентов

При настройке этого репозитория агент следует приведённому ниже порядку. Человек также может использовать ту же процедуру.

  1. Убедитесь, что текущий каталог — корень репозитория с pnpm-workspace.yaml.

  2. Проверьте требуемые версии с помощью node --version и pnpm --version.

  3. Выполните pnpm install и pnpm build.

  4. Спросите, какие платформы пользователь хочет подключить и выданы ли учётные данные.

  5. Не требуйте ввода значений аутентификации в обычном окне чата.

  6. Запустите configure-credentials.mjs в интерактивном TTY и дайте пользователю ввести значения с маскировкой самостоятельно.

  7. Определите место настройки используемого агента или MCP-хоста.

  8. Зарегистрируйте только абсолютный путь к run-mcp.mjs и аргументы платформ, без секретных значений.

  9. После перезапуска MCP-хоста проверьте подключение запросом только для чтения с небольшим количеством результатов.

  10. При успехе сообщайте только имена подключённых платформ. Даже в ошибках не включайте значения аутентификации или выданные URL 잡코리아.

Если агент не может предоставить интерактивный TTY, он только сообщает пользователю команду настройки и ждёт завершения ввода. Автоматически повторять ошибки аутентификации не следует.

Установка навыка подбора вакансий

Исходный код навыка находится в следующем каталоге:

skills/job-match-search/
├── SKILL.md
├── references/
├── scripts/
└── test/

Навык использует открытый формат Agent Skills и не зависит от frontmatter, специфичного для конкретного агента. Различается только каталог поиска в зависимости от клиента.

Codex

Свяжите исходную папку с личным каталогом навыков.

mkdir -p ~/.codex/skills
ln -s /absolute-path/job-platform-mcp/skills/job-match-search ~/.codex/skills/job-match-search

Если путь с таким же именем уже существует, не удаляйте и не перезаписывайте его — сначала проверьте существующий навык.

Claude Code

Свяжите с путём навыков проекта.

mkdir -p .claude/skills
ln -s ../../skills/job-match-search .claude/skills/job-match-search

В Claude Code при прямом вызове используйте следующим образом:

/job-match-search 내 이력서에 맞는 백엔드 공고를 찾아줘

OpenCode

Свяжите с путём навыков проекта.

mkdir -p .opencode/skills
ln -s ../../skills/job-match-search .opencode/skills/job-match-search

OpenCode также поддерживает совместимые пути .claude/skills и .agents/skills.

OpenClaw

Если использовать этот репозиторий как workspace OpenClaw, текущий путь skills/job-match-search будет найден автоматически. Для установки в другой workspace:

openclaw skills install /absolute-path/job-platform-mcp/skills/job-match-search

В средах без поддержки символических ссылок скопируйте всю папку в путь навыков соответствующего клиента. Нужно копировать не только SKILL.md, но и references и scripts.

Использование навыка

Прикрепите резюме или портфолио либо укажите локальный путь, который может прочитать агент.

$job-match-search
첨부한 이력서를 분석해서 내 경력에 맞는 채용공고를 찾아줘.

Можно указать регион и условия вместе.

$job-match-search
서울 또는 판교, 주 2회 이하 출근, 정규직 백엔드 포지션을 찾아줘.
Java와 Spring 실무 경험을 중요하게 보고 연봉이 공개된 공고를 우선해줘.

Можно начать и без указания условий.

$job-match-search
내 포트폴리오에 맞는 공고를 찾아줘. 조건은 아직 정하지 않았어.

В этом случае навык задаёт вопросы о регионе, формате работы, типе занятости и основных предпочтениях сразу. Если пропустить ответы, поиск выполняется широко, без ограничений.

Базовые результаты включают следующую информацию:

  • проанализированный поисковый профиль и указанные допущения

  • 10 лучших вакансий по соответствию

  • подтверждённые обоснования соответствия и недостающие или неподтверждённые требования

  • регион, форма занятости, срок подачи, источник и ссылки на оригиналы

  • запрошенные платформы, поисковые запросы, фильтры и неудачные области

Оценка соответствия — это эвристика для сравнения, а не вероятность принятия.

Команды разработки

Весь workspace:

pnpm install
pnpm lint
pnpm typecheck
pnpm test
pnpm build
pnpm verify

Чтобы проверить только один пакет:

pnpm --filter wanted-mcp test
pnpm --filter saramin-mcp test
pnpm --filter jobkorea-mcp test

Чтобы запустить только тесты защищённого хранилища:

pnpm test:skill

Структура проекта

.
├── packages/
│   ├── wanted-mcp/
│   ├── saramin-mcp/
│   └── jobkorea-mcp/
├── skills/
│   └── job-match-search/
├── package.json
├── pnpm-lock.yaml
└── pnpm-workspace.yaml

Корневой workspace объединяет только установку зависимостей, единый lockfile и общую проверку. Конфигурация, клиент, схемы инструментов и тесты каждого MCP хранятся в соответствующем пакете.

Устранение неполадок

Симптом

Что проверить

Built MCP entry not found

Проверьте, что pnpm build выполнен в корне

Missing required configuration

Проверьте настройку соответствующей платформы с помощью configure-credentials.mjs --check

Credential store permissions are too broad

Примените chmod 600 к файлу учётных данных на Linux, macOS, WSL

Credential store must be outside the project workspace

Используйте путь настроек пользователя по умолчанию или укажите абсолютный путь вне репозитория

Wanted 401 или 403

Проверьте Client ID, Secret, необязательный Authorization и права учётной записи

Ошибка аутентификации 사람인

Проверьте статус выдачи SARAMIN_ACCESS_KEY и лимиты использования

Ошибка подключения 잡코리아

Проверьте статус одобрения, зарегистрированный IP запроса, выданный URL и разрешённые хосты

Инструменты MCP не отображаются

Проверьте абсолютный путь, путь к node и перезапуск MCP-хоста

Сбой только некоторых платформ

Продолжайте поиск по успешно подключённым платформам и проверьте настройку только неудачных

Меры безопасности

  • Не коммитьте реальные учётные данные в Git.

  • Не вставляйте учётные данные в issues, PR, чаты или логи.

  • Немедленно отзывайте раскрытые ключи и перевыпускайте их на платформе.

  • Считайте весь URL вызова 잡코리아 секретной информацией.

  • Не размещайте файл хранилища учётных данных в папках облачной синхронизации или общих каталогах.

  • Не предоставляйте доступ к хранилищу учётных данных навыкам или скриптам, которыми управляют другие.

Лицензия и условия использования API

Данные каждой платформы вакансий, условия использования API, лимиты вызовов и тарифная политика регулируются условиями соответствующей платформы. Этот репозиторий не обходит права аутентификации или платные функции и не предоставляет прав на распространение данных API.

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
<1hResponse time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for job search and application tracking, enabling AI agents to search jobs, get details, manage applications, and find contacts across 128K+ jobs and 1,900+ companies.
    564
    3
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Unified job search MCP server that aggregates live listings from multiple job boards with deduplication, enabling AI agents to find and filter jobs by keyword and location.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables AI-assisted job search workflows including job discovery, application tracking, resume evaluation, and cover letter generation, with support for multiple job sources and scheduled scraping.
    18
    1
    AGPL 3.0
  • F
    license
    Not graded
    quality
    A
    maintenance
    Personal job posting management MCP server that fetches job postings from multiple Korean job sites and stores them for LLM analysis, enabling timeline tracking and cover letter draft management.
    1

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

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/sjungwon03/job-platform-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server