narajangteo-searcher

narajangteo-searcher

Enables users to search and analyze Korean public procurement IT bid announcements, including full bid opening results, through natural language conversation with Claude.

Category
访问服务器

README

나라장터 검색기 (나라장터 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. 독립 실행 앱 (가장 쉬움 — 비개발자/팀원용)

사용법

앱을 실행(또는 위에서 받은 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   # 키 없이 도구 목록 확인

향후 확장 계획

  • 물품/외자/공사 검색 고도화 및 세부품명번호 기반 필터
  • 공고 변경 알림(주기적 폴링) 및 즐겨찾기
  • 적합도 점수 가중치 사용자 설정

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选