EIASS MCP Server

EIASS MCP Server

Enables searching and retrieving environmental impact assessment projects from the Korean EIASS system, including document keyword search, PDF text extraction, geocoding, and checking adjacency to protected areas like national parks.

Category
Visit Server

README

EIASS MCP 서버

EIASS(환경영향평가정보지원시스템) 사업 검색·상세조회·협의의견 원문 조회와, VWorld 지오코딩 + KDPA 보호지역 인접 조회를 Claude(AI)가 직접 쓸 수 있도록 MCP(Model Context Protocol) 도구로 제공합니다.

제공 도구

도구 기능
eiass_search_projects 사업명/협의완료일 범위/진행상태/기후변화영향평가/업종 등 필터로 사업 검색
eiass_find_projects_by_document_keyword 필터로 후보를 좁힌 뒤, 지정 단계(기본 협의의견) 원문에서 키워드가 있는 사업만 추려서 반환. 소규모(~50건) 조회용, offset으로 이어서 조회 가능
eiass_start_document_keyword_scan 대량 후보(수백 건)를 타임아웃 없이 끝까지 훑는 백그라운드 스캔 시작. 즉시 job_id 반환
eiass_get_scan_status job_id로 스캔 진행 상황·중간/최종 매칭 결과 조회
eiass_cancel_scan 진행 중인 백그라운드 스캔 취소
eiass_get_project_documents 사업 개요 필드 + 단계별(초안/본안/협의의견 등) 첨부문서 목록 조회
eiass_read_document 첨부 PDF를 다운로드해 텍스트 추출(로컬 캐시 우선)
eiass_check_protected_area_adjacency 주소 → 지오코딩 → 반경 내 KDPA 보호지역(국립공원/천연기념물/습지보호지역/야생생물보호구역/OECM) 조회
eiass_geocode 주소 → 경위도 좌표

대량 문서 키워드 검색이 빨라진 이유

첨부 PDF를 file_seq 기준으로 로컬 SQLite에 캐시하고(%LOCALAPPDATA%\DOHWA EIASS Agent\doc_text_cache.sqlite3), 사업 상세조회 결과도 서버 프로세스가 살아있는 동안 메모리에 캐시한다. 그래서:

  • text_queries="CALPUFF,CMAQ"처럼 여러 키워드를 한 번에 넘기면 문서를 한 번만 열어서 전부 확인한다(키워드 수만큼 반복 다운로드하지 않음).
  • 같은 후보군을 다른 키워드로 다시 조회하거나 offset으로 이어서 조회해도 이미 받은 문서는 재다운로드하지 않는다 (실측: 같은 배치를 다른 키워드로 재조회 시 5초대 → 0.3초대).
  • 후보가 많아 한 번의 호출로는 끝낼 수 없을 때는 eiass_start_document_keyword_scan으로 백그라운드에 맡기고 eiass_get_scan_status로 폴링하면, MCP 호출 하나의 타임아웃과 무관하게 끝까지 진행된다.

설치 — 방법 1: exe로 실행 (Python 설치 불필요, 추천)

  1. 이 저장소를 clone하거나 zip으로 받아서 mcp_server.exe를 꺼낸다(저장소에 이미 빌드되어 포함되어 있다. 직접 최신 소스로 다시 빌드하려면 아래 "직접 빌드하기" 참고).
  2. 아무 폴더에나 저장한다 (예: C:\Tools\eiass-mcp\mcp_server.exe).
  3. 같은 폴더에 .env 파일을 만들고 VWorld API 키를 넣는다 (지오코딩/보호구역 조회용, VWorld 오픈API에서 무료 발급):
    VWORLD_API_KEY=발급받은_키
    
  4. Claude/Codex에 등록한다 — install.ps1을 실행하면 자동으로 등록된다(아래 "자동 등록" 참고). 수동으로 하려면 "Claude에 등록하기" 참고.

자동 등록 (Claude Code + Codex CLI)

claude, codex CLI가 PC에 설치되어 있으면 아래 스크립트가 둘 다 자동으로 등록해준다(찾지 못한 CLI는 건너뛴다). VWorld API 키도 대화형으로 물어봐서 .env까지 만들어준다.

powershell -ExecutionPolicy Bypass -File install.ps1

실행 후 Claude Code/Codex를 재시작하면 eiass_* 도구를 바로 쓸 수 있다. Claude Desktop은 CLI가 없어 자동 등록은 지원하지 않고, 실행 후 안내되는 JSON 스니펫을 claude_desktop_config.json에 직접 추가하면 된다.

설치 — 방법 2: Python으로 실행

  1. Python 3.10 이상 설치
  2. 이 저장소를 clone하거나 zip으로 받는다
  3. pip install -r requirements.txt
  4. 같은 폴더에 .env 파일을 만들고 VWORLD_API_KEY=... 추가
  5. Claude 설정에 등록 (아래 참고)

Claude에 등록하기

Claude Code

프로젝트 루트에 .mcp.json을 만든다 (exe 방식 예시):

{
  "mcpServers": {
    "eiass": {
      "command": "C:/Tools/eiass-mcp/mcp_server.exe"
    }
  }
}

Python 방식이면:

{
  "mcpServers": {
    "eiass": {
      "command": "python",
      "args": ["mcp_server.py"],
      "cwd": "C:/Tools/eiass-mcp"
    }
  }
}

Claude Code를 재시작하면 "eiass" 서버 신뢰 여부를 물어본다 → 승인.

Claude Desktop

%APPDATA%\Claude\claude_desktop_config.json에 위와 동일한 형식으로 mcpServers 항목을 추가하고 Claude Desktop을 재시작한다.

직접 빌드하기

eiass_core.py/mcp_server.py를 수정한 뒤 exe를 새로 만들려면, 반드시 이 저장소 전용의 깨끗한 venv에서 빌드해야 한다(시스템 Python에 다른 프로젝트용 패키지가 잔뜩 깔려 있으면 PyInstaller가 그것들까지 끌고 들어가 exe가 수백MB로 부풀고 느려진다):

python -m venv .mcpbuild_venv
.mcpbuild_venv\Scripts\pip install -r requirements-build.txt
.mcpbuild_venv\Scripts\python build_mcp.py

참고

  • EIASS/KDPA는 정부 사이트 인증서 문제로 SSL 검증을 끄고 접속한다(원본 데스크톱 앱과 동일).
  • eiass_find_projects_by_document_keyword의 텍스트 검색은 단순 부분문자열 매칭이다. 동의어/문맥 유사도까지 필요하면 1차 후보를 좁힌 뒤 eiass_read_document로 원문을 받아 AI가 다시 판단해야 한다.
  • 이 저장소는 DOHWA EIASS agent 데스크톱 앱의 검색/조회 로직 일부를 PyQt 의존성 없이 재구현한 것이다.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured