Skip to main content
Glama
ChangooLee

mcp-kr-g2b

by ChangooLee

한국어 | English

MCP 조달청 나라장터 (KR-G2B)

License Python

조달청 나라장터(국가종합전자조달, G2B)누리장터(민간조달) OpenAPI를 위한 Model Context Protocol(MCP) 서버입니다. 공공데이터포털(data.go.kr)을 통해 제공되는 조달청 14개 서비스, 156개 오퍼레이션을 AI 어시스턴트가 자연어로 조회·분석할 수 있게 합니다.

입찰공고·사전규격·낙찰·계약·발주계획·가격정보·공공조달통계까지, 공공조달 전 과정의 데이터를 하나의 MCP로 연결합니다.

사용 예시

AI 어시스턴트에게 다음과 같은 요청을 할 수 있습니다:

  • 📢 입찰공고 검색 — "2024년 1월에 올라온 공사 입찰공고를 찾아줘"

  • 🏆 낙찰 분석 — "특정 수요기관의 최근 물품 낙찰 현황을 정리해줘"

  • 📄 계약 조회 — "지난달 체결된 용역 계약 내역을 보여줘"

  • 💰 가격정보 — "시설자재(토목) 가격정보를 조회해줘"

  • 📊 조달통계 — "기관 구분별 공공조달 실적 통계를 알려줘"

  • 🏗️ 사전규격 — "발주 예정인 사전규격(사전공개) 목록을 확인해줘"

Related MCP server: narajangteo-pro

지원 서비스

조달청 OpenAPI 14개 서비스를 모두 포함합니다. 각 서비스는 get_<module>_data 도구 하나로 호출하며, operation 파라미터로 세부 오퍼레이션을 지정합니다.

구분

서비스

도구

오퍼레이션

나라장터

입찰공고정보서비스

get_bid_data

25

사전규격정보서비스

get_prestd_data

20

낙찰정보서비스

get_scsbid_data

23

계약정보서비스

get_contract_data

21

계약과정 통합공개서비스

get_contract_process_data

4

발주계획 현황서비스

get_order_plan_data

8

가격정보 현황서비스

get_price_data

11

공공데이터 개방표준서비스

get_data_standard_data

3

업종 및 근거법규서비스

get_industry_data

1

사용자정보서비스

get_user_info_data

5

공공조달

공공조달통계정보서비스

get_stats_data

14

누리장터

민간입찰공고서비스

get_nuri_bid_data

10

민간낙찰정보서비스

get_nuri_scsbid_data

7

민간계약정보서비스

get_nuri_contract_data

4

디스커버리·캐시 도구

도구

설명

list_g2b_services

14개 서비스와 오퍼레이션 개요 목록 (탐색 시작점)

get_g2b_operation_info

특정 오퍼레이션의 요청 파라미터·필수여부·응답 필드·예제 URL

get_g2b_cache_data

캐시 결과를 필드 필터/제외/정규식/의미 기반 재정렬/페이지로 상세 조회

총 17개 MCP 도구 = 서비스 디스패처 14개 + 디스커버리/캐시 3개. 오퍼레이션이 156개로 많아, "서비스당 도구 1개 + operation 파라미터" 방식으로 설계해 도구 수를 안정적으로 유지합니다.

권장 사용 흐름

1. list_g2b_services()                         → 어떤 서비스/오퍼레이션이 있는지 파악
2. get_g2b_operation_info("bid", "getBidPblancListInfoCnstwk")
                                               → 정확한 파라미터(필수/선택) 확인
3. get_bid_data(operation="getBidPblancListInfoCnstwk",
                params={"inqryDiv": "1",
                        "inqryBgnDt": "202401010000",
                        "inqryEndDt": "202401312359"})
                                               → 전체 페이지 수집 + 캐시 저장 + 요약 반환
4. get_g2b_cache_data(cache_file="...",        → 캐시에서 상세/필터 조회
                      field_name="dminsttNm",
                      field_value_substring="서울")

대량 결과는 LLM 컨텍스트를 보호하기 위해 요약 + 미리보기 5건 + 캐시 파일 경로만 반환하며, 전체 데이터는 캐시 파일에 저장되어 get_g2b_cache_data 로 탐색합니다.

키워드 정밀도 보정 & 의미 기반 리랭커

조달청 검색 API의 공고명(bidNtceNm) 필터는 단순 부분일치라 노이즈가 섞입니다 — 예: 재활재활용(폐기물), 투자투자유치/투자설명회. get_g2b_cache_data 가 이를 보정합니다.

# 1) 어휘 필터 (의존성 없음, 기본 제공)
get_g2b_cache_data(cache_file, field_name="bidNtceNm",
                   exclude_substrings=["재활용","직업재활시설"])      # 노이즈 제거
get_g2b_cache_data(cache_file, field_value_regex="재활(?!용)")        # 정밀 매칭

# 2) 의미 기반 재정렬 (선택 설치: pip install "mcp-kr-g2b[ml]")
get_g2b_cache_data(cache_file,
                   rerank_query="디지털 헬스케어 AI 근골격계 재활 동작분석")
#  → 회사/사업 설명문과의 유사도(ko-sroberta 임베딩)로 적합도 순 정렬 + _relevance 점수

리랭커는 sentence-transformers(torch 포함)가 필요해 기본 설치에서 제외했습니다. 미설치 시 rerank_query 호출은 설치 안내를 반환하고, 그 외 기능은 정상 동작합니다. 모델은 G2B_RERANK_MODEL(기본 jhgan/ko-sroberta-multitask)로 변경할 수 있습니다.

빠른 시작 가이드

1. 인증 설정 (서비스키 발급)

조달청 OpenAPI는 공공데이터포털을 통해 제공됩니다.

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

  2. 사용할 조달청 서비스(예: "나라장터 입찰공고정보서비스")를 검색하여 활용신청

  3. 마이페이지 → 오픈API → 인증키에서 일반 인증키(Encoding) 확인

  4. 부동산(mcp-kr-realestate) 서버와 동일한 키를 공유할 수 있습니다.

참고: 서비스마다 활용신청 승인이 필요합니다. 승인되지 않은 서비스 호출 시 20 서비스 접근 거부 에러가 반환됩니다.

2. 설치

# 저장소 복제
git clone https://github.com/ChangooLee/mcp-kr-g2b.git
cd mcp-kr-g2b

# Python 3.10 이상 필수
python3 -m venv .venv
source .venv/bin/activate

# 패키지 설치
python3 -m pip install --upgrade pip
pip install -e .

# (선택) 의미 기반 리랭커까지 설치하려면 — torch 포함, 용량 큼
pip install -e ".[ml]"

3. 환경변수 설정

.env.example 을 복사하여 .env 를 만들고 서비스키를 입력합니다.

cp .env.example .env
# .env 편집: PUBLIC_DATA_API_KEY_ENCODED=발급받은_Encoding_키

IDE 통합

Claude Desktop 설정

햄버거 메뉴(☰) > Settings > Developer > "Edit Config" 에서 추가:

{
  "mcpServers": {
    "mcp-kr-g2b": {
      "command": "YOUR_LOCATION/.venv/bin/mcp-kr-g2b",
      "env": {
        "PUBLIC_DATA_API_KEY_ENCODED": "발급받은_Encoding_서비스키",
        "TRANSPORT": "stdio",
        "LOG_LEVEL": "INFO",
        "MCP_SERVER_NAME": "mcp-kr-g2b"
      }
    }
  }
}

Streamable HTTP (선택)

{
  "mcpServers": {
    "mcp-kr-g2b": {
      "command": "YOUR_LOCATION/.venv/bin/mcp-kr-g2b",
      "env": {
        "PUBLIC_DATA_API_KEY_ENCODED": "발급받은_Encoding_서비스키",
        "HOST": "0.0.0.0",
        "PORT": "8002",
        "TRANSPORT": "streamable-http",
        "LOG_LEVEL": "INFO",
        "MCP_SERVER_NAME": "mcp-kr-g2b"
      }
    }
  }
}
NOTE
  • YOUR_LOCATION: 가상환경이 설치된 실제 경로로 변경

  • TRANSPORT="streamable-http" 설정 시 엔드포인트는 http://HOST:PORT/mcp

주요 환경 변수

변수

설명

기본값

PUBLIC_DATA_API_KEY_ENCODED

공공데이터포털 서비스키(Encoding). G2B_SERVICE_KEY 로도 지정 가능

(필수)

G2B_NUM_OF_ROWS

페이지당 결과 수(최대 999)

500

G2B_MAX_PAGES

전체 조회 시 최대 페이지 수

50

G2B_REQUEST_TIMEOUT

요청 타임아웃(초)

60

G2B_MAX_RETRIES

일시적 오류(타임아웃/5xx/4xx) 재시도 횟수

3

G2B_RETRY_BACKOFF

재시도 지수 백오프 기준(초)

0.6

G2B_TLS_VERIFY

https 호스트 사용 시 TLS 인증서 검증

true

MCP_G2B_CACHE_DIR

캐시 디렉토리

패키지 내부(utils/_cache_store/raw_data)

G2B_RERANK_MODEL

(선택) 리랭커 임베딩 모델

jhgan/ko-sroberta-multitask

G2B_RERANK_MAX_CANDIDATES

(선택) 리랭크 평가 후보 상한

2000

HOST / PORT

서버 호스트/포트

0.0.0.0 / 8002

TRANSPORT

stdio / streamable-http / sse

stdio

LOG_LEVEL

로깅 레벨

INFO

잘못된 값(예: 숫자 환경변수에 문자)이 들어와도 서버가 죽지 않고 경고 후 기본값으로 폴백합니다.

Docker로 실행하기

# 이미지 빌드
docker build -t mcp-kr-g2b:latest .

# .env 파일 사용(권장)
docker run -d \
  --name mcp-kr-g2b \
  -p 8002:8002 \
  --env-file .env \
  -e TRANSPORT=streamable-http \
  mcp-kr-g2b:latest

# 또는 환경변수 직접 전달
docker run -d \
  --name mcp-kr-g2b \
  -p 8002:8002 \
  -e PUBLIC_DATA_API_KEY_ENCODED=your-encoded-key \
  -e TRANSPORT=streamable-http \
  mcp-kr-g2b:latest

아키텍처

mcp-opendart 의 모듈 구조와 mcp-kr-realestate 의 공공데이터포털 호출/캐싱 전략을 결합했습니다.

