Skip to main content
Glama
yonghwan86

narajangteo-searcher

by yonghwan86

나라장터 검색기 (나라장터 IT 입찰공고 검색기)

조달청 나라장터 IT 입찰공고를 검색하고, 마감된 공고의 개찰결과(전체 투찰자 명단) 까지 분석하는 도구입니다. 더블클릭으로 쓰는 독립 실행 앱과, Claude에 붙여 대화로 쓰는 MCP 서버 두 가지로 제공됩니다.

조달청 나라장터 입찰공고정보서비스(공공데이터포털 데이터번호 15129394, BidPublicInfoService)를 이용해 IT 소기업이 입찰공고를 빠르게 찾고, 참여 여부를 판단하고, 수주 가능성 높은 공공 IT 사업을 선별하도록 돕습니다. 단순 API 래퍼가 아니라 검색 → IT 필터링 → 적합도 점수 → 검토 메모까지 수행합니다.


⬇️ 다운로드 (Windows 64bit)

👉 최신 버전 EXE 내려받기

받은 narajangteo-searcher.exe 를 더블클릭하면 끝입니다. 설치 불필요 · Node.js 불필요.

  • 실행하면 브라우저가 자동으로 열립니다 (http://localhost:7777).

  • Windows 보안경고(SmartScreen)가 뜨면 추가 정보 → 실행 (서명 안 된 자체 빌드라 그렇습니다).

  • 이전 버전·사용방법 파일: Releases 페이지 →


🖥️ A. 독립 실행 앱 (가장 쉬움 — 비개발자/팀원용)

Related MCP server: mcp-kr-g2b

사용법

앱을 실행(또는 위에서 받은 EXE 더블클릭)하면 브라우저가 열립니다. 그다음:

  1. 우측 상단 [인증키 설정] → 공공데이터포털에서 발급받은 일반 인증키를 붙여넣고 저장

    • %가 없는 Decoding 키(원본) 면 그대로, %가 포함된 Encoding 키 면 체크박스를 선택하세요.

  2. [입찰공고 검색] 탭 — 검색 조건(업무구분·기간·키워드·예산·지역) 입력 후 [검색] (입력칸에서 Enter도 가능)

    • 결과는 적합도 점수순 정렬 + 판단 색상(✅바로검토 / 🟡조건확인 / ⛔비추천), 공고명 클릭 시 원문으로 이동

  3. [📊 개찰결과 분석] 탭 — 마감된 공고를 키워드로 검색 → 공고 행 클릭 시 그 자리에서 전체 투찰자 명단(순위·사업자등록번호·업체명·투찰금액·투찰률·비고)이 펼쳐짐 + CSV 내려받기

    • [투찰자 있는 공고만 보기] 를 켜면 개찰 전·유찰·미공개 공고를 자동으로 걸러줍니다.

💡 인증키는 한 번만 입력하면 이 PC의 %APPDATA%\g2b-it-bid\config.json 에만 저장됩니다. 개찰결과(전체 투찰자 명단) 조회는 인증키가 없어도 동작합니다. (개찰결과 데이터 출처 참고)

소스로 직접 실행 / 빌드 (개발자용)

npm install
npm run build:exe   # 단일 EXE 빌드 → dist-exe/나라장터-IT입찰공고-검색기.exe (약 88MB, Node 내장)
                    # (배포 시 Releases 에는 narajangteo-searcher.exe 이름으로 업로드)

EXE 없이 폴더에서 바로 실행하려면(Node 20.19+ 필요):

npm install && npm run build && npm run app
  • 또는 run.bat 더블클릭 → 의존성 자동 설치 후 실행


🤖 B. MCP 서버 (Claude 사용자용)

검색·필터·점수·검토메모를 Claude(Desktop/Code)가 대화로 처리합니다.

⚠️ 읽기 전용입니다. 공고 탐색·분석·검토 메모 작성까지만 수행하며, 투찰 / 계약 체결 / 전자서명 / 로그인 대행 / 투찰 자동화는 구현하지 않습니다.

1. 이 MCP 서버가 하는 일

  • 오늘/최근 올라온 IT 관련 입찰공고 검색 (용역 기본, 물품/공사/외자 확장)

  • IT 키워드 자동 필터링 및 카테고리 분류(SI/웹/앱/유지보수/클라우드/AI/데이터/보안/ERP 등)

  • IT 소기업 기준 100점 적합도 점수 + "바로 검토 / 조건 확인 후 검토 / 비추천" 분류

  • 특정 공고 통합 상세조회(목록 + 기초금액 + 면허제한 + 참가지역 + 변경이력)

  • 대표 의사결정용 입찰 검토 메모 자동 작성

  • 마감 임박 공고 탐색, 키워드 감시

2. 설치

npm install
npm run build

요구사항: Node.js 20.19 이상.

3. 인증키 등록

  1. 공공데이터포털 서비스 페이지에서 활용신청

  2. 승인 후 발급되는 일반 인증키 확인 (Encoding / Decoding 두 형태 제공)

  3. .env.example 을 복사해 .env 를 만들고 키 입력 (코드에 하드코딩 금지):

NARAJANGTEO_SERVICE_KEY=여기에_발급받은_인증키_입력
# Decoding 키(원본, % 없음)면 false, Encoding 키(% 포함)면 true. 미지정 시 % 포함 여부로 자동 판별.
NARAJANGTEO_SERVICE_KEY_IS_ENCODED=false
# G2B_API_PROTOCOL=https

💡 이중 인코딩 주의: 본 서버는 serviceKey 를 자동으로 1회만 인코딩합니다. % 가 포함된 Encoding 키 를 넣었다면 NARAJANGTEO_SERVICE_KEY_IS_ENCODED=true, % 가 없는 Decoding 키(원본) 를 넣었다면 false 로 설정하세요.

인증키가 없으면 도구 실행 시 명확한 한국어 오류를 반환합니다(빌드/도구목록은 키 없이도 동작).

개찰결과 — 전체 투찰자 명단 데이터 출처

🧾 개찰결과의 전체 투찰자 명단은 나라장터 화면 데이터로 가져오며 인증키가 필요 없습니다. 공식 OpenAPI(낙찰정보서비스 15129397)는 공고당 개찰 1순위(낙찰예정자) 1개사만 제공하므로, get_bid_opening_result 와 앱의 "개찰결과 분석" 탭은 나라장터 통합검색 상세화면이 쓰는 내부 엔드포인트를 재현해 투찰자 전원(2·3순위 포함)을 로그인 없이 가져옵니다.

⚠️ 이는 공식 OpenAPI가 아니라 나라장터 내부 호출 재현입니다(상용 입찰정보 서비스들과 동일 방식). 나라장터 개편 시 식별값이 바뀌면 깨질 수 있어(수정 용이) 쿠키·결과를 캐시하며 과도한 반복 호출은 피합니다. 폴백용 공식 OpenAPI(낙찰예정자)를 쓰려면 낙찰정보서비스 활용신청이 별도로 필요합니다(같은 인증키).

4. MCP 클라이언트 연결 예시

Claude Desktop (Windows)

%APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "g2b-it-bid": {
      "command": "node",
      "args": ["C:/path/to/narajangteo-searcher/build/index.js"],
      "env": {
        "NARAJANGTEO_SERVICE_KEY": "사용자_인증키",
        "NARAJANGTEO_SERVICE_KEY_IS_ENCODED": "true"
      }
    }
  }
}

