Skip to main content
Glama
iapke486-arch

job-mcp-server

job-mcp-server

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

사전 준비: 서비스키 발급

  1. 공공데이터포털 회원가입

  2. 기획재정부_공공기관 채용정보 조회서비스 활용신청

  3. 승인 완료 후 마이페이지 > 활용신청 현황에서 서비스키(일반 인증키, Decoding) 확인

  4. 아래 환경변수에 설정

Related MCP server: Korean Law MCP Server

설치 및 빌드

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

npm install
npm run build

실행

직접 실행 (테스트)

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

Windows 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)에 아래와 같이 등록합니다.

{
  "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

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가 반환하는 원본 오류 메시지를 그대로 전달합니다.

Available Tools

2 tools
job_get_codesA

채용정보 조회에 사용하는 공통코드 목록을 조회합니다 (고용형태, 채용구분, 근무지역, NCS 직무분야, 학력조건, 첨부유형, 기관유형, 주무부처). category를 생략하면 전체 카테고리 목록만 반환합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNo조회할 코드 카테고리. 생략 시 사용 가능한 카테고리 목록만 반환

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses that omitting category returns only the list of categories. No contradictions, but could mention return format or pagination.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence that is front-loaded with verb and resource, lists categories, and includes key behavioral detail. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple tool (1 optional parameter), description covers purpose, categories, and behavior when omitted. No output schema needed for code retrieval.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with enum and description. Description reiterates the same behavior. No additional meaning beyond schema; baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it retrieves common codes for job information inquiry, listing specific categories ( hireType, recrutSe, etc.) and noting behavior when category is omitted. Distinct from sibling tool job_search_recruitments which likely searches for jobs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implicitly suggests use for obtaining code lists, but no explicit when-to-use or alternatives compared to job_search_recruitments. Context is clear but guidance is minimal.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

job_search_recruitmentsA

공공기관(370여개)이 수시로 공시하는 채용공고를 조회합니다. 채용정보API_코드정의서(job_get_codes)의 코드값으로 고용형태/채용구분/근무지역/직무분야/학력조건을 필터링할 수 있습니다. instNmKeyword/titleKeyword는 API가 아닌 이 도구가 응답을 받은 뒤 클라이언트 측에서 부분 일치로 걸러내므로, 조회된 페이지(numOfRows) 범위 내에서만 적용됩니다 — 특정 기관/제목을 폭넓게 찾고 싶다면 numOfRows를 늘리거나 pblntInstCd 등 서버 필터를 함께 사용하세요.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoNo페이지 번호 (기본 1)
ncsCdLstNoNCS 직무분야 코드 (R6000 계열)
recrutSeNo채용구분 코드 (R2000 계열, 예: R2010=신입)
numOfRowsNo페이지당 건수 (기본 20, 최대 100)
ongoingYnNo진행중(접수기간 내)인 공고만 조회하려면 Y
workRgnLstNo근무지역 코드 (R3000 계열, 예: R3010=서울)
acbgCondLstNo학력조건 코드 (R7000 계열)
hireTypeLstNo고용형태 코드 (R1000 계열, 예: R1010=정규직)
pblntInstCdNo기관코드 (공시기관코드, 정확히 일치). 예: C0021
titleKeywordNo채용공고 제목에 포함될 키워드 (클라이언트 측 부분 일치 필터)
instNmKeywordNo기관명에 포함될 키워드 (클라이언트 측 부분 일치 필터)

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses non-obvious client-side filtering behavior for certain parameters, which is a key behavioral trait. It also implies server-side filtering via other parameters. No annotations are provided, so the description handles transparency well, though it could mention rate limits or data freshness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is fairly concise, with two sentences covering purpose, filtering options, and important caveats. It is well-structured and front-loaded with the main action, though it could be slightly more streamlined.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 11 parameters and no output schema, the description covers filtering, client-side behavior, and pagination hints. However, it does not mention authentication, return format, or total count, but it is still adequately complete for an API-like tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each parameter having a description. The description adds significant value beyond the schema by explaining that instNmKeyword/titleKeyword are client-side filters and suggesting the use of server-side filters and referencing job_get_codes for code values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool queries job postings from public institutions, with specific filtering options. It uses the verb '조회합니다' (inquiries/retrieves), and distinguishes itself from the sibling tool job_get_codes, which provides code definitions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance: use job_get_codes for code values, and warns that instNmKeyword/titleKeyword are client-side filters, advising to increase numOfRows or use server-side filters like pblntInstCd for broader searches. This clearly differentiates when and how to use parameters.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updatesv0.1.0
    • First observedjob_get_codes
    • First observedjob_search_recruitments

TDQS

A4.2/5.0
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

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    This MCP server helps users prepare for Korean public institution jobs by integrating job postings, job descriptions, NCS competencies, and institutional analysis from various sources like ALIO and 클린아이.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables searching and retrieving Korean statutes, precedents, and constitutional court decisions via MCP, using the National Law Information Center API.
    2,473
    1
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables querying and scanning Korean public procurement and bidding data from multiple agencies (e.g., 나라장터, 방위사업청) through MCP tools, with deduplication and filtering handled externally.
    -
  • F
    license
    A
    quality
    C
    maintenance
    Enables searching job listings, tracking applications, managing resumes, and tailoring resumes to job posts, all locally via MCP.
    20
    -

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/iapke486-arch/job-mcp-server'

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