src/mcp_kr_g2b/
├── server.py              # FastMCP 엔트리, G2BContext(전역 컨텍스트), 도구 등록
├── config.py              # G2BConfig / MCPConfig (환경변수)
├── apis/
│   ├── client.py          # 공공데이터포털 클라이언트(curl 우선 + requests 폴백,
│   │                      #   serviceKey 처리, JSON/XML 자동판별, 페이지네이션)
│   └── service.py         # G2BService: 번들 명세 기반 제네릭 서비스 호출
├── tools/
│   ├── <module>_tools.py  # 서비스별 get_<module>_data 도구 (14개, 코드 생성)
│   ├── common_tools.py    # list_g2b_services / get_g2b_operation_info / get_g2b_cache_data
│   └── _helpers.py        # 디스패치·요약·설명 생성 공통 로직
├── specs/                 # 조달청 OpenAPI 명세(JSON, 원본 .docx 파싱 결과)
└── utils/
    ├── cache.py           # 조회 결과 캐싱(raw → JSON 파일, 원자적 기록) + 요약
    ├── reranker.py        # (선택) 의미 기반 리랭커 — sentence-transformers 지연 임포트
    └── ctx_helper.py      # 컨텍스트 폴백, as_json_text

호출·캐싱 흐름

graph TD
    A["get_&lt;module&gt;_data(operation, params)"] --> B[G2BService.fetch]
    B --> C[G2BClient.fetch_all<br/>numOfRows/pageNo 페이지네이션]
    C --> D{JSON or XML?}
    D --> E[items / totalCount 정규화]
    E --> F[전체 결과 → 캐시 JSON 저장]
    F --> G[요약 + 미리보기 5건 + cache_file 반환]
    G --> H["get_g2b_cache_data 로 상세/필터 조회"]

문제 해결 및 디버깅

조달청 OpenAPI는 공통 에러코드를 사용합니다:

코드

의미

조치

00

정상

-

03 / 07

데이터 없음 / 입력범위 초과

조회조건(기간 등) 확인 (빈 결과로 처리)

10~12

잘못된 요청 / 필수 파라미터 누락

get_g2b_operation_info 로 필수 파라미터 확인

20

서비스 접근 거부

해당 서비스 활용신청 승인 여부 확인

22

요청 제한 초과

일일 트래픽 한도 확인

30/31

등록되지 않은/만료된 서비스키

키 값 및 인코딩(Encoding 키 사용) 확인

# 상세 로깅
export LOG_LEVEL=DEBUG

인증키 인코딩: 본 서버는 어떤 키(Encoding/Decoding)를 넣어도 정규 인코딩 형식으로 변환해 사용하며, 서비스별로 동작하는 키 형식을 자동 탐지·캐시합니다. %2B, %2F, %3D 등이 포함된 Encoding 키를 그대로 넣는 것을 권장합니다.

신뢰성 & 품질

공용 배포를 위해 다음을 보강했습니다(라이브 156개 오퍼레이션 전수 검증 기반).

  • 재시도 + 지수 백오프: 게이트웨이의 일시적 5xx/타임아웃/4xx 를 자동 재시도. 4xx 본문을 데이터로 오인하지 않도록 curl --fail 적용.

  • 키 형식 자동 페일오버: Encoding/Decoding 차이를 흡수하고, 정상 응답 본문의 우연한 문자열에 오탐하지 않도록 resultCode 우선 판정.

  • 정확한 페이지네이션: totalCount 미제공 시에도 "가득 찬 페이지" 기준으로 끝까지 수집(1페이지 조용한 종료 방지). 상한(max_pages) 도달 시 truncated/missingCount 로 절단을 명시.

  • 캐시 견고성: 호출 변형(전체조회 vs 페이지)을 키에 반영해 덮어쓰기 충돌 방지, cachedAt(신선도) 기록, 임시파일+os.replace 원자적 기록, 동시성 락.

  • 명확한 에러: HTML 점검페이지/깨진 응답을 graceful 처리하고, 비-bid 캐시에 없는 필드로 필터하면 무음 0건 대신 FIELD_NOT_FOUND 를 반환.

  • 테스트: pytest 40종(명세 무결성·클라이언트 파싱·캐시·도구). 네트워크 없이 실행됩니다.

pip install -e ".[dev]"
pytest -q

보안

  • 서비스키를 절대 공유하지 마세요.

  • .env 파일을 안전하게 보관하고 저장소에 커밋하지 마세요(.gitignore 적용됨).

  • API 사용량(일일 트래픽)을 모니터링하세요.

라이선스

이 프로젝트는 비상업적, 개인, 연구/학습, 비영리 목적에 한해 사용할 수 있습니다(CC BY-NC 4.0). 상업적 사용은 금지됩니다. 자세한 내용은 LICENSE를 참고하세요.

이 프로젝트는 공식 조달청 제품이 아닙니다. 데이터의 정확성·최신성은 공공데이터포털 및 조달청 원본을 기준으로 합니다.

Available Tools

17 tools
get_bid_dataA

[나라장터 입찰공고정보서비스] 조달청 나라장터 OpenAPI 조회 도구. operation 에 아래 오퍼레이션명(영문) 중 하나를 지정하고, params 에 해당 오퍼레이션의 조회조건을 dict 로 전달하세요. numOfRows/pageNo/type/serviceKey 는 자동 처리됩니다. 각 오퍼레이션의 정확한 파라미터/응답필드는 get_g2b_operation_info('bid', '') 로 확인하세요.

사용 가능한 오퍼레이션 (25개):

  • getBidPblancListInfoCnstwk: 입찰공고목록 정보에 대한 공사조회

  • getBidPblancListInfoServc: 입찰공고목록 정보에 대한 용역조회

  • getBidPblancListInfoFrgcpt: 입찰공고목록 정보에 대한 외자조회

  • getBidPblancListInfoThng: 입찰공고목록 정보에 대한 물품조회

  • getBidPblancListInfoThngBsisAmount: 입찰공고목록 정보에 대한 물품기초금액조회

  • getBidPblancListInfoCnstwkBsisAmount: 입찰공고목록 정보에 대한 공사기초금액조회

  • getBidPblancListInfoServcBsisAmount: 입찰공고목록 정보에 대한 용역기초금액조회

  • getBidPblancListInfoChgHstryThng: 입찰공고목록 정보에 대한 물품변경이력조회

  • getBidPblancListInfoChgHstryCnstwk: 입찰공고목록 정보에 대한 공사변경이력조회

  • getBidPblancListInfoChgHstryServc: 입찰공고목록 정보에 대한 용역변경이력조회

  • getBidPblancListInfoCnstwkPPSSrch: 나라장터검색조건에 의한 입찰공고공사조회

  • getBidPblancListInfoServcPPSSrch: 나라장터검색조건에 의한 입찰공고용역조회

  • getBidPblancListInfoFrgcptPPSSrch: 나라장터검색조건에 의한 입찰공고외자조회

  • getBidPblancListInfoThngPPSSrch: 나라장터검색조건에 의한 입찰공고물품조회

  • getBidPblancListInfoLicenseLimit: 입찰공고목록 정보에 대한 면허제한정보조회

  • getBidPblancListInfoPrtcptPsblRgn: 입찰공고목록 정보에 대한 참가가능지역정보조회

  • getBidPblancListInfoThngPurchsObjPrdct: 입찰공고목록 정보에 대한 물품 구매대상물품조회

  • getBidPblancListInfoServcPurchsObjPrdct: 입찰공고목록 정보에 대한 용역 구매대상물품조회

  • getBidPblancListInfoFrgcptPurchsObjPrdct: 입찰공고목록 정보에 대한 외자 구매대상물품조회

  • getBidPblancListInfoEorderAtchFileInfo: 입찰공고목록 정보에 대한 e발주 첨부파일정보조회

  • getBidPblancListInfoEtc: 입찰공고목록 정보에 대한 기타공고조회

  • getBidPblancListInfoEtcPPSSrch: 나라장터검색조건에 의한 입찰공고 기타조회

  • getBidPblancListPPIFnlRfpIssAtchFileInfo: 입찰공고목록 정보에 대한 혁신장터 최종제안요청서 교부 첨부파일정보조회

  • getBidPblancListBidPrceCalclAInfo: 입찰공고목록 정보에 대한 입찰가격산식A정보조회

  • getBidPblancListEvaluationIndstrytyMfrcInfo: 입찰공고목록 정보에 대한 평가대상주력분야 조회

자주 쓰는 조회조건: inqryDiv(조회구분 코드, 보통 1=등록/공고일시), inqryBgnDt/inqryEndDt(YYYYMMDDHHMM 조회기간), bidNtceNo(입찰공고번호), dminsttNm(수요기관명), indstrytyNm(업종명), prdctClsfcNo(품목분류번호) 등. ⚠️ 날짜 기반 조회(inqryBgnDt/inqryEndDt 등)는 보통 한 번에 1개월 이내 범위만 허용됩니다. 기간이 길면 월 단위로 나눠 호출하세요. 'PPSSrch' 오퍼레이션은 bidNtceNm(공고명 일부)/indstrytyNm/추정가격 범위 등 상세 검색조건을 지원합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYes오퍼레이션명(영문). 예: getBidPblancListInfoCnstwk (입찰공고목록 정보에 대한 공사조회)
paramsNo오퍼레이션별 조회조건 dict (예: inqryDiv, inqryBgnDt, inqryEndDt, bidNtceNo 등). 정확한 키는 get_g2b_operation_info 로 확인
fetch_allNoTrue 면 totalCount 까지 전체 페이지 수집, False 면 단일 페이지
num_of_rowsNo페이지당 결과 수(기본 500, 최대 999. 대량수집 시 요청수↓)
page_noNo페이지 번호. 지정하면 해당 페이지만 단건 조회

TDQS

A4.7/5.0
Behavior4/5

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

No annotations are provided, so the description must disclose behavioral traits. It explains that the tool is a query interface to an external API, automatically handles common parameters (numOfRows, pageNo, type, serviceKey), and notes date range restrictions. It does not explicitly state it is read-only, but the query nature is evident. A more explicit statement about side effects would raise the score.

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?

The description is appropriately sized for a complex tool with 25 operations. It is well-structured: purpose overview, operation list, common parameters, and a warning. Every sentence adds necessary information, and the most critical guidance (how to use operations and params) is front-loaded.

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 the complexity (25 operations, no output schema), the description provides a good starting point. It explains how to set up queries and points to another tool for detailed parameter/response info. It lacks explicit error handling or rate limit information, but the core usage is well-covered.

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?

The input schema covers all 5 parameters with descriptions. The description adds significant value by listing all 25 possible 'operation' values, giving common query condition keys (inqryDiv, inqryBgnDt, etc.), and providing a crucial warning about 1-month date range limits. It also directs users to another tool for exact parameter/response details, compensating for the lack of param enums.

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 it's a tool for querying the Korea Public Procurement Service (나라장터) OpenAPI for bid announcements. It lists all 25 specific operations, distinguishing it from sibling tools that handle other data types (contracts, industry, etc.). The verb 'get' and resource 'bid_data' are well-defined.

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?