macOS / Linux

~/Library/Application Support/Claude/claude_desktop_config.json (mac) 또는 해당 설정 파일에 위와 동일한 형식으로 등록하되 args 경로만 /path/to/narajangteo-searcher/build/index.js 로 바꿉니다.

Claude Code (CLI)

claude mcp add g2b-it-bid -- node /path/to/narajangteo-searcher/build/index.js

(환경변수는 셸 또는 .env 로 주입)

5. 사용 가능한 도구

도구

설명

search_it_bids

IT 관련 입찰공고 검색 (기간/지역/예산/키워드 필터 + 추천순)

get_bid_detail

특정 공고 통합 상세조회 (기초금액·면허제한·참가지역·변경이력 포함)

get_bid_opening_result

개찰결과 조회 — 마감·개찰 완료된 공고의 투찰 업체 전원(순위·사업자등록번호·업체명·대표자명·투찰금액·투찰률·비고·투찰일시)을 나라장터에서 조회. 실패 시 공식 OpenAPI(낙찰예정자)로 자동 폴백

recommend_bids_for_small_it_company

IT 소기업 적합도 점수 추천 + 분류

create_bid_review_memo

대표 의사결정용 9섹션 입찰 검토 메모 작성

find_deadline_urgent_bids

마감 임박(기본 72h) IT 공고 탐색

