MCP JobSearch
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.
README
MCP JobSearch
여러 채용 공고 사이트의 공고 링크를 던져주면, MCP를 통해 연결된 Claude가 공고 원문을 가져와 분석하고(회사/직무/마감일/자격요건/우대사항/주요업무) 마감일 타임라인과 자기소개서 초안까지 관리해주는 개인용 채용공고 관리 MCP 서버입니다.
호스트(Claude Desktop 또는 Claude Code)가 LLM 분석을 담당하고, 이 서버는 원문 수집·저장·조회만 담당하는 구조라 별도 LLM API 비용이 들지 않습니다.
사전 요구사항
- Node.js 20 이상 (개발 시 22.13.0 사용)
- Claude Desktop 또는 Claude Code — 둘 중 하나만 있으면 됩니다.
설치 및 빌드
git clone https://github.com/doHoaSen/MCP_JobSearch.git
cd MCP_JobSearch
npm install
npm run build --workspace=@mcp-jobsearch/mcp-server
빌드가 끝나면 packages/mcp-server/dist/index.js가 생성됩니다. 서버는 실행 시 같은 패키지 안의 data/jobs.sqlite에 데이터를 저장합니다 (최초 실행 시 자동 생성).
Claude Code에 연결하기
리포지토리 루트의 .mcp.json이 이미 다음과 같이 설정되어 있습니다.
{
"mcpServers": {
"job-search-mcp": {
"command": "node",
"args": ["packages/mcp-server/dist/index.js"]
}
}
}
이 리포지토리 루트 폴더에서 claude 명령으로 세션을 시작하면 서버가 자동으로 인식됩니다. 최초 연결 시 claude mcp list에 Pending approval로 뜨면, 세션을 한 번 더 열어서 승인해주세요.
Claude Desktop에 연결하기
Claude Desktop 설정 파일에 아래 항목을 추가하세요. <REPO_PATH>는 이 리포지토리를 clone한 절대 경로로 바꿔주세요.
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"job-search-mcp": {
"command": "node",
"args": ["<REPO_PATH>/packages/mcp-server/dist/index.js"]
}
}
}
저장 후 Claude Desktop을 재시작하면 연결됩니다.
제공하는 툴 (Tools)
| 툴 | 설명 |
|---|---|
capture_job_posting |
채용 공고를 URL 또는 텍스트로 저장 (LLM 분석 없이 원문만) |
save_job_analysis |
호스트가 분석한 구조화 결과(회사/직무/마감일/자격요건/우대사항/주요업무) 저장 |
list_timeline |
마감일 기준 정렬된 채용 공고 목록 조회 |
get_job |
특정 공고의 전체 데이터(원문, 분석 결과, 자소서 초안) 조회 |
save_cover_letter_draft |
호스트가 생성한 자기소개서 초안 저장 |
update_profile |
자기소개서 생성에 쓰일 이력/강점 정보 갱신 |
제공하는 리소스 (Resources)
| 리소스 URI | 설명 |
|---|---|
job://{id} |
저장된 채용 공고의 전체 데이터 |
profile://user |
자기소개서 생성에 쓰이는 이력/강점 정보 |
사용 방법
Claude와의 대화창에 채용 공고 링크를 붙여넣고 분석해달라고 요청하면, Claude가 capture_job_posting으로 원문을 가져와 읽고, 구조화한 결과를 save_job_analysis로 저장합니다. 이후 "마감일 임박한 공고 보여줘" 같은 요청에는 list_timeline을, 특정 공고를 다시 볼 땐 get_job을 사용합니다.
지원하는 채용 사이트
| 사이트 | 상태 |
|---|---|
| 원티드 (wanted.co.kr) | 지원 — 비공식 내부 API(chaos/jobs/v4)로 기술스택 태그까지 포함 |
| 사람인 (saramin.co.kr) | 지원 — view-ajax 엔드포인트로 상세페이지 fetch |
| 잡코리아 (jobkorea.co.kr) | 지원 — 정적 HTML |
| 점핏 (jumpit.saramin.co.kr) | 지원 — 정적 HTML |
| 그룹바이 (groupby.kr) | 지원 — 정적 HTML |
| 그 외 사이트 | 별도 처리가 없어 정적 HTML 파싱만 시도합니다. 클라이언트 렌더링 페이지는 원문이 비어있을 수 있습니다. |
새 사이트에서 fetch가 안 될 경우, 브라우저 개발자도구 Network 탭에서 실제 콘텐츠를 채우는 API 요청을 찾아 packages/mcp-server/src/lib/fetchPosting.ts에 사이트별 처리를 추가하는 방식으로 해결해왔습니다.
한계점
- 원티드/사람인은 각 사이트의 비공식 내부 API를 사용하므로, 사이트 구조가 바뀌면 다시 깨질 수 있습니다.
- 로그인이 필요한 비공개 공고나, 위 방식으로도 원문을 가져올 수 없는 사이트는 지원하지 않습니다.
- 데이터는 로컬 SQLite 파일에만 저장되며, 여러 사람이 데이터를 공유하는 구조가 아닙니다 (개인용).
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。