안녕하세요.
최근 개발자 커뮤니티를 뜨겁게 달구고 있는 오픈소스 프로젝트가 있습니다. 바로 7년 차 공무원이 독자적으로 개발하여 국회에서까지 극찬을 받은 lexguard-mcp인데요. 이를 계기로 AI가 외부 데이터와 시스템을 직접 호출할 수 있도록 돕는 표준 규격인 MCP(Model Context Protocol)에 대한 관심이 급격히 높아지고 있습니다
lexguard-mcp는 국가법령정보센터(Open Law)의 공식 데이터를 기반으로 법령·조문·판례·법령해석·행정심판·헌재결정을 AI가 이해하기 쉬운 형태로 매핑해 주는 강력한 MCP 서버입니다.
이번 글에서는 LLM 오케스트레이션 툴인 Dify(v1.13.2 기준)에 lexguard-mcp를 Docker로 연동하여, "대한민국 법령을 완벽하게 이해하는 AI 에이전트"를 구축하는 방법을 단계별로 소개해 드립니다.
1. MCP(Model Context Protocol)란 무엇인가요?
기존의 AI 챗봇이 단순히 학습된 데이터나 고정된 RAG(검색 증강 생성)에 의존했다면, MCP는 AI가 외부 시스템의 API나 데이터베이스를 자유롭게 오가며 '도구(Tool)'처럼 쓸 수 있게 해주는 표준 프로토콜입니다.
예를 들어 사용자가 "근로기준법상 부당해고 관련 조항과 최신 판례를 찾아줘"라고 질문하면, Dify 에이전트가 실시간으로 LexGuard MCP의 법령 검색 도구를 호출하고, 그 결과를 바탕으로 가장 정확하고 신뢰할 수 있는 답변을 생성합니다.
2.LexGuard MCP를 Dify에 연결하는 방법
시작하기 전에 아래 항목들이 준비되었는지 확인해 주세요.
MCP를 도커에서 실행하는 방법을 기준으로 합니다.
Dify 1.13.2 버전 - Http 방식의 MCP만 가능합니다.
Docker를 이용하지 않고, 제공된 MCP Endpoint를 이용하셔도 됩니다.
📌 준비물
- Docker Desktop (https://www.docker.com/products/docker-desktop/))
- 국가법령정보센터 API 키 (https://open.law.go.kr))
- Dify 접속 가능한 환경
- Github 코드 클론 (https://github.com/SeoNaRu/lexguard-mcp)
2. Docker로 LexGuard MCP 서버 실행하기
STEP 1. 프로젝트 폴더로 이동
터미널(또는 CMD/PowerShell)을 열고 GitHub에서 다운로드(클론)한 lexguard-mcp 디렉토리로 이동합니다.
cd /path/to/lexguard-mcp # 사용자가 다운로드한 실제 경로를 입력하세요.STEP 2. 환경 변수(.env) 설정
제공된 샘플 설정 파일을 복사하여 실제 환경 변수 파일을 생성합니다.
cp env.example .env이제 파일 편집기(vi 또는 nano)로 .env 파일을 열어 발급받은 API 키를 입력합니다.
💡 간단한 vi(vim) 편집기 명령어 팁
i키를 누르면 편집 모드(Insert)로 전환됩니다. 방향키로 이동하여 키를 입력하세요.입력이 끝나면
ESC키를 눌러 편집 모드를 종료합니다.
:wq를 입력하고Enter를 누르면 저장 후 종료됩니다.
# .env 파일 예시
LAW_API_KEY=발급받은_국가법령_API키
LAWGOKR_OC=발급받은_OC키STEP 3. Docker Compose로 서버 실행
환경 변수 설정이 완료되었다면 백그라운드 모드로 컨테이너를 가동합니다.
docker compose up -dSTEP 4. 실행 상태 확인
컨테이너가 정상적으로 정상 작동하는지 확인합니다.
docker pslexguard-mcp 컨테이너의 상태(Status)가 Up으로 표시되면 샌드박스 서버 서버 실행 성공입니다. (기본 포트: 8099)
연동 절차
Dify 상단 메뉴에서 [도구 (Tools)] 탭을 클릭합니다.
좌측 메뉴에서 [MCP]를 선택한 후, 우측 상단의 [서버 추가 (Add Server)] 버튼을 클릭합니다.
MCP 클릭 후 서버 추가 클릭해 주세요
MCP 엔드포인트: http://localhost:8099/mcp 부분을 Dify에 추가합니다.
⚠️ 필수 확인: 인프라 환경별 MCP 엔드포인트 주소 설정
Dify와 MCP 서버가 각각 어떤 환경(로컬 PC, 사내 On-Premise 서버 등)에 설치되었느냐에 따라 입력해야 하는 URL 주소가 다릅니다. 이 부분을 잘못 설정하면 Connection Refused 에러가 발생하므로 주의해 주세요.
내 구축 환경 | Dify 입력 엔드포인트 URL | 설명 |
Dify와 MCP 모두 한 PC에서 Docker로 구동할 때 |
| Dify 컨테이너에서 호스트(내 PC)로 통신하기 위한 Docker 전용 도메인입니다. |
Dify만 Docker로 쓰고, MCP는 로컬에서 직접 띄웠을 때 |
| 동일한 호스트 환경 네트워크를 공유합니다. |
Dify와 MCP 모두 사내 전용 서버(On-Premise)에 올렸을 때 |
| 내부망 고정 IP를 통해 컨테이너 간 통신을 연결합니다. |
Dify는 클라우드/회사 서버에 있고, MCP는 내 개인 로컬 PC에 있을 때 | 접근 불가 | 외부 서버에서 사내 로컬 PC로 직접 접근할 수 없습니다. 이 경우 |
오픈네트웍시스템 백민규