watch_keywords

키워드별 최근 공고 감시 + 중복 제거

call_raw_operation

25개 오퍼레이션 원시 호출 (검증/확장)

6. 예시 질문

  • "오늘 올라온 IT 관련 용역 공고 찾아줘"

  • "이번 주 마감되는 소프트웨어 개발 사업 찾아줘"

  • "우리 같은 IT 소기업이 들어갈 만한 공고만 골라줘"

  • "기초금액 5천만 원 이상 2억 원 이하 공고만 찾아줘"

  • "지역제한이 없는 전국 공고만 찾아줘"

  • "마감이 3일 이내인 공고 중 참여 가능성이 높은 순서로 정리해줘"

  • "R25BK00932003 공고 상세정보로 입찰 검토 메모 작성해줘"

  • "20240516360 공고 개찰결과 보여줘"


보안 주의사항

  • 인증키는 환경변수(또는 앱의 로컬 config.json)로만 주입하며 코드/저장소에 포함하지 않습니다(.env.gitignore 대상).

  • 인증키는 로그·응답·에러 메시지에 마스킹되어 노출되지 않습니다(URL 마스킹 적용).

  • 본 도구는 읽기 전용입니다. 투찰/계약/전자서명/자동화 기능은 제공하지 않습니다.

나라장터 API 트래픽 주의

  • 개발계정은 일 1,000 요청 제한입니다(운영계정은 활용사례 등록 시 증가 가능).

  • 동일 요청은 10분 메모리 캐시로 호출을 절약합니다.

  • get_bid_detail / create_bid_review_memo 는 공고 1건당 보조 오퍼레이션까지 호출하므로(최대 4~5콜) 트래픽 소모가 큽니다. 과도한 반복 호출은 피하세요.

개발 / 테스트

npm run dev     # tsx로 소스 직접 실행
npm test        # 단위 테스트 (scoring, normalizer) — 인증키 불필요
npm run build   # 빌드

npx @modelcontextprotocol/inspector node build/index.js   # 키 없이 도구 목록 확인

향후 확장 계획

  • 물품/외자/공사 검색 고도화 및 세부품명번호 기반 필터

  • 공고 변경 알림(주기적 폴링) 및 즐겨찾기

  • 적합도 점수 가중치 사용자 설정

Available Tools

8 tools
call_raw_operationA

