hlucent

건설알림이 MCP

Community hlucent
Updated

서울시 건설알림이 MCP

건설알림이 MCP

서울시 건설공사(공사장) 알림 정보를 조회하는 MCP 서버.

상태

✅ fly.dev 배포 완료 — <앱이름>.fly.dev/mcp (2026-08-24부터 ?key= 인증 필수. 아래 "커넥터 연결 방법" 참고)

진행 순서

  1. 저장소 & 개발일지 세팅
  2. 데이터소스 확정 & 인증키 발급
  3. 로컬 스캐폴딩
  4. 도구(tool) 설계 및 실제 API 호출 테스트
  5. 테스트 & 배포 (fly.dev)
  6. PlayMCP 등록 & Claude 연동 테스트
  7. 개발일지 마무리

사용하는 데이터

  • 서울시 건설알림이 사업개요 (data.seoul.go.kr, OA-15585)
  • 서울시 건설알림이 공사사진 (data.seoul.go.kr, OA-15586)
  • 서울시 건설 알림이 정보 (ListConstructionWorkService) (data.seoul.go.kr, OA-1222)
  • 서울시 건설공사 추진 현황 (ListOnePMISBizInfo) (data.seoul.go.kr, OA-2540)

도구(tool) 목록

  • search_construction_projects — 서울시 건설알림이(One-PMIS) 공사장 목록을 자치구명/키워드로 검색 (사업명, 위치, 발주처/시공사, 착공일, 준공예정일, 도급액, 위경도, 발주처/건설사업관리단/시공사 연락처 등 반환)
  • get_construction_project_photos — 사업코드(PJT_CD)로 공사현장 사진 목록 조회
  • search_construction_work_by_district — 서울시 건설 알림이 정보(ListConstructionWorkService)를 자치구명/프로젝트명 키워드로 검색 (자치구명이 있으면 서버가 직접 해당 구만 필터링해 반환. 프로젝트코드, 프로젝트명, 착수일, 사업기간, 진행상태, 사무실/현장주소, 위경도, 사업금액 등 반환)
  • get_construction_progress — 서울시 건설공사 추진 현황(ListOnePMISBizInfo)을 사업명/발주처기관명 키워드로 검색 (계획/실적 공정률, 대비율, D-Day, 도급액/사업비, 시공사/감리사/발주처 담당자, 공사위치 등 반환. 자치구명·최소 도급액(min_amount)은 클라이언트에서 필터링. 공정률/대비율이 0이면 "미입력"으로 표시)

출처 표기 필수: 모든 도구가 결과 JSON에 출처 필드(서울 열린데이터광장 데이터셋명)를 포함하며, 이 MCP를 사용해 답변할 때는 반드시 그 출처를 답변에 명시해야 한다. 출처 생략은 금지된다.

실행 방법

로컬 실행

npm install
npm start

서버는 http://localhost:8080/mcp (Streamable HTTP transport)에서 요청을 받는다.

커넥터 연결 방법

이 서버는 ?key= 쿼리 파라미터로 접근을 제한한다. 올바른 키 없이는 401로 거부된다.

https://<앱이름>.fly.dev/mcp?key=본인의_MCP_ACCESS_KEY

MCP_ACCESS_KEY는 이 서버 자체에 접근하기 위한 전용 비밀키로, 서버가 fly secrets로 보유한 값과 요청의 ?key= 값이 일치해야 통과한다. 서울 열린데이터광장 호출용 키(SEOUL_OPENAPI_KEY)와는 별개다 — 그 키는 서버가 업스트림 API를 호출할 때만 쓰이며 사용자가 URL에 붙일 필요가 없다.

인증을 통과한 요청에 대해서는 같은 IP 기준으로 아래 3단계 제한을 추가로 적용한다. 초과 시 429(Too Many Requests) 응답을 반환한다. (2026-08-25부터 개인 전용 사용 기준으로 완화 — ?key= 인증이 이미 걸려 있어, rate limit은 실수로 반복 호출해도 안 막히는 수준으로 낮췄다.)

  • 분당 30회 초과 호출 제한
  • IP당 일일 총 호출 1000회 제한
  • 1시간 내 429 응답을 20회 이상 받은 IP는 24시간 동안 차단

모든 기록은 메모리(서버 프로세스 내) 저장이며, 서버가 재시작되면 초기화된다.

fly.dev 배포

deploy.ps1 스크립트가 아래 순서를 한 번에 처리한다: node --check로 문법 확인 → (변경사항이 있으면) 커밋 → 원격에 새 커밋이 있으면 git pull --rebase로 동기화 → git pushflyctl deploy → 배포된 엔드포인트에 실제 initialize 요청을 보내 정상 동작 확인.

# 커밋할 변경사항이 있는 경우
.\deploy.ps1 -CommitMessage "feat: add xyz tool"

# 이미 커밋까지 끝난 상태라면 메시지 없이 실행
.\deploy.ps1

옵션:

  • -SkipSyntaxChecknode --check 단계 생략
  • -SkipSmokeTest — 배포 후 라이브 엔드포인트 검증 단계 생략

커밋되지 않은 변경사항이 있는데 -CommitMessage를 지정하지 않으면, 의도치 않은 커밋을 막기 위해 스크립트가 변경 내역을 보여주고 중단한다.

수동으로 배포만 하려면:

flyctl deploy

MCP Server · Populars

MCP Server · New

    ocm-mcp-server

    🛡️ ocm-mcp-server

    An MCP server that lets AI agents operate a multi-cluster Kubernetes fleet through an Open Cluster Management hub, with policy, approval, and audit between the model and your clusters.

    Community ocm-mcp-server
    M4F-S

    Gomaa 🧠

    Gomaa — Autonomous Agent Memory OS. Persistent memory system for AI agents with Obsidian vault integration, hybrid RRF search, knowledge graphs, security gates, and MCP server.

    Community M4F-S
    chatmcp

    3802

    directory for Awesome MCP Servers

    Community chatmcp
    Morningstar202604

    AgentSeed

    Anti-hallucination gate for AI coding agents — 8 MCP tools catch invented APIs (17 languages), fake "all tests pass" claims, and slopsquatting packages before they ship. Zero-dependency Agent Plugins 1.0.0 plugin (Skill + MCP server + CLI + CI gate) for Claude Code, Cursor, VS Code, Copilot.

    Community Morningstar202604
    skarn-security

    Skarn guard: agent plugins

    Skarn plugins for Claude Code, Codex CLI, Gemini CLI, Grok Build, and Antigravity: audit skills, guard hooks, and MCP declarations that find leaked secrets and credentials in AI coding sessions, locally and redacted.

    Community skarn-security