Skip to main content
Glama
iapke486-arch

job-mcp-server

README.md
# job-mcp-server

기획재정부(공공기관 경영정보 공개시스템, 알리오) 채용정보 조회서비스 Open API를 호출하는 MCP(Model Context Protocol) 서버입니다.

## 사전 준비: 서비스키 발급

1. [공공데이터포털](https://www.data.go.kr) 회원가입
2. [기획재정부_공공기관 채용정보 조회서비스](https://www.data.go.kr/data/15125273/openapi.do) 활용신청
3. 승인 완료 후 마이페이지 > 활용신청 현황에서 서비스키(일반 인증키, Decoding) 확인
4. 아래 환경변수에 설정

## 설치 및 빌드

```bash
git clone https://github.com/iapke486-arch/job-mcp-server.git
cd job-mcp-server

npm install
npm run build
```

## 실행

### 직접 실행 (테스트)

```bash
JOB_API_KEY=발급받은서비스키 node build/index.js
```

Windows PowerShell:

```powershell
$env:JOB_API_KEY = "발급받은서비스키"
node build/index.js
```

### Claude Desktop / Claude Code 설정

#### Claude Desktop

`claude_desktop_config.json`(보통 `%APPDATA%\Claude\claude_desktop_config.json`)에 아래와 같이 등록합니다.

```json
{
  "mcpServers": {
    "job": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/job-mcp-server/build/index.js"],
      "env": {
        "JOB_API_KEY": "발급받은서비스키"
      }
    }
  }
}
```

경로 예시:
- Windows: `C:/Users/YourName/Documents/pke/job-mcp-server/build/index.js`
- macOS/Linux: `/home/username/projects/job-mcp-server/build/index.js`

#### Claude Code CLI

```bash
claude mcp add --env JOB_API_KEY=발급받은서비스키 -- node /path/to/job-mcp-server/build/index.js
```

### 연결 확인

Claude Code: `/mcp` 목록에서 `job` 서버가 ✓ Connected 상태인지 확인하세요.

## 제공 도구 (Tools)

| Tool | 설명 |
|---|---|
| `job_search_recruitments` | 공공기관 채용공고 목록 조회. 고용형태/채용구분/근무지역/NCS 직무분야/학력조건/진행중여부로 필터링, 기관명·제목 키워드로 클라이언트 측 부분 필터링 지원 |
| `job_get_codes` | 필터에 사용하는 공통코드(고용형태, 채용구분, 근무지역, NCS 분류, 학력조건, 첨부유형, 기관유형, 주무부처) 조회 |

## 참고

- 원본 API는 JSON을 직접 지원하므로 별도 XML 파싱 없이 그대로 반환합니다.
- 기관명(`instNm`)·공고제목(`recrutPbancTtl`) 키워드 검색은 API 자체에서 지원하지 않아, `job_search_recruitments`가 조회된 페이지(`numOfRows`) 범위 내에서만 부분 일치로 필터링합니다. 특정 기관/제목을 폭넓게 찾으려면 `numOfRows`를 늘리거나 `pblntInstCd` 등 서버 필터를 함께 사용하세요.
- 코드값(`hireTypeLst`, `recrutSe`, `workRgnLst`, `ncsCdLst`, `acbgCondLst`)은 `job_get_codes`로 조회한 값을 사용해야 합니다. 출처: `MOEF_NKOD_DB_05_코드 정의서_v1.2`.
- 서비스키가 만료되었거나 잘못된 경우, API가 반환하는 원본 오류 메시지를 그대로 전달합니다.

TDQS

A4.2/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: one retrieves codes for filtering, the other searches for job postings. There is no overlap or ambiguity between them.

Naming Consistency5/5

Both tools follow the consistent verb_noun pattern with the 'job_' prefix, making them predictable and easy to understand.

Tool Count3/5

With only two tools, the server feels minimal. While it covers the basic search and code retrieval, additional tools for details or application would be expected for a recruitment domain.

Completeness2/5

The tool set lacks key operations such as retrieving details of a specific recruitment, filtering by multiple criteria simultaneously, or handling applications. This leaves significant gaps for a recruitment workflow.

Maintenance

ActivityInactive
ResponsivenessNo issues