[원시호출] 나라장터 입찰공고정보서비스 + 낙찰정보서비스 33개 오퍼레이션을 직접 호출(검증/확장/디버깅). operationName + params. 정제 없이 원본 items 를 반환.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationNameYes호출할 오퍼레이션 영문명
paramsNo요청 파라미터 (serviceKey/type 은 자동 주입). 예: { inqryDiv:'2', bidNtceNo:'R25BK00932003' }

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 returns raw original items, auto-injects serviceKey/type, and is intended for debugging. This provides good transparency about behavior, though could mention error handling or rate limits.

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 concise sentence and a fragment, with no redundancy. Every word serves a purpose, and the key information is front-loaded.

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 complexity of 33 operations and no output schema, the description provides an example and explains the return format. However, it does not specify per-operation parameter requirements, leaving a gap for users unfamiliar with the underlying API.

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%, so baseline is 3. The description adds value by explaining that serviceKey/type are auto-injected and provides an example for params. This goes beyond the schema's basic 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 identifies the tool as a raw call to 33 specific operations of the National Market bid/award services, for verification/extension/debugging. It distinguishes itself from sibling tools that provide refined or specific query results.

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 indicates usage for verification/extension/debugging, implying it is for low-level direct access. It doesn't explicitly state alternatives or when not to use, but the sibling tools serve as higher-level alternatives, providing clear context.

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

create_bid_review_memoA

[검토메모] 특정 공고에 대해 대표가 바로 판단할 수 있는 9개 섹션 입찰 검토 메모(개요~대표 의사결정)를 한국어로 작성. bidNo 필수.

ParametersJSON Schema
NameRequiredDescriptionDefault
bidNoYes입찰공고번호 (예: R25BK00932003)
bidOrdNo입찰공고차수
companyNameNo우리 회사명 (메모에 표기)
companyStrengthsNo우리 회사 강점 (예: ['공공 SI 실적','AI 역량'])

TDQS

A3.6/5.0
Behavior3/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 the tool generates a structured 9-section memo from overview to CEO decision in Korean. However, it does not describe the output format, any side effects, or authentication needs, leaving some behavioral traits undisclosed.

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 a single concise sentence with an additional required parameter note, containing no wasted words. It is front-loaded with the purpose and key requirement, though structure could be improved with separation of sections.

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 tool has 4 parameters, no output schema, and no annotations, the description provides the core purpose and required parameter. However, it lacks details on return value, prerequisites, or error handling, making it minimally adequate for a memo generation tool.

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 description coverage is 100%, so the input schema already documents all four parameters with clear descriptions. The tool description adds no new parameter insights beyond reiterating that bidNo is required, achieving the baseline expectation.

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 creates a 9-section bid review memo in Korean for a specific announcement, enabling CEO decision-making. It uses a specific verb '작성' and resource '입찰 검토 메모', distinguishing it from sibling tools which are about retrieving or searching bid data.

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

Usage Guidelines3/5

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

The description indicates the tool is used to write a memo for a specific announcement and notes that bidNo is required. However, it provides no explicit guidance on when not to use it or alternatives, leaving usage context implied rather than stated.

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

find_deadline_urgent_bidsA

[마감임박] 마감이 N시간 이내(기본 72h)인 IT 공고를 남은 시간 가까운 순으로 정리. 급히 확인할 조건 포함.

ParametersJSON Schema
NameRequiredDescriptionDefault
withinHoursNo마감까지 N시간 이내 (기본 72)
keywordsNoIT 키워드 (미지정 시 기본 세트)
maxResultsNo최대 결과 수 (기본 20)
businessTypeNo업무구분 (기본 용역, '전체'는 5개 업무 통합)용역
openInBrowserNo결과를 별도 브라우저 창(정렬·필터 가능한 HTML 표)으로 띄울지 여부

TDQS

A3.8/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 burden. It discloses sorting behavior and inclusion of urgent conditions, but does not specify read-only nature, authentication needs, or side effects. Acceptable but incomplete.

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 sentence that is concise and front-loaded with the category '[마감임박]'. Every word serves a purpose without waste.

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

Completeness2/5

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

The description lacks information on output format and the effect of the 'openInBrowser' parameter. With no output schema, it should at least indicate default result presentation. This gap reduces completeness for a tool with 5 parameters.

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%, so baseline is 3. The tool description does not add extra meaning beyond the parameter descriptions in the schema. No additional parameter context is provided.

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 specifies the tool finds IT notices with deadlines within N hours (default 72h) and sorts them by remaining time. The term '마감임박' and '급히 확인할 조건 포함' clearly distinguish it from siblings like search_it_bids and recommend_bids_for_small_it_company.

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 implies usage for urgent bids by stating '마감임박' and sorting by time proximity. It provides context but does not explicitly state when to use alternatives or when not to use this tool. Clear context but no exclusions.

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