It provides explicit guidance on how to use the tool: specify an operation in the 'operation' parameter and pass query conditions in 'params'. It warns about date range limitations (1 month per call) and recommends using 'get_g2b_operation_info' for exact parameter details. Alternatives among siblings are implied by context (other get_*_data tools).

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

get_contract_dataA

[나라장터 계약정보서비스] 조달청 나라장터 OpenAPI 조회 도구. operation 에 아래 오퍼레이션명(영문) 중 하나를 지정하고, params 에 해당 오퍼레이션의 조회조건을 dict 로 전달하세요. numOfRows/pageNo/type/serviceKey 는 자동 처리됩니다. 각 오퍼레이션의 정확한 파라미터/응답필드는 get_g2b_operation_info('contract', '') 로 확인하세요.

사용 가능한 오퍼레이션 (21개):

  • getCntrctInfoListThng: 계약현황에 대한 물품조회

  • getCntrctInfoListThngDetail: 계약현황에 대한 물품세부조회

  • getCntrctInfoListThngPPSSrch: 나라장터검색조건에 의한 계약현황 물품조회

  • getCntrctInfoListThngChgHstry: 계약현황에 대한 물품변경이력조회

  • getCntrctInfoListThngDltHstry: 계약현황에 대한 물품삭제이력조회

  • getCntrctInfoListCnstwk: 계약현황에 대한 공사조회

  • getCntrctInfoListCnstwkServcInfo: 계약현황에 대한 공사서비스정보조회

  • getCntrctInfoListCnstwkPPSSrch: 나라장터검색조건에 의한 계약현황 공사조회

  • getCntrctInfoListCnstwkChgHstry: 계약현황에 대한 공사변경이력조회

  • getCntrctInfoListCnstwkDltHstry: 계약현황에 대한 공사삭제이력조회

  • getCntrctInfoListServc: 계약현황에 대한 용역조회

  • getCntrctInfoListGnrlServcServcInfo: 계약현황에 대한 일반용역서비스정보조회

  • getCntrctInfoListTechServcServcInfo: 계약현황에 대한 기술용역서비스정보조회

  • getCntrctInfoListServcPPSSrch: 나라장터검색조건에 의한 계약현황 용역조회

  • getCntrctInfoListServcChgHstry: 계약현황에 대한 용역변경이력조회

  • getCntrctInfoListServcDltHstry: 계약현황에 대한 용역삭제이력조회

  • getCntrctInfoListFrgcpt: 계약현황에 대한 외자조회

  • getCntrctInfoListFrgcptDetail: 계약현황에 대한 외자세부조회

  • getCntrctInfoListFrgcptPPSSrch: 나라장터검색조건에 의한 계약현황 외자조회

  • getCntrctInfoListFrgcptChgHstry: 계약현황에 대한 외자변경이력조회

  • getCntrctInfoListFrgcptDltHstry: 계약현황에 대한 외자삭제이력조회

자주 쓰는 조회조건: inqryDiv(조회구분 코드, 보통 1=등록/공고일시), inqryBgnDt/inqryEndDt(YYYYMMDDHHMM 조회기간), bidNtceNo(입찰공고번호), dminsttNm(수요기관명), indstrytyNm(업종명), prdctClsfcNo(품목분류번호) 등. ⚠️ 날짜 기반 조회(inqryBgnDt/inqryEndDt 등)는 보통 한 번에 1개월 이내 범위만 허용됩니다. 기간이 길면 월 단위로 나눠 호출하세요. 'PPSSrch' 오퍼레이션은 bidNtceNm(공고명 일부)/indstrytyNm/추정가격 범위 등 상세 검색조건을 지원합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYes오퍼레이션명(영문). 예: getCntrctInfoListThng (계약현황에 대한 물품조회)
paramsNo오퍼레이션별 조회조건 dict (예: inqryDiv, inqryBgnDt, inqryEndDt, bidNtceNo 등). 정확한 키는 get_g2b_operation_info 로 확인
fetch_allNoTrue 면 totalCount 까지 전체 페이지 수집, False 면 단일 페이지
num_of_rowsNo페이지당 결과 수(기본 500, 최대 999. 대량수집 시 요청수↓)
page_noNo페이지 번호. 지정하면 해당 페이지만 단건 조회

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries full transparency burden. It discloses that it queries an API, automatically handles some parameters (numOfRows, pageNo, type, serviceKey), supports pagination via fetch_all, and imposes a 1-month date range limit. It does not describe mutability or auth needs, but the overall behavior is well-explained.

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 well-structured: it starts with overall purpose, then instructions, a complete list of operations (necessary for this complex tool), common parameters, and warnings. While lengthy, it avoids redundancy and every sentence provides useful information. The list of operations could be more concise, but it helps the agent understand available sub-functions.

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 the tool's complexity (21 operations, multiple optional parameters, no output schema, no annotations), the description is fairly complete. It explains how to use the tool, pagination behavior, date constraints, and directs users to get_g2b_operation_info for detailed parameter/response fields. Rate limits or exact return structure could be added, but overall it provides sufficient context for an AI agent.

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?

Although the schema already describes all parameters (100% coverage), the description adds significant value: it lists common query conditions (inqryDiv, inqryBgnDt, etc.), explains that numOfRows/type/serviceKey are auto-handled, describes the meaning of fetch_all, and provides context for each of the 21 operations. This goes well beyond the schema descriptions.

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 it is a tool for querying the Korea Procurement Service OpenAPI for contract data, and lists 21 specific sub-operations. The verb 'get' and resource 'contract data' are explicit, distinguishing it from sibling tools that handle different data types like bid or industry data.

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?

The description provides detailed usage instructions: specify an operation, pass parameters as a dict, use get_g2b_operation_info for exact fields, and handle pagination. It warns about date range limits (1 month) and explains automatic param handling. However, it does not explicitly contrast with sibling tools or state when not to use this tool.

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

get_contract_process_dataA

[나라장터 계약과정통합공개서비스] 조달청 나라장터 OpenAPI 조회 도구. operation 에 아래 오퍼레이션명(영문) 중 하나를 지정하고, params 에 해당 오퍼레이션의 조회조건을 dict 로 전달하세요. numOfRows/pageNo/type/serviceKey 는 자동 처리됩니다. 각 오퍼레이션의 정확한 파라미터/응답필드는 get_g2b_operation_info('contract_process', '') 로 확인하세요.

사용 가능한 오퍼레이션 (4개):

  • getCntrctProcssIntgOpenFrgcpt: 계약과정통합공개정보에 대한 외자조회

  • getCntrctProcssIntgOpenThng: 계약과정통합공개정보에 대한 물품조회

  • getCntrctProcssIntgOpenServc: 계약과정통합공개정보에 대한 용역조회

  • getCntrctProcssIntgOpenCnstwk: 계약과정통합공개정보에 대한 공사조회

자주 쓰는 조회조건: inqryDiv(조회구분 코드, 보통 1=등록/공고일시), inqryBgnDt/inqryEndDt(YYYYMMDDHHMM 조회기간), bidNtceNo(입찰공고번호), dminsttNm(수요기관명), indstrytyNm(업종명), prdctClsfcNo(품목분류번호) 등. ⚠️ 날짜 기반 조회(inqryBgnDt/inqryEndDt 등)는 보통 한 번에 1개월 이내 범위만 허용됩니다. 기간이 길면 월 단위로 나눠 호출하세요. 'PPSSrch' 오퍼레이션은 bidNtceNm(공고명 일부)/indstrytyNm/추정가격 범위 등 상세 검색조건을 지원합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYes오퍼레이션명(영문). 예: getCntrctProcssIntgOpenFrgcpt (계약과정통합공개정보에 대한 외자조회)
paramsNo오퍼레이션별 조회조건 dict (예: inqryDiv, inqryBgnDt, inqryEndDt, bidNtceNo 등). 정확한 키는 get_g2b_operation_info 로 확인
fetch_allNoTrue 면 totalCount 까지 전체 페이지 수집, False 면 단일 페이지
num_of_rowsNo페이지당 결과 수(기본 500, 최대 999. 대량수집 시 요청수↓)
page_noNo페이지 번호. 지정하면 해당 페이지만 단건 조회

TDQS

A4.8/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 explains the tool queries an external API, auto-handles some parameters, and imposes a date range limitation. Does not explicitly state read-only or authentication, but it is a query tool. The information is sufficient for safe usage.

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?

The description is well-organized: starts with purpose, then step-by-step instructions, list of operations, common parameters, and a warning. Every sentence adds value, and it is not excessively long.

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 no output schema, the description compensates by directing users to get_g2b_operation_info for response fields. It covers pagination (fetch_all, num_of_rows, page_no), date range limitation, and operation-specific guidance. The tool is complex, but the description provides enough context for effective use.

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?

While schema coverage is 100%, the description adds critical operational context: explains auto-handling of numOfRows/pageNo/type/serviceKey, lists common query conditions, warns about date range limits, and directs user to another tool for exact parameter details. This greatly enhances understanding beyond the schema.

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 the tool queries the Korean procurement system's contract process integrated disclosure service. It lists four specific operations (foreign goods, goods, services, construction) and includes the Korean name. The purpose is distinct from sibling tools (e.g., get_bid_data, get_contract_data).

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?

Provides explicit instructions: set 'operation', pass 'params' dict, notes auto-handled parameters, advises checking exact fields via get_g2b_operation_info, lists common query conditions, warns about 1-month date range limit and suggests splitting, mentions PPSSrch for detailed search.

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

get_data_standard_dataA

[나라장터 공공데이터개방표준서비스] 조달청 나라장터 OpenAPI 조회 도구. operation 에 아래 오퍼레이션명(영문) 중 하나를 지정하고, params 에 해당 오퍼레이션의 조회조건을 dict 로 전달하세요. numOfRows/pageNo/type/serviceKey 는 자동 처리됩니다. 각 오퍼레이션의 정확한 파라미터/응답필드는 get_g2b_operation_info('data_standard', '') 로 확인하세요.

사용 가능한 오퍼레이션 (3개):

  • getDataSetOpnStdBidPblancInfo: 데이터셋 개방표준에 따른 입찰공고정보

  • getDataSetOpnStdScsbidInfo: 데이터셋 개방표준에 따른 낙찰정보

  • getDataSetOpnStdCntrctInfo: 데이터셋 개방표준에 따른 계약정보

