npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

job-search-mcp

v0.0.6

Published

MCP Server for searching job postings on JobKorea and Saramin

Downloads

778

Readme

job-search-mcp

npm version MCP Registry

채용 플랫폼(잡코리아, 사람인)에서 회사명으로 채용공고를 검색하는 MCP 서버입니다.

[!NOTE] 원티드(Wanted)는 왜 없나요? 원티드는 CDN 레벨에서 자동화 접근을 차단하고 있으며, robots.txt 자체도 403으로 응답합니다.

기능

회사명을 입력하면 각 플랫폼에서 채용공고를 수집하여 다음 정보를 반환합니다:

| 항목 | 잡코리아 | 사람인 | |------|----------|--------| | 공고 제목 | ✅ | ✅ | | 회사명 | ✅ | ✅ | | 경력 | ✅ | ✅ | | 학력 | ✅ | ✅ | | 지역 | △ (코드) | ✅ | | 마감일 | ✅ | ✅ | | 공고 URL | ✅ | ✅ |

MCP 도구

search_jobs

채용 플랫폼에서 회사명으로 채용공고를 검색합니다.

파라미터

| 파라미터 | 타입 | 필수 | 기본값 | 설명 | |----------|------|------|--------|------| | company_name | string | ✅ | - | 검색할 회사명 | | platform | string | - | "all" | 검색할 플랫폼 (jobkorea, saramin, all) | | page | number | - | 1 | 페이지 번호 |

search_jobs_bulk

여러 회사의 채용공고를 한 번에 병렬로 검색합니다. search_jobs를 반복 호출하는 것보다 훨씬 빠릅니다.

내부적으로 동시성 제한(10개 배치)을 적용하여, 수십~수백 개 회사를 넘겨도 서버가 자동으로 분할 처리합니다. LLM이 여러 번 나눠 호출할 필요 없이 1회 호출로 전체 결과를 받을 수 있습니다.

결과는 임시 디렉토리에 텍스트 파일로 저장되며, 요약과 파일 경로만 반환합니다. LLM이 파일을 읽어 상세 내용을 확인하는 방식으로, 대량 결과에서도 컨텍스트 윈도우를 절약할 수 있습니다.

파라미터

| 파라미터 | 타입 | 필수 | 기본값 | 설명 | |----------|------|------|--------|------| | company_names | string[] | ✅ | - | 검색할 회사명 목록 | | platform | string | - | "all" | 검색할 플랫폼 (jobkorea, saramin, all) |

설치

# pnpm 없는 경우 "npm install -g pnpm"
pnpm install
pnpm build

사용법

npx로 실행 (권장)

Claude Code

claude mcp add job-search -- npx -y job-search-mcp

Claude Desktop

claude_desktop_config.json에 추가:

{
  "mcpServers": {
    "job-search": {
      "command": "npx",
      "args": ["-y", "job-search-mcp"]
    }
  }
}

로컬 빌드로 실행

Claude Code

claude mcp add job-search -- node /path/to/job-search-mcp/dist/index.js

Claude Desktop

{
  "mcpServers": {
    "job-search": {
      "command": "node",
      "args": ["/path/to/job-search-mcp/dist/index.js"]
    }
  }
}

질문 예시

당근마켓 채용공고 검색해줘
사람인에서 네이버 채용공고 찾아줘

일괄 검색 예시

여러 회사의 채용공고를 한 번에 검색할 때 유용합니다. search_jobs를 반복 호출하는 것보다 빠릅니다.

네이버, 카카오, 라인플러스, 당근마켓, 토스 채용공고를 한 번에 검색해줘.

대량 검색 성능 테스트 (100개사)

아래 프롬프트를 그대로 붙여넣어 search_jobs_bulk의 대량 처리 성능을 테스트할 수 있습니다.

다음 100개 회사의 채용공고를 한 번에 검색해줘:
삼성전자, SK하이닉스, LG전자, 현대자동차, 기아, 네이버, 카카오, 쿠팡, 배달의민족, 토스,
당근마켓, 라인플러스, 삼성SDS, LG CNS, SK텔레콤, KT, 현대모비스, 포스코, 한화솔루션, CJ대한통운,
셀트리온, 크래프톤, 넥슨코리아, 엔씨소프트, 넷마블, 스마일게이트, 카카오게임즈, 펄어비스, 컴투스, 데브시스터즈,
야놀자, 직방, 리디, 무신사, 마켓컬리, 오늘의집, 토스증권, 카카오뱅크, 케이뱅크, 비바리퍼블리카,
한글과컴퓨터, 더존비즈온, 안랩, 이스트소프트, 카카오엔터프라이즈, 네이버클라우드, NHN, 우아한형제들, 두나무, 하이브,
롯데정보통신, 신한은행, 하나은행, KB국민은행, 우리은행, 현대카드, 삼성생명, 교보생명, 한화생명, 미래에셋증권,
SK플래닛, 11번가, 위메프, 티몬, SSG닷컴, GS리테일, BGF리테일, 올리브영, 아모레퍼시픽, LG생활건강,
현대건설, 대우건설, GS건설, 삼성물산, SK에코플랜트, 한화건설, 롯데건설, 포스코건설, DL이앤씨, HDC현대산업개발,
CJ ENM, 스튜디오드래곤, 카카오엔터테인먼트, SM엔터테인먼트, JYP엔터테인먼트, YG엔터테인먼트, 넷플릭스코리아, 쿠팡플레이, 왓챠, 티빙,
LG이노텍, 삼성전기, SK실트론, DB하이텍, 한미반도체, 리노공업, 원익IPS, 주성엔지니어링, 코미코, 솔브레인

아키텍처

Client (LLM)
  │
  ▼
MCP Server (search_jobs / search_jobs_bulk)
  │
  ├─ 잡코리아 (HTML scraping, 15s timeout)
  └─ 사람인   (HTML scraping, 15s timeout)
  • 동시성 제어: search_jobs_bulk는 10개씩 배치로 병렬 요청
  • 결과 저장: 대량 검색 결과는 임시 파일(%TEMP%/job-search-mcp/)로 저장하여 컨텍스트 절약
  • 타임아웃: 각 HTTP 요청에 15초 AbortSignal.timeout 적용

제한사항

  • 웹 스크래핑 기반이므로, 잡코리아/사람인의 HTML 구조 변경 시 파싱이 실패할 수 있습니다.
  • 짧은 시간에 너무 많은 요청을 보내면 플랫폼 측에서 일시적으로 접근을 차단(rate limit)할 수 있습니다.
  • 각 요청에는 15초 타임아웃이 적용되어 있으며, 시간 초과 시 해당 요청은 실패 처리되고 나머지 결과는 정상 반환됩니다.

성능 기록

| 버전 | 기업 수 | 소요 시간 | 비고 | |------|---------|-----------|------| | v0.0.6 | 100 | 19.7s | 동시성 제한(10 batch) + 파일 저장 방식 |

License

MIT License. See LICENSE for details.