get_bid_detailB

[상세조회] 특정 공고번호의 통합 상세정보(목록필드+기초금액+면허제한+참가가능지역+변경이력)를 조회하고 IT 소기업 관점으로 요약. bidNo 필수.

ParametersJSON Schema
NameRequiredDescriptionDefault
bidNoYes입찰공고번호 (예: R25BK00932003)
bidOrdNo입찰공고차수 (예: 000). 미지정 시 첫 항목

TDQS

B3.4/5.0
Behavior2/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 lists the types of information retrieved but does not disclose behavioral traits such as side effects, permissions, rate limits, 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 a single, efficient sentence that front-loads the purpose and includes key details. No unnecessary words.

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?

The description explains what the tool does and what information is included, but it does not mention return format, error conditions, or other context. Adequate but incomplete given no output schema or annotations.

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 clear parameter descriptions. The tool's description adds no additional meaning beyond what the schema provides, so baseline 3 is appropriate.

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 integrated detailed information for a specific announcement number and summarizes from an IT small business perspective. It distinguishes itself from siblings like get_bid_opening_result (specific result) and search_it_bids (search) by focusing on detailed inquiry.

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

Usage Guidelines3/5

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

The description implies usage for getting detailed info on a specific bid, but does not explicitly state when to use or not use this tool vs alternatives. It lacks guidance on when to prefer get_bid_detail over sibling tools.

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

get_bid_opening_resultA

[개찰결과] 특정 공고의 투찰 업체 '전원'(순위·사업자등록번호·업체명·대표자명·투찰금액·투찰률·비고·투찰일시)을 나라장터에서 조회. 마감·개찰 완료된 공고용. bidNo 필수(차수 bidOrd 기본 000). 실패 시 공식 OpenAPI(낙찰예정자)로 자동 폴백.

ParametersJSON Schema
NameRequiredDescriptionDefault
bidNoYes입찰공고번호 (예: 20240516360)
bidOrdNo입찰공고차수 (예: 000). 기본 000
businessNo업무구분 — OpenAPI 폴백 시에만 사용(전체명단 스크래핑엔 불필요)용역
opengDateNo개찰일 'YYYY-MM-DD' — OpenAPI 폴백 시 보조용(선택)

TDQS

A3.8/5.0
Behavior4/5

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

Since no annotations are provided, the description carries the full burden. It discloses that the tool retrieves a specific set of data (ranking, business number, etc.) and that on failure it automatically falls back to the official OpenAPI, which is a valuable behavioral trait. However, it does not cover other aspects like rate limits, authentication, or data freshness.

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

Conciseness4/5

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

The description is a single, front-loaded sentence that conveys the main purpose and key constraints. It is concise but packs significant information. However, it could be broken into clearer segments for readability.

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 lack of output schema, the description adequately covers what the tool returns (list of companies with specified fields) and includes fallback behavior. It mentions parameter constraints. It is fairly complete for a tool with 4 parameters and no output schema, though it could elaborate on error conditions or fallback triggers.

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%, so baseline is 3. The description adds value beyond the schema by stating that bidNo is required and bidOrd defaults to 000, and it clarifies the purpose of the business parameter (only used for OpenAPI fallback). This enhances the meaning for an AI agent.

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 it retrieves bid opening results for a specific announcement, including detailed company information. It specifies the scope (closed/completed openings) and the source (나라장터). While it distinguishes from siblings implicitly by its specific function, it does not explicitly compare with siblings like get_bid_detail.

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

Usage Guidelines3/5

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

The description gives usage context: it is for announcements that have closed and opened, and mentions that bidNo is required and bidOrd defaults to 000. However, it does not provide explicit guidance on when to use this tool versus alternatives (e.g., get_bid_detail), nor does it mention conditions where it should not be used.

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