자주 쓰는 조회조건: inqryDiv(조회구분 코드, 보통 1=등록/공고일시), inqryBgnDt/inqryEndDt(YYYYMMDDHHMM 조회기간), bidNtceNo(입찰공고번호), dminsttNm(수요기관명), indstrytyNm(업종명), prdctClsfcNo(품목분류번호) 등. ⚠️ 날짜 기반 조회(inqryBgnDt/inqryEndDt 등)는 보통 한 번에 1개월 이내 범위만 허용됩니다. 기간이 길면 월 단위로 나눠 호출하세요. 'PPSSrch' 오퍼레이션은 bidNtceNm(공고명 일부)/indstrytyNm/추정가격 범위 등 상세 검색조건을 지원합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYes오퍼레이션명(영문). 예: getDataSetOpnStdBidPblancInfo (데이터셋 개방표준에 따른 입찰공고정보)
paramsNo오퍼레이션별 조회조건 dict (예: inqryDiv, inqryBgnDt, inqryEndDt, bidNtceNo 등). 정확한 키는 get_g2b_operation_info 로 확인
fetch_allNoTrue 면 totalCount 까지 전체 페이지 수집, False 면 단일 페이지
num_of_rowsNo페이지당 결과 수(기본 500, 최대 999. 대량수집 시 요청수↓)
page_noNo페이지 번호. 지정하면 해당 페이지만 단건 조회

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It discloses that the tool calls an external API, that certain parameters are auto-processed, and that date-based queries are limited to 1-month ranges. However, it does not explicitly state that the tool is read-only, nor does it describe error handling, rate limits, or what happens if an invalid operation is provided.

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 well-structured: an introductory sentence, clear instructions, a bullet list of operations, common parameters, and a warning. It is appropriately sized for the complexity, with no redundant sentences. A slightly more concise presentation without the extraneous 'PPSSrch' mention could improve it.

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

Completeness3/5

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

Given the lack of an output schema, the description does not explain the return format or structure. It redirects users to get_g2b_operation_info for response fields, which is a reasonable workaround but leaves the description incomplete. It does cover pagination behavior (fetch_all) and the date range constraint, which is helpful.

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

Parameters4/5

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

The input schema provides 100% description coverage for all 5 parameters. The tool description adds value by giving common query conditions for the 'params' parameter (e.g., inqryDiv, inqryBgnDt) with Korean explanations, and by clarifying that numOfRows, pageNo, type, serviceKey are auto-processed. This enhances understanding beyond the schema alone.

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 the tool is for querying the '나라장터 공공데이터개방표준서비스' and lists three specific operations (getDataSetOpnStdBidPblancInfo, getDataSetOpnStdScsbidInfo, getDataSetOpnStdCntrctInfo) that correspond to distinct data categories (bids, successful bids, contracts). The verb '조회' (query) is specific, and the tool is differentiated from siblings by its focus on the 'data_standard' service.

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?

The description provides detailed usage instructions: specifying operation and params, noting that some parameters are auto-handled, and directing users to get_g2b_operation_info for precise parameter/response fields. It also warns about date range limits (1 month) and suggests monthly splitting. However, it does not explicitly state when to use this tool versus its siblings (e.g., get_bid_data), nor does it list exclusion cases.

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

get_g2b_cache_dataA

get__data 호출로 저장된 캐시 파일(cache_file)에서 전체 결과를 필드 필터/페이지 단위로 조회합니다. 대량 조회 결과를 미리보기 이후 상세 탐색할 때 사용합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
cache_fileYesget_<module>_data 가 반환한 cache_file 경로
field_nameNo필터링할 응답 필드명
field_value_substringNo필드 값에 포함될 부분 문자열
offsetNo시작 인덱스(0부터)
limitNo반환 최대 건수

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided. Description indicates read-only operation on cache file. Does not disclose error handling, authentication needs, or rate limits, but for a simple query tool it's minimally adequate.

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?

Two concise sentences. Front-loaded with main action and usage context. No extraneous information.

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 5 parameters and no output schema/annotations, description provides adequate purpose and usage context. Missing details on return format or errors, but overall sufficient for a query tool.

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

Parameters4/5

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

Schema coverage is 100% with parameter descriptions. Tool description adds context by mentioning 'field filter/page unit', reinforcing parameter roles. Adds value beyond schema but does not extensively elaborate.

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 the tool queries cached files from get_<module>_data calls with field filters and pagination. It distinguishes from sibling get_*_data tools which generate the cache.

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?

Explicitly says 'used for detailed exploration after previewing large query results', providing clear context. Lacks explicit when-not-to-use or alternatives, but sibling relationship implies correct usage.

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

get_g2b_operation_infoA

특정 서비스 오퍼레이션의 상세 명세(요청 파라미터·필수여부·응답 필드·예제 URL)를 조회합니다. get__data 를 호출하기 전에 params 에 넣을 정확한 파라미터명을 확인할 때 사용하세요. operation 을 생략하면 해당 서비스의 전체 오퍼레이션 목록을 반환합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
moduleYes서비스 모듈명 (예: bid, scsbid, contract, price …). list_g2b_services 로 확인
operationNo오퍼레이션명(영문). 생략 시 서비스의 전체 오퍼레이션 목록 반환

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations, the description fully explains the tool's read behavior and dual mode. However, it does not explicitly state it is read-only or mention any side effects, though likely safe.

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?

Three sentences: purpose/result, usage guidance, optional behavior. Every sentence adds essential information without redundancy.

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 low complexity, no output schema, and no annotations, the description covers purpose, inputs, output types, and usage flow. It is sufficient for an agent to select and use correctly.

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

Parameters4/5

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

Schema coverage is 100%, but the description adds value: for module it references list_g2b_services to check available names; for operation it explains the list-all behavior when omitted.

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 the tool retrieves detailed specifications (request parameters, required fields, response fields, example URL) for a service operation. It distinguishes between two behaviors: with an operation returns its spec, without returns all operations. This differentiates it from sibling get_data tools which fetch actual data.

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?

Explicitly says to use this tool before calling get_<module>_data to verify parameter names. Provides clear context and a dependency relationship, leaving no ambiguity about when to invoke.

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

get_industry_dataA

[나라장터 업종 및 근거법규서비스] 조달청 나라장터 OpenAPI 조회 도구. operation 에 아래 오퍼레이션명(영문) 중 하나를 지정하고, params 에 해당 오퍼레이션의 조회조건을 dict 로 전달하세요. numOfRows/pageNo/type/serviceKey 는 자동 처리됩니다. 각 오퍼레이션의 정확한 파라미터/응답필드는 get_g2b_operation_info('industry', '') 로 확인하세요.

사용 가능한 오퍼레이션 (1개):

  • getIndstrytyBaseLawrgltInfoList: 업종 및 근거법규 정보 조회

자주 쓰는 조회조건: inqryDiv(조회구분 코드, 보통 1=등록/공고일시), inqryBgnDt/inqryEndDt(YYYYMMDDHHMM 조회기간), bidNtceNo(입찰공고번호), dminsttNm(수요기관명), indstrytyNm(업종명), prdctClsfcNo(품목분류번호) 등. ⚠️ 날짜 기반 조회(inqryBgnDt/inqryEndDt 등)는 보통 한 번에 1개월 이내 범위만 허용됩니다. 기간이 길면 월 단위로 나눠 호출하세요. 'PPSSrch' 오퍼레이션은 bidNtceNm(공고명 일부)/indstrytyNm/추정가격 범위 등 상세 검색조건을 지원합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYes오퍼레이션명(영문). 예: getIndstrytyBaseLawrgltInfoList (업종 및 근거법규 정보 조회)
paramsNo오퍼레이션별 조회조건 dict (예: inqryDiv, inqryBgnDt, inqryEndDt, bidNtceNo 등). 정확한 키는 get_g2b_operation_info 로 확인
fetch_allNoTrue 면 totalCount 까지 전체 페이지 수집, False 면 단일 페이지
num_of_rowsNo페이지당 결과 수(기본 500, 최대 999. 대량수집 시 요청수↓)
page_noNo페이지 번호. 지정하면 해당 페이지만 단건 조회

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that numOfRows/pageNo/type/serviceKey are auto-handled, and includes a date range constraint. However, it lacks details on error handling, rate limits, or the full behavior of fetch_all beyond 'collect all pages'.

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 concise (few sentences) and well-structured: service definition, usage instructions, operation list, common parameters, and a warning. Every sentence adds value, though some redundancy exists with the schema.

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

Completeness3/5

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

Given no output schema and 5 parameters, the description covers usage and common constraints but does not explain the response structure or error scenarios. The reference to get_g2b_operation_info partially compensates, but the tool could benefit from more details on what to expect.

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

Parameters4/5

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

Schema description coverage is 100% with clear descriptions for each parameter. The tool description adds value by listing common query keys and noting the date range limit, which goes beyond the schema. The mention of get_g2b_operation_info for exact parameters further aids understanding.

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 it is a tool for querying industry data ('업종 및 근거법규정보 조회') from the Korea Public Procurement Service's open API. It specifies the single operation and resource, distinguishing itself from sibling tools focused on bids, contracts, etc.

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?

The description explains how to use the tool via operation and params, and provides common query conditions (e.g., inqryBgnDt, inqryEndDt). It includes a warning about date range limits (1 month). However, it does not explicitly state when not to use this tool or provide alternatives.

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

get_nuri_bid_dataA

[누리장터 민간입찰공고서비스] 조달청 나라장터 OpenAPI 조회 도구. operation 에 아래 오퍼레이션명(영문) 중 하나를 지정하고, params 에 해당 오퍼레이션의 조회조건을 dict 로 전달하세요. numOfRows/pageNo/type/serviceKey 는 자동 처리됩니다. 각 오퍼레이션의 정확한 파라미터/응답필드는 get_g2b_operation_info('nuri_bid', '') 로 확인하세요.

사용 가능한 오퍼레이션 (10개):

  • getPrvtBidPblancListInfoServc: 민간입찰공고정보에 대한 용역조회

  • getPrvtBidPblancListInfoThng: 민간입찰공고정보에 대한 물품조회

  • getPrvtBidPblancListInfoCnstwk: 민간입찰공고정보에 대한 공사조회

  • getPrvtBidPblancListInfoEtc: 민간입찰공고정보에 대한 기타조회

  • getPrvtBidPblancListInfoLicenseLimit: 민간입찰공고정보에 대한 면허제한정보조회

  • getPrvtBidPblancListInfoPrtcptPsblRgn: 민간입찰공고정보에 대한 참가가능지역정보조회

  • getPrvtBidPblancListInfoServcPPSSrch: 나라장터 검색조건에 의한 민간입찰공고정보에 대한 용역조회

  • getPrvtBidPblancListInfoThngPPSSrch: 나라장터 검색조건에 의한 민간입찰공고정보에 대한 물품조회

  • getPrvtBidPblancListInfoCnstwkPPSSrch: 나라장터 검색조건에 의한 민간입찰공고정보에 대한 공사조회

  • getPrvtBidPblancListInfoEtcPPSSrch: 나라장터 검색조건에 의한 민간입찰공고정보에 대한 기타조회

자주 쓰는 조회조건: inqryDiv(조회구분 코드, 보통 1=등록/공고일시), inqryBgnDt/inqryEndDt(YYYYMMDDHHMM 조회기간), bidNtceNo(입찰공고번호), dminsttNm(수요기관명), indstrytyNm(업종명), prdctClsfcNo(품목분류번호) 등. ⚠️ 날짜 기반 조회(inqryBgnDt/inqryEndDt 등)는 보통 한 번에 1개월 이내 범위만 허용됩니다. 기간이 길면 월 단위로 나눠 호출하세요. 'PPSSrch' 오퍼레이션은 bidNtceNm(공고명 일부)/indstrytyNm/추정가격 범위 등 상세 검색조건을 지원합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYes오퍼레이션명(영문). 예: getPrvtBidPblancListInfoServc (민간입찰공고정보에 대한 용역조회)
paramsNo오퍼레이션별 조회조건 dict (예: inqryDiv, inqryBgnDt, inqryEndDt, bidNtceNo 등). 정확한 키는 get_g2b_operation_info 로 확인
fetch_allNoTrue 면 totalCount 까지 전체 페이지 수집, False 면 단일 페이지
num_of_rowsNo페이지당 결과 수(기본 500, 최대 999. 대량수집 시 요청수↓)
page_noNo페이지 번호. 지정하면 해당 페이지만 단건 조회

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that serviceKey, numOfRows, pageNo, type are auto-handled, that fetch_all controls full collection, and that date ranges are limited to 1 month. It lacks explicit statement that the operation is read-only, but that is implied by '조회' (inquiry).

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 well-structured with a clear first sentence defining the service, followed by explicit instructions, a list of operations, common params, and a warning. It is somewhat lengthy but all information is pertinent and organized logically.

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 the complexity (multiple operations, no output schema), the description provides essential context: how to use operations, where to find exact parameters, pagination options, and date range limitations. It directs to get_g2b_operation_info for detailed field info, thus covering its interactivity well.

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

Parameters4/5

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

All 5 parameters have schema descriptions (100% coverage). The description adds value by explaining the role of operation (one of 10 listed), the params dict, the fetch_all behavior, and providing a warning about date range limits. It enhances understanding beyond the schema.

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 identifies the tool as a query for 조달청 나라장터 OpenAPI to retrieve private bid announcements (민간입찰공고). It distinguishes itself from siblings by being specifically for bid data (not contracts, plans, etc.) and lists all 10 operations with their purposes.

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?

The description explains how to use the tool: specify operation and params, use get_g2b_operation_info for details, and warns that date range queries are limited to 1 month. It does not explicitly say when not to use it versus other tools, but it provides enough context for correct invocation.

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

get_nuri_contract_dataA

[누리장터 민간계약정보서비스] 조달청 나라장터 OpenAPI 조회 도구. operation 에 아래 오퍼레이션명(영문) 중 하나를 지정하고, params 에 해당 오퍼레이션의 조회조건을 dict 로 전달하세요. numOfRows/pageNo/type/serviceKey 는 자동 처리됩니다. 각 오퍼레이션의 정확한 파라미터/응답필드는 get_g2b_operation_info('nuri_contract', '') 로 확인하세요.

사용 가능한 오퍼레이션 (4개):

  • getPrvtCntrctInfoList: 계약현황 민간조회

  • getPrvtCntrctInfoListPPSSrch: 나라장터 검색조건에 의한 계약현황 민간조회

  • getPrvtCntrctInfoListChgHstry: 계약현황에 대한 민간변경이력조회

  • getPrvtCntrctInfoListDltHstry: 계약현황에 대한 민간삭제이력조회

자주 쓰는 조회조건: inqryDiv(조회구분 코드, 보통 1=등록/공고일시), inqryBgnDt/inqryEndDt(YYYYMMDDHHMM 조회기간), bidNtceNo(입찰공고번호), dminsttNm(수요기관명), indstrytyNm(업종명), prdctClsfcNo(품목분류번호) 등. ⚠️ 날짜 기반 조회(inqryBgnDt/inqryEndDt 등)는 보통 한 번에 1개월 이내 범위만 허용됩니다. 기간이 길면 월 단위로 나눠 호출하세요. 'PPSSrch' 오퍼레이션은 bidNtceNm(공고명 일부)/indstrytyNm/추정가격 범위 등 상세 검색조건을 지원합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYes오퍼레이션명(영문). 예: getPrvtCntrctInfoList (계약현황 민간조회)
paramsNo오퍼레이션별 조회조건 dict (예: inqryDiv, inqryBgnDt, inqryEndDt, bidNtceNo 등). 정확한 키는 get_g2b_operation_info 로 확인
fetch_allNoTrue 면 totalCount 까지 전체 페이지 수집, False 면 단일 페이지
num_of_rowsNo페이지당 결과 수(기본 500, 최대 999. 대량수집 시 요청수↓)
page_noNo페이지 번호. 지정하면 해당 페이지만 단건 조회

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided. The description discloses that date-based queries typically allow only 1-month ranges and need splitting, and that fetch_all collects all pages. However, it doesn't cover rate limits, authentication, or error handling.

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 long but well-structured and front-loaded with the main usage pattern. It could be slightly more concise, but every sentence contributes value.

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?

The description covers the 5 parameters thoroughly and provides usage context including a companion tool for exact parameter details. However, it lacks information about the response format, though this is partially mitigated by the companion tool.

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

Parameters4/5

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

Schema coverage is 100%, but the description adds meaningful context: explains the operation parameter with examples, lists common fields for params, and warns about date range limitations. This goes beyond the schema descriptions.

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 the tool is for querying the Korean Public Procurement Service OpenAPI for private contract data from the Nuri marketplace. It lists four specific operations, distinguishing it from sibling tools like get_bid_data and get_contract_data.

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?

The description provides explicit instructions: specify an operation, pass query conditions in params, and notes that numOfRows/pageNo/type/serviceKey are auto-handled. It suggests using get_g2b_operation_info for exact parameters and lists common query fields with a date range warning. However, it doesn't explicitly state when not to use this tool.

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

get_nuri_scsbid_dataA

[누리장터 민간낙찰정보서비스] 조달청 나라장터 OpenAPI 조회 도구. operation 에 아래 오퍼레이션명(영문) 중 하나를 지정하고, params 에 해당 오퍼레이션의 조회조건을 dict 로 전달하세요. numOfRows/pageNo/type/serviceKey 는 자동 처리됩니다. 각 오퍼레이션의 정확한 파라미터/응답필드는 get_g2b_operation_info('nuri_scsbid', '') 로 확인하세요.

사용 가능한 오퍼레이션 (7개):

  • getPrvtScsbidListSttus: 민간 낙찰된 목록 현황 조회

  • getPrvtOpengResultListInfo: 민간 개찰결과 목록 조회

  • getPrvtScsbidListSttusPPSSrch: 나라장터 검색조건에 의한 민간 낙찰된 목록 현황 조회

  • getPrvtOpengResultListInfoPPSSrch: 나라장터 검색조건에 의한 민간 개찰결과 목록 조회

  • getPrvtOpengResultListInfoOpengCompt: 민간 개찰결과 개찰완료 목록 조회

  • getPrvtOpengResultListInfoFailing: 민간 개찰결과 유찰 목록 조회

  • getPrvtOpengResultListInfoRebid: 민간 개찰결과 재입찰 목록 조회

자주 쓰는 조회조건: inqryDiv(조회구분 코드, 보통 1=등록/공고일시), inqryBgnDt/inqryEndDt(YYYYMMDDHHMM 조회기간), bidNtceNo(입찰공고번호), dminsttNm(수요기관명), indstrytyNm(업종명), prdctClsfcNo(품목분류번호) 등. ⚠️ 날짜 기반 조회(inqryBgnDt/inqryEndDt 등)는 보통 한 번에 1개월 이내 범위만 허용됩니다. 기간이 길면 월 단위로 나눠 호출하세요. 'PPSSrch' 오퍼레이션은 bidNtceNm(공고명 일부)/indstrytyNm/추정가격 범위 등 상세 검색조건을 지원합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYes오퍼레이션명(영문). 예: getPrvtScsbidListSttus (민간 낙찰된 목록 현황 조회)
paramsNo오퍼레이션별 조회조건 dict (예: inqryDiv, inqryBgnDt, inqryEndDt, bidNtceNo 등). 정확한 키는 get_g2b_operation_info 로 확인
fetch_allNoTrue 면 totalCount 까지 전체 페이지 수집, False 면 단일 페이지
num_of_rowsNo페이지당 결과 수(기본 500, 최대 999. 대량수집 시 요청수↓)
page_noNo페이지 번호. 지정하면 해당 페이지만 단건 조회

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool interfaces with an external OpenAPI, auto-fills certain parameters, supports pagination via fetch_all, and imposes a date range constraint. It does not explicitly state that the tool is read-only (no side effects) or describe error handling, but the behavior is largely transparent. The reference to get_g2b_operation_info for response fields is helpful.

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 well-structured: opening sentence identifies the tool, followed by usage instructions, a bullet-like list of operations, common parameters, and a warning. It is front-loaded with the main purpose. While it is relatively long (around 15 lines), each sentence adds useful information, so it is efficient rather than wasteful.

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 the tool's complexity (7 operations, many parameters, external API), the description provides essential context: how to construct calls, where to find detailed schemas, common parameters, and limitations. It does not explain return values, but this is mitigated by referencing get_g2b_operation_info for response fields. The tool's place among siblings is partially clear, but more explicit differentiation would improve completeness.

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?

With 100% schema description coverage, the schema already describes each parameter. However, the description adds substantial value: it explains the purpose of each operation (in Korean), lists commonly used query parameters (inqryDiv, inqryBgnDt, etc.) with examples, and provides critical constraints (date range limits, differences between normal and PPSSrch operations). This goes well beyond the schema.

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

Purpose4/5

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

The description clearly states the tool is for querying the 'Minm private subcontract award information service' via the Public Procurement Service's KONEPS OpenAPI. It lists 7 specific operations with Korean descriptions, making the purpose concrete. However, it does not explicitly contrast with sibling tools like get_bid_data or get_scsbid_data, leaving some ambiguity about when to use this specific tool.

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 instructions: specify 'operation' and 'params', explains that numOfRows/pageNo/type/serviceKey are auto-handled, advises using get_g2b_operation_info for exact parameters, lists commonly used parameters, and warns about date range limits (1 month) with guidance to split calls. This covers when and how to use the tool effectively.

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

get_order_plan_dataA