recommend_bids_for_small_it_companyA

[맞춤추천] IT 소기업 기준으로 참여 가능성 높은 공고를 100점 적합도 점수로 추천하고 '바로 검토/조건 확인 후 검토/비추천'으로 분류. companyProfile(역량·예산·인증)로 개인화.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyProfileNo회사 프로필 (미지정 시 기본 IT 소기업 프로필)
daysNo최근 N일 이내 공고 (기본 7)
maxResultsNo최대 추천 건수 (기본 20)
businessTypeNo업무구분 (기본 용역, '전체'는 5개 업무 통합)용역
openInBrowserNo결과를 별도 브라우저 창(정렬·필터 가능한 HTML 표)으로 띄울지 여부

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses that recommendations are personalized via companyProfile and includes a scoring/classification system, but does not detail side effects, data sources, or whether it's read-only. Adequate but not exhaustive.

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?

Description is extremely concise with one sentence and a parenthetical. No redundant information; every word adds value. Front-loaded with key functionality.

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 complexity (5 parameters, nested object, no output schema), the description explains the core output (score and classification) but lacks full detail on output format, pagination, or error handling. It is somewhat complete for a recommendation tool but could be more explicit.

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 description coverage is 100%, so baseline is 3. The tool description adds minimal extra meaning beyond schema, merely reiterating that companyProfile personalizes recommendations. No parameter-specific details are added beyond what's in 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?

Description clearly states the tool recommends bids for small IT companies with a suitability score and classification. It differentiates from sibling tools like search_it_bids by focusing on personalized recommendation based on company profile.

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

Usage Guidelines3/5

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

Implies usage for personalized bid recommendation but does not explicitly state when to use this over alternatives like search_it_bids or when not to use it. No exclusions or conditions provided.

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

search_it_bidsA

[IT공고검색] IT 관련 입찰공고를 검색한다. 나라장터 검색조건(PPSSrch)으로 기간/지역/예산 서버필터 + 다중 IT 키워드 클라이언트필터. 기본: 오늘 게시된 용역공고. '오늘 IT 용역 공고 찾아줘' 같은 질문용.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordsNoIT 키워드 목록 (미지정 시 기본 IT 키워드 세트 사용)
startDateNo조회시작일시 YYYYMMDDHHMM (기본: 오늘 00:00)
endDateNo조회종료일시 YYYYMMDDHHMM (기본: 오늘 23:59)
minBudgetNo최소 추정가격(원)
maxBudgetNo최대 추정가격(원)
regionNo참가제한지역명 일부 (예: '서울')
includeNationwideNo지역 필터 시 전국(지역제한 없음) 공고 포함 여부
deadlineWithinDaysNo마감이 N일 이내인 공고만
businessTypeNo업무구분 (IT는 대부분 용역, '전체'는 5개 업무 통합 조회)용역
jointContractMethodNo공동수급방식 필터 (전체/공동이행(공500001)/분담이행(공500002)/공동이행또는분담이행(공500006))전체
excludeKeywordsNo제외 키워드 목록
pageNoNo페이지 번호
numOfRowsNo한 페이지 결과 수 (기본 100)
openInBrowserNo결과를 별도 브라우저 창(정렬·필터 가능한 HTML 표)으로 띄울지 여부

TDQS

A3.5/5.0
Behavior2/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 mentions two-stage filtering (server then client) and default behavior, but omits key traits: return format, pagination behavior, whether results are read-only, or any side effects. For a search tool, this is insufficient.

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 extremely concise: three sentences with a clear title prefix, an explanation of the filtering approach, and an actionable example. Every sentence adds value without redundancy.

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 14 parameters and no output schema, the description covers the high-level filtering logic but lacks detail on return values, error handling, or pagination behavior. It is adequate but could be more informative for an agent to use correctly.

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%, so baseline is 3. The description adds context by explaining the dual-filter strategy (server filter for period/region/budget, client filter for keywords), but does not add new meaning beyond the schema for most parameters.

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 searches IT-related bidding notices (IT 관련 입찰공고를 검색한다), provides a usage example ('오늘 IT 용역 공고 찾아줘'), and implicitly distinguishes from sibling tools that have more specific purposes like urgent deadlines or recommendations.

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

Usage Guidelines3/5

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

The description implies usage for IT bid search via example but does not explicitly specify when to use this tool versus alternatives like find_deadline_urgent_bids or recommend_bids_for_small_it_company. No exclusions or prerequisites are mentioned.

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

watch_keywordsB

[키워드감시] 지정 키워드별로 최근 N일 공고를 검색하고 신규/중복을 표시. 여러 키워드를 한 번에 모니터링.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordsYes감시할 키워드 목록 (예: ['AI','데이터분석'])
daysNo최근 N일 (기본 3)
maxResultsNo최대 결과 수 (기본 30)
businessTypeNo업무구분 (기본 용역, '전체'는 5개 업무 통합)용역

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavior. It mentions searching and displaying new/duplicate results, but does not clarify if the tool is read-only, whether it triggers alerts, how duplicate detection works, or any authentication requirements. Behavioral disclosure is minimal.

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 consists of two concise sentences: the first delivers the core purpose (keyword monitoring, search, new/duplicate display), and the second emphasizes multi-keyword support. No superfluous content.

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?

The description covers the main function and parameter semantics are fully handled by the schema. However, since there is no output schema, the description should specify the return format (e.g., whether it returns a list with status flags). The mention of 'new/duplicate display' gives a hint but is incomplete for an agent to fully understand the output.

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?

All parameters have schema descriptions (100% coverage), so the schema already documents their meaning. The tool description adds overall context but does not provide additional parameter-level insights beyond what is in the schema. Baseline score of 3 is appropriate.

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 states it searches recent N-day announcements for specified keywords and marks new/duplicate, with multi-keyword monitoring. This is clear and specific. However, it does not explicitly differentiate from the sibling tool 'search_it_bids', leaving the agent to infer the distinction.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'search_it_bids' or other siblings. The description lacks explicit when-to-use or when-not-to-use instructions.

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.

  1. 8 tool updatesv0.1.0
    • First observedcall_raw_operation
    • First observedcreate_bid_review_memo
    • First observedfind_deadline_urgent_bids
    • First observedget_bid_detail
    • First observedget_bid_opening_result
    • First observedrecommend_bids_for_small_it_company
    • First observedsearch_it_bids
    • First observedwatch_keywords

TDQS

A4/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a distinct purpose: raw API calls, memo creation, urgent bid detection, bid detail, opening results, personalized recommendations, general search, and keyword monitoring. Descriptions clearly differentiate them, avoiding overlap.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., find_deadline_urgent_bids, get_bid_detail). Verbs vary but are appropriate, and there are no mixed conventions.

Tool Count5/5

With 8 tools, the server covers a comprehensive set of procurement tasks without excess. The count is well-scoped for the domain of searching and analyzing government bids.

Completeness5/5

The tool set provides a complete workflow: search, detail view, opening results, recommendations, deadline alerts, memo creation, and keyword monitoring. The raw operation tool covers any remaining API gaps, ensuring no dead ends.

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
    A
    quality
    D
    maintenance
    Integrates 6 Korean public procurement APIs to search, analyze, and manage procurement data using natural language.
    8
    3
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to query and analyze Korean public procurement data from the Korea Public Procurement Service (G2B/Nuri) via 14 services and 156 operations, including bid announcements, contracts, prices, and statistics.
    17
    -
  • 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
  • A
    license
    A
    quality
    A
    maintenance
    Enables querying Korean procurement corporate profiles and qualifications using business registration numbers through natural language, leveraging the public data API from data.go.kr.
    2
    53
    MIT