[나라장터 발주계획현황서비스] 조달청 나라장터 OpenAPI 조회 도구. operation 에 아래 오퍼레이션명(영문) 중 하나를 지정하고, params 에 해당 오퍼레이션의 조회조건을 dict 로 전달하세요. numOfRows/pageNo/type/serviceKey 는 자동 처리됩니다. 각 오퍼레이션의 정확한 파라미터/응답필드는 get_g2b_operation_info('order_plan', '') 로 확인하세요.

사용 가능한 오퍼레이션 (8개):

  • getOrderPlanSttusListThng: 발주계획현황에 대한 물품조회

  • getOrderPlanSttusListCnstwk: 발주계획현황에 대한 공사조회

  • getOrderPlanSttusListServc: 발주계획현황에 대한 용역조회

  • getOrderPlanSttusListFrgcpt: 발주계획현황에 대한 외자조회

  • getOrderPlanSttusListThngPPSSrch: 나라장터 검색조건에 의한 발주계획현황에 대한 물품조회

  • getOrderPlanSttusListCnstwkPPSSrch: 나라장터 검색조건에 의한 발주계획현황에 대한 공사조회

  • getOrderPlanSttusListServcPPSSrch: 나라장터 검색조건에 의한 발주계획현황에 대한 용역조회

  • getOrderPlanSttusListFrgcptPPSSrch: 나라장터 검색조건에 의한 발주계획현황에 대한 외자조회

자주 쓰는 조회조건: inqryDiv(조회구분 코드, 보통 1=등록/공고일시), inqryBgnDt/inqryEndDt(YYYYMMDDHHMM 조회기간), bidNtceNo(입찰공고번호), dminsttNm(수요기관명), indstrytyNm(업종명), prdctClsfcNo(품목분류번호) 등. ⚠️ 날짜 기반 조회(inqryBgnDt/inqryEndDt 등)는 보통 한 번에 1개월 이내 범위만 허용됩니다. 기간이 길면 월 단위로 나눠 호출하세요. 'PPSSrch' 오퍼레이션은 bidNtceNm(공고명 일부)/indstrytyNm/추정가격 범위 등 상세 검색조건을 지원합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYes오퍼레이션명(영문). 예: getOrderPlanSttusListThng (발주계획현황에 대한 물품조회)
paramsNo오퍼레이션별 조회조건 dict (예: inqryDiv, inqryBgnDt, inqryEndDt, bidNtceNo 등). 정확한 키는 get_g2b_operation_info 로 확인
fetch_allNoTrue 면 totalCount 까지 전체 페이지 수집, False 면 단일 페이지
num_of_rowsNo페이지당 결과 수(기본 500, 최대 999. 대량수집 시 요청수↓)
page_noNo페이지 번호. 지정하면 해당 페이지만 단건 조회

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses auto-handling of certain parameters (numOfRows/pageNo/type/serviceKey), pagination behavior via fetch_all and page_no, max rows per page (999), and the 1-month date range constraint. It doesn't explicitly state read-only nature, but it's implied. Minor gaps: no mention of error handling or rate limits, but overall sufficient.

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 well-structured with a clear opening statement, then usage pattern, operation list, common parameters, and warnings. It is front-loaded with the service name. However, listing all 8 operations verbatim is somewhat lengthy; could be shortened by referencing the sibling tool. Still, it remains organized and easy to follow.

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 5 parameters, no output schema, no annotations, and many similar sibling tools, the description covers all essential aspects: how to use, what operations exist, common parameters, limitations, and how to get further details. It is self-contained and provides enough context for an agent to use the tool correctly.

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 coverage is 100%, but the description adds significant value beyond schema: explains that 'operation' selects among 8 sub-functions, 'params' are operation-specific and can be verified via another tool, 'fetch_all' controls full data retrieval, and 'num_of_rows' has a max of 999. It also lists common query conditions and notes auto-handled parameters not in schema. This enriches parameter understanding.

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 the tool queries the '조달청 나라장터 OpenAPI' for order plan data (발주계획현황서비스), and distinguishes itself from siblings by specifying the data domain. It includes specific verbs like '조회' and lists 8 sub-operations, making purpose precise.

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 instructions: specify 'operation' from the list, pass query conditions in 'params', and notes that some parameters are auto-handled. It advises using 'get_g2b_operation_info' for exact parameter details, warns about 1-month date range limits, and differentiates PPSSrch operations for detailed search. This is comprehensive guidance for proper usage.

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

get_prestd_dataA

[나라장터 사전규격정보서비스] 조달청 나라장터 OpenAPI 조회 도구. operation 에 아래 오퍼레이션명(영문) 중 하나를 지정하고, params 에 해당 오퍼레이션의 조회조건을 dict 로 전달하세요. numOfRows/pageNo/type/serviceKey 는 자동 처리됩니다. 각 오퍼레이션의 정확한 파라미터/응답필드는 get_g2b_operation_info('prestd', '') 로 확인하세요.

사용 가능한 오퍼레이션 (20개):

  • getPublicPrcureThngInfoThng: 사전규격 물품 목록 조회

  • getInsttAcctoThngListInfoThng: 사전규격 물품 기관별 목록 조회

  • getThngDetailMetaInfoThng: 사전규격 물품 품목별 목록 조회

  • getPublicPrcureThngInfoFrgcpt: 사전규격 외자 목록 조회

  • getInsttAcctoThngListInfoFrgcpt: 사전규격 외자 기관별 목록 조회

  • getThngDetailMetaInfoFrgcpt: 사전규격 외자 품목별 목록 조회

  • getPublicPrcureThngInfoServc: 사전규격 용역 목록 조회

  • getInsttAcctoThngListInfoServc: 사전규격 용역 기관별 목록 조회

  • getThngDetailMetaInfoServc: 사전규격 용역 품목별 목록 조회

  • getPublicPrcureThngInfoCnstwk: 사전규격 공사 목록 조회

  • getInsttAcctoThngListInfoCnstwk: 사전규격 공사 기관별 목록 조회

  • getThngDetailMetaInfoCnstwk: 사전규격 공사 품목별 목록 조회

  • getPublicPrcureThngInfoThngPPSSrch: 나라장터 검색조건에 의한 사전규격 물품 목록 조회

  • getPublicPrcureThngInfoFrgcptPPSSrch: 나라장터 검색조건에 의한 사전규격 외자 목록 조회

  • getPublicPrcureThngInfoServcPPSSrch: 나라장터 검색조건에 의한 사전규격 용역 목록 조회

  • getPublicPrcureThngInfoCnstwkPPSSrch: 나라장터 검색조건에 의한 사전규격 공사 목록 조회

  • getPublicPrcureThngOpinionInfoThng: 나라장터 사전규격 물품 규격서 의견 목록 조회

  • getPublicPrcureThngOpinionInfoFrgcpt: 나라장터 사전규격 외자 규격서 의견 목록 조회

  • getPublicPrcureThngOpinionInfoServc: 나라장터 사전규격 용역 규격서 의견 목록 조회

  • getPublicPrcureThngOpinionInfoCnstwk: 나라장터 사전규격 공사 규격서 의견 목록 조회

자주 쓰는 조회조건: inqryDiv(조회구분 코드, 보통 1=등록/공고일시), inqryBgnDt/inqryEndDt(YYYYMMDDHHMM 조회기간), bidNtceNo(입찰공고번호), dminsttNm(수요기관명), indstrytyNm(업종명), prdctClsfcNo(품목분류번호) 등. ⚠️ 날짜 기반 조회(inqryBgnDt/inqryEndDt 등)는 보통 한 번에 1개월 이내 범위만 허용됩니다. 기간이 길면 월 단위로 나눠 호출하세요. 'PPSSrch' 오퍼레이션은 bidNtceNm(공고명 일부)/indstrytyNm/추정가격 범위 등 상세 검색조건을 지원합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYes오퍼레이션명(영문). 예: getPublicPrcureThngInfoThng (사전규격 물품 목록 조회)
paramsNo오퍼레이션별 조회조건 dict (예: inqryDiv, inqryBgnDt, inqryEndDt, bidNtceNo 등). 정확한 키는 get_g2b_operation_info 로 확인
fetch_allNoTrue 면 totalCount 까지 전체 페이지 수집, False 면 단일 페이지
num_of_rowsNo페이지당 결과 수(기본 500, 최대 999. 대량수집 시 요청수↓)
page_noNo페이지 번호. 지정하면 해당 페이지만 단건 조회

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses auto-handling of pagination and service key, date range restrictions (1 month limit), and fetch_all behavior (collects all pages). However, it does not explicitly state read-only nature or auth requirements, though these are inferable from context.

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 organized with paragraphs, bullet lists, and visual separators. While lengthy, every sentence adds value; the list of 20 operations is necessary for clarity. Could be slightly more compact, but well-structured for the complexity.

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 the complexity (many operations, no output schema, no annotations), the description is quite complete: covers usage, parameters, limitations, and points to a companion tool for details. Lacks explicit response format but that is delegated to get_g2b_operation_info.

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

Parameters4/5

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

Schema coverage is 100% (baseline 3). The description adds substantial value by explaining operation choices, providing common param keys, clarifying fetch_all, and noting num_of_rows max (999). It also directs users to a companion tool for exact parameter details, which is contextually helpful.

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?

Explicitly states the tool queries '나라장터 사전규격정보서비스' and lists 20 specific operations with Korean descriptions, making the purpose unmistakable and fully differentiated from siblings.

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?

Provides comprehensive usage guidance: how to specify operation and params, notes auto-handling of common parameters, recommends using get_g2b_operation_info for exact details, lists common query parameters, warns about date range limitations, and distinguishes PPSSrch operations for advanced search.

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

get_price_dataA

[나라장터 가격정보현황서비스] 조달청 나라장터 OpenAPI 조회 도구. operation 에 아래 오퍼레이션명(영문) 중 하나를 지정하고, params 에 해당 오퍼레이션의 조회조건을 dict 로 전달하세요. numOfRows/pageNo/type/serviceKey 는 자동 처리됩니다. 각 오퍼레이션의 정확한 파라미터/응답필드는 get_g2b_operation_info('price', '') 로 확인하세요.

사용 가능한 오퍼레이션 (11개):

  • getPriceInfoListFcltyCmmnMtrilEngrk: 시설공통자재(토목) 가격정보

  • getPriceInfoListFcltyCmmnMtrilBildng: 시설공통자재(건축) 가격정보

  • getPriceInfoListFcltyCmmnMtrilMchnEqp: 시설공통자재(기계설비) 가격정보

  • getPriceInfoListFcltyCmmnMtrilElctyIrmc: 시설공통자재(전기, 정보통신) 가격정보

  • getPriceInfoListMrktCnstrctPcEngrk: 시장시공가격(토목) 가격정보

  • getPriceInfoListMrktCnstrctPcBildng: 시장시공가격(건축) 가격정보

  • getPriceInfoListMrktCnstrctPcMchnEqp: 시장시공가격(기계설비) 가격정보

  • getCnsttyClsfcInfoList: 공종분류및세부공종

  • getStdMarkUprcinfoList: 표준시장단가및시장시공가격 정보

  • getNetRsceinfoList: 자원분류및순수자원

  • getPriceInfoListFcltyCmmnMtrilTotal: 시설공통자재(종합) 가격정보

자주 쓰는 조회조건: inqryDiv(조회구분 코드, 보통 1=등록/공고일시), inqryBgnDt/inqryEndDt(YYYYMMDDHHMM 조회기간), bidNtceNo(입찰공고번호), dminsttNm(수요기관명), indstrytyNm(업종명), prdctClsfcNo(품목분류번호) 등. ⚠️ 날짜 기반 조회(inqryBgnDt/inqryEndDt 등)는 보통 한 번에 1개월 이내 범위만 허용됩니다. 기간이 길면 월 단위로 나눠 호출하세요. 'PPSSrch' 오퍼레이션은 bidNtceNm(공고명 일부)/indstrytyNm/추정가격 범위 등 상세 검색조건을 지원합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYes오퍼레이션명(영문). 예: getPriceInfoListFcltyCmmnMtrilEngrk (시설공통자재(토목) 가격정보)
paramsNo오퍼레이션별 조회조건 dict (예: inqryDiv, inqryBgnDt, inqryEndDt, bidNtceNo 등). 정확한 키는 get_g2b_operation_info 로 확인
fetch_allNoTrue 면 totalCount 까지 전체 페이지 수집, False 면 단일 페이지
num_of_rowsNo페이지당 결과 수(기본 500, 최대 999. 대량수집 시 요청수↓)
page_noNo페이지 번호. 지정하면 해당 페이지만 단건 조회

TDQS

A4.9/5.0
Behavior5/5

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

The description discloses that certain parameters are auto-handled, warns that date-based queries are limited to 1-month ranges, and explains pagination behavior (fetch_all, page_no). It does not mention any destructive actions, and since no annotations are provided, the description fully covers behavioral expectations.

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 relatively long but well-structured: it starts with the core usage pattern, lists all operations clearly, provides common parameters, and includes warnings. While verbose, every sentence adds value for a complex tool with 11 operations. Minor reduction for length.

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 complexity of the tool (11 operations, many parameters, pagination), the description is remarkably complete. It explains the purpose, usage pattern, parameter details, and limitations. There is no output schema, but the description directs users to get_g2b_operation_info for response fields, which compensates.

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?

Input schema provides descriptions for all 5 parameters (100% coverage). The description adds additional context by listing common query parameters (inqryDiv, inqryBgnDt, etc.) and explaining their typical usage, as well as how fetch_all and page_no work. It also directs users to get_g2b_operation_info for detailed parameter keys.

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 it is a tool for querying price information from the Korean government procurement OpenAPI (나라장터). It lists 11 specific operations with Korean names and descriptions, distinguishing it from other sibling tools like get_bid_data, get_contract_data, etc.

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 on how to use the tool: set 'operation' to one of the listed operation names, pass query parameters in 'params' as a dict, notes that numOfRows/pageNo/type/serviceKey are auto-handled, and directs to get_g2b_operation_info for exact parameters. It also includes warnings about date range limitations and suggests splitting into monthly intervals.

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

get_scsbid_dataA

[나라장터 낙찰정보서비스] 조달청 나라장터 OpenAPI 조회 도구. operation 에 아래 오퍼레이션명(영문) 중 하나를 지정하고, params 에 해당 오퍼레이션의 조회조건을 dict 로 전달하세요. numOfRows/pageNo/type/serviceKey 는 자동 처리됩니다. 각 오퍼레이션의 정확한 파라미터/응답필드는 get_g2b_operation_info('scsbid', '') 로 확인하세요.

사용 가능한 오퍼레이션 (23개):

  • getScsbidListSttusThng: 낙찰된 목록 현황 물품조회

  • getScsbidListSttusCnstwk: 낙찰된 목록 현황 공사조회

  • getScsbidListSttusServc: 낙찰된 목록 현황 용역조회

  • getScsbidListSttusFrgcpt: 낙찰된 목록 현황 외자조회

  • getOpengResultListInfoThng: 개찰결과 물품 목록 조회

  • getOpengResultListInfoCnstwk: 개찰결과 공사 목록 조회

  • getOpengResultListInfoServc: 개찰결과 용역 목록 조회

  • getOpengResultListInfoFrgcpt: 개찰결과 외자 목록 조회

  • getOpengResultListInfoThngPreparPcDetail: 개찰결과 물품 예비가격상세 목록 조회

  • getOpengResultListInfoCnstwkPreparPcDetail: 개찰결과 공사 예비가격상세 목록 조회

  • getOpengResultListInfoServcPreparPcDetail: 개찰결과 용역 예비가격상세 목록 조회

  • getOpengResultListInfoFrgcptPreparPcDetail: 개찰결과 외자 예비가격상세 목록 조회

  • getOpengResultListInfoOpengCompt: 개찰결과 개찰완료 목록 조회

  • getOpengResultListInfoFailing: 개찰결과 유찰 목록 조회

  • getOpengResultListInfoRebid: 개찰결과 재입찰 목록 조회

  • getScsbidListSttusThngPPSSrch: 나라장터 검색조건에 의한 낙찰된 목록 현황 물품조회

  • getScsbidListSttusCnstwkPPSSrch: 나라장터 검색조건에 의한 낙찰된 목록 현황 공사조회

  • getScsbidListSttusServcPPSSrch: 나라장터 검색조건에 의한 낙찰된 목록 현황 용역조회

  • getScsbidListSttusFrgcptPPSSrch: 나라장터 검색조건에 의한 낙찰된 목록 현황 외자조회

  • getOpengResultListInfoThngPPSSrch: 나라장터 검색조건에 의한 개찰결과 물품 목록 조회

  • getOpengResultListInfoCnstwkPPSSrch: 나라장터 검색조건에 의한 개찰결과 공사 목록 조회

  • getOpengResultListInfoServcPPSSrch: 나라장터 검색조건에 의한 개찰결과 용역 목록 조회

  • getOpengResultListInfoFrgcptPPSSrch: 나라장터 검색조건에 의한 개찰결과 외자 목록 조회

자주 쓰는 조회조건: inqryDiv(조회구분 코드, 보통 1=등록/공고일시), inqryBgnDt/inqryEndDt(YYYYMMDDHHMM 조회기간), bidNtceNo(입찰공고번호), dminsttNm(수요기관명), indstrytyNm(업종명), prdctClsfcNo(품목분류번호) 등. ⚠️ 날짜 기반 조회(inqryBgnDt/inqryEndDt 등)는 보통 한 번에 1개월 이내 범위만 허용됩니다. 기간이 길면 월 단위로 나눠 호출하세요. 'PPSSrch' 오퍼레이션은 bidNtceNm(공고명 일부)/indstrytyNm/추정가격 범위 등 상세 검색조건을 지원합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYes오퍼레이션명(영문). 예: getScsbidListSttusThng (낙찰된 목록 현황 물품조회)
paramsNo오퍼레이션별 조회조건 dict (예: inqryDiv, inqryBgnDt, inqryEndDt, bidNtceNo 등). 정확한 키는 get_g2b_operation_info 로 확인
fetch_allNoTrue 면 totalCount 까지 전체 페이지 수집, False 면 단일 페이지
num_of_rowsNo페이지당 결과 수(기본 500, 최대 999. 대량수집 시 요청수↓)
page_noNo페이지 번호. 지정하면 해당 페이지만 단건 조회

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses key behaviors: pagination via 'fetch_all' and 'page_no' parameters, auto-handling of certain parameters, and the 1-month date range restriction. It implies read-only behavior (조회). While it doesn't explicitly state 'read-only', the context is clear. The description adds significant value beyond the schema.

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 somewhat lengthy due to the 23-operation list, but it is well-structured and front-loaded with purpose. Each section earns its place: purpose, usage instruction, operation list, common params, and warnings. Minimal redundancy; could be slightly more concise, but overall efficient for the information density.

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 the complexity (5 parameters, 1 required, 23 operations with varying params), the description covers essentials: operation choices, parameter usage, pagination, and date limitations. It appropriately directs users to get_g2b_operation_info for detailed parameter/response info. No output schema, but that is compensated by the cross-reference. The description is complete enough for effective use.

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

Parameters4/5

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

Schema coverage is 100%, but the description adds substantial context: it lists all 23 operation values (schema only has a generic example), provides concrete example keys for 'params' (e.g., inqryDiv, inqryBgnDt), and explains differences for PPSSrch operations. This enriches understanding beyond the parameter descriptions alone.

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 it is a tool for querying the Korean Public Procurement Service (나라장터) OpenAPI for successful bid (scsbid) data. It lists all 23 available operations with Korean descriptions, making the purpose explicit and distinguishing it from sibling tools like get_bid_data or get_contract_data, which target different data types.

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 instructions: specify operation in the 'operation' parameter, pass query conditions via 'params', and notes that numOfRows/pageNo/type/serviceKey are auto-handled. It advises using get_g2b_operation_info for exact parameters/response fields, lists commonly used query keys, and warns about the 1-month limit on date ranges. This comprehensive guidance clarifies when and how to use the tool versus alternatives.

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

get_stats_dataA

[공공조달통계정보서비스] 조달청 나라장터 OpenAPI 조회 도구. operation 에 아래 오퍼레이션명(영문) 중 하나를 지정하고, params 에 해당 오퍼레이션의 조회조건을 dict 로 전달하세요. numOfRows/pageNo/type/serviceKey 는 자동 처리됩니다. 각 오퍼레이션의 정확한 파라미터/응답필드는 get_g2b_operation_info('stats', '') 로 확인하세요.

사용 가능한 오퍼레이션 (14개):

  • getTotlPubPrcrmntSttus: 전체 공공조달 현황

  • getInsttDivAccotPrcrmntSttus: 기관구분별 조달 현황

  • getEntrprsDivAccotPrcrmntSttus: 기업구분별 조달 현황

  • getCntrctMthdAccotSttus: 계약방법별 현황

  • getRgnLmtSttus: 지역제한 현황

  • getRgnDutyCmmnCntrctSttus: 지역의무공동계약 현황

  • getPrcrmntObjectBsnsObjAccotSttus: 조달목적물(업무대상)별 현황

  • getDminsttAccotEntrprsDivAccotArslt: 수요기관별 기업구분별 실적

  • getDminsttAccotCntrctMthdAccotArslt: 수요기관별 계약방법별 실적

  • getDminsttAccotBsnsObjAccotArslt: 수요기관별 업무대상별 실적

  • getDminsttAccotSystmTyAccotArslt: 수요기관별 시스템유형별 실적

  • getPrcrmntEntrprsAccotCntrctMthdAccotArslt: 조달기업별 계약방법별 실적

  • getPrcrmntEntrprsAccotBsnsObjAccotArslt: 조달기업별 업무대상별 실적

  • getPrdctIdntNoServcAccotArslt: 품목 및 서비스별 실적

자주 쓰는 조회조건: inqryDiv(조회구분 코드, 보통 1=등록/공고일시), inqryBgnDt/inqryEndDt(YYYYMMDDHHMM 조회기간), bidNtceNo(입찰공고번호), dminsttNm(수요기관명), indstrytyNm(업종명), prdctClsfcNo(품목분류번호) 등. ⚠️ 날짜 기반 조회(inqryBgnDt/inqryEndDt 등)는 보통 한 번에 1개월 이내 범위만 허용됩니다. 기간이 길면 월 단위로 나눠 호출하세요. 'PPSSrch' 오퍼레이션은 bidNtceNm(공고명 일부)/indstrytyNm/추정가격 범위 등 상세 검색조건을 지원합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYes오퍼레이션명(영문). 예: getTotlPubPrcrmntSttus (전체 공공조달 현황)
paramsNo오퍼레이션별 조회조건 dict (예: inqryDiv, inqryBgnDt, inqryEndDt, bidNtceNo 등). 정확한 키는 get_g2b_operation_info 로 확인
fetch_allNoTrue 면 totalCount 까지 전체 페이지 수집, False 면 단일 페이지
num_of_rowsNo페이지당 결과 수(기본 500, 최대 999. 대량수집 시 요청수↓)
page_noNo페이지 번호. 지정하면 해당 페이지만 단건 조회

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the burden. It discloses that numOfRows/pageNo/type/serviceKey are auto-handled, date queries have a 1-month limit, and fetch_all controls pagination. It does not mention authentication, rate limits, or error responses, but the main behaviors are covered.

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 long but well-organized: purpose, usage instruction, operation list, common params, warnings. All information is relevant and necessary. Slight redundancy in listing operations with both English and Korean, but it aids clarity. Could be slightly more concise.

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

Completeness3/5

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

Despite lacking an output schema, the description does not explain the response structure or return values. It directs to another tool (get_g2b_operation_info) for response fields, which helps, but the agent still lacks a high-level understanding of what data is returned. The fetch_all description hints at totalCount, but more detail would improve completeness.

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 coverage is 100%, and the description adds significant value beyond schema. It explains operation with examples, lists common param keys (inqryDiv, inqryBgnDt, etc.) with semantics, and provides important usage notes like the date range limit and the special PPSSrch operation. This helps the agent build correct queries.

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 the tool's purpose: querying the Korean public procurement statistics service (공공조달통계정보서비스) via OpenAPI. It lists 14 specific operations with Korean descriptions, distinguishing it from sibling tools like get_bid_data or get_contract_data which are for different data types.

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?

The description explains how to use the tool (specify operation, pass params, auto-handled keys), and points to get_g2b_operation_info for detailed parameter info. It also warns about date range limitations. However, it lacks explicit guidance on when to use this tool versus other sibling tools (e.g., 'for statistics, use this; for bids, use get_bid_data').

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

get_user_info_dataA

[나라장터 사용자정보서비스] 조달청 나라장터 OpenAPI 조회 도구. operation 에 아래 오퍼레이션명(영문) 중 하나를 지정하고, params 에 해당 오퍼레이션의 조회조건을 dict 로 전달하세요. numOfRows/pageNo/type/serviceKey 는 자동 처리됩니다. 각 오퍼레이션의 정확한 파라미터/응답필드는 get_g2b_operation_info('user_info', '') 로 확인하세요.

사용 가능한 오퍼레이션 (5개):

  • getDminsttInfo02: 수요기관정보조회

  • getPrcrmntCorpBasicInfo02: 조달업체 기본정보

  • getPrcrmntCorpIndstrytyInfo02: 조달업체업종정보조회

  • getPrcrmntCorpSplyPrdctInfo02: 조달업체공급물품정보조회

  • getUnptRsttCorpInfo02: 부정당재제업체정보조회

자주 쓰는 조회조건: inqryDiv(조회구분 코드, 보통 1=등록/공고일시), inqryBgnDt/inqryEndDt(YYYYMMDDHHMM 조회기간), bidNtceNo(입찰공고번호), dminsttNm(수요기관명), indstrytyNm(업종명), prdctClsfcNo(품목분류번호) 등. ⚠️ 날짜 기반 조회(inqryBgnDt/inqryEndDt 등)는 보통 한 번에 1개월 이내 범위만 허용됩니다. 기간이 길면 월 단위로 나눠 호출하세요. 'PPSSrch' 오퍼레이션은 bidNtceNm(공고명 일부)/indstrytyNm/추정가격 범위 등 상세 검색조건을 지원합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYes오퍼레이션명(영문). 예: getDminsttInfo02 (수요기관정보조회)
paramsNo오퍼레이션별 조회조건 dict (예: inqryDiv, inqryBgnDt, inqryEndDt, bidNtceNo 등). 정확한 키는 get_g2b_operation_info 로 확인
fetch_allNoTrue 면 totalCount 까지 전체 페이지 수집, False 면 단일 페이지
num_of_rowsNo페이지당 결과 수(기본 500, 최대 999. 대량수집 시 요청수↓)
page_noNo페이지 번호. 지정하면 해당 페이지만 단건 조회

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses auto-handling of common parameters, fetch_all behavior (collects all pages vs single page), and the 1-month date limitation. It does not mention authentication, rate limits, or error handling, but for a data retrieval tool, the disclosed behaviors are adequate.

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 well-structured: purpose statement, instructions, operation list, common params, and caution. It is slightly lengthy but every sentence adds useful information. Front-loaded with key operation list and instructions.

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

Completeness3/5

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

No output schema exists, so the description should ideally explain return values. It does not, but offsets by suggesting get_g2b_operation_info for response fields. Given the tool's dependency on another tool for details, this is moderate completeness. Sibling tools and complexity (5 params, 5 operations) are handled adequately.

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

Parameters4/5

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

The schema covers all 5 parameters with descriptions, so baseline is 3. The description adds significant value: it lists the exact operation names and their meanings, explains common param keys (inqryDiv, inqryBgnDt, etc.) with example values, notes the 1-month limit, and directs to another tool for full parameter details. This goes well beyond what the schema provides.

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 explicitly states it is a query tool for '나라장터 사용자정보서비스' (user info service) and lists 5 specific operations, clearly distinguishing it from sibling tools like get_bid_data or get_contract_data which target different services.

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?

The description provides clear instructions: specify operation in English, pass params as dict, auto-handles numOfRows/pageNo/type/serviceKey, references get_g2b_operation_info for exact parameters, and gives examples of commonly used parameters. It also warns about date range limits (1 month max). However, it does not explicitly compare to sibling tools or state when not to use it.

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

list_g2b_servicesA

조달청 나라장터/누리장터 MCP가 제공하는 14개 서비스와 각 서비스의 오퍼레이션 개요를 조회합니다. 어떤 서비스/오퍼레이션을 호출할지 결정하기 위한 출발점입니다. 각 서비스는 get__data 도구로 호출하며, 상세 파라미터는 get_g2b_operation_info 로 확인합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
include_operationsNo각 서비스의 오퍼레이션 목록 포함 여부

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description must carry the full burden. It says it performs an inquiry ('조회합니다') but does not explicitly state read-only behavior, side effects, or authentication requirements. It lacks details on idempotency or potential caching, but is not misleading.

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?

The description is a single, well-structured paragraph with no unnecessary words. It efficiently conveys purpose, usage, and next steps.

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 the tool's simplicity (1 boolean param, no output schema, 16 siblings), the description is fairly complete. It explains the tool's role as a discovery starting point and references sibling tools. Could optionally mention output format or pagination, but current content suffices.

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 a description for the single parameter 'include_operations'. The tool description adds no additional semantic value beyond the schema, meeting the baseline for high coverage.

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 that the tool lists 14 services and their operation overviews provided by the G2B MCP. It distinguishes itself as the starting point to decide which service to call, and references sibling tools like get_<module>_data and get_g2b_operation_info.

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?

Explicitly states it is the starting point to decide which service/operation to invoke. While it does not explicitly mention when not to use, it implies that after identifying the service, users should call the appropriate get_<module>_data tool or get_g2b_operation_info for details.

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. 17 tool updatesv0.1.0
    • First observedget_bid_data
    • First observedget_contract_data
    • First observedget_contract_process_data
    • First observedget_data_standard_data
    • First observedget_g2b_cache_data
    • First observedget_g2b_operation_info
    • First observedget_industry_data
    • First observedget_nuri_bid_data
    • First observedget_nuri_contract_data
    • First observedget_nuri_scsbid_data
    • First observedget_order_plan_data
    • First observedget_prestd_data
    • First observedget_price_data
    • First observedget_scsbid_data
    • First observedget_stats_data
    • First observedget_user_info_data
    • First observedlist_g2b_services

TDQS

A4.4/5.0
Disambiguation5/5

Each tool targets a distinct module (bid, contract, statistics, user info, etc.) with no overlap. The support tools (get_g2b_operation_info, get_g2b_cache_data, list_g2b_services) have clearly separate purposes. An agent can easily differentiate them.

Naming Consistency5/5

All data retrieval tools follow the pattern get_<module>_data. Support tools use get_g2b_* and list_g2b_services, maintaining a consistent prefix. No mixed conventions or ambiguity.

Tool Count5/5

17 tools cover a comprehensive set of procurement data domains (bids, contracts, plans, prices, statistics, user info, etc.) without being excessive. Each tool serves a necessary function, well-scoped for the server's purpose.

Completeness5/5

The tool surface covers all major procurement lifecycle stages (pre-bid, bid, award, contract, statistics, user info) across public and private sectors. Support tools for metadata and caching fill gaps. No obvious missing operations for a read-only data API.

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

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides access to South Korean government procurement (G2B) and Nara Market shopping mall data, enabling users to search bid announcements, procurement statistics, product catalogs, and contract information through 15 specialized tools.
    4
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    Integrates 6 Korean public procurement APIs to search, analyze, and manage procurement data using natural language.
    8
    3
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables users to search and analyze Korean public procurement IT bid announcements, including full bid opening results, through natural language conversation with Claude.
    8
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables searching Korean procurement notices from the public data portal, with support for integrated search across categories, flexible date ranges, and attachment extraction.
    MIT

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/ChangooLee/mcp-kr-g2b'

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