dongguk-rule-mcp

dongguk-rule-mcp

Enables AI to search and retrieve regulations from Dongguk University's integrated rule management system.

Category
Visit Server

README

dongguk-rule-mcp

동국대학교 통합규정관리시스템(rule.dongguk.edu)을 AI에서 직접 검색·조회하는 MCP 서버.

korean-law-mcp에서 영감. 공무원에게 korean-law-mcp가 있다면, 대학 교직원에게는 dongguk-rule-mcp가 있다.

도구 (5개)

도구 설명
search_rule 키워드 검색 (제목/전문, 캠퍼스 필터)
get_rule_content 규정 본문 마크다운 조회 (조문/장/키워드 필터)
get_rule_toc 목차만 빠르게 조회
list_rule_history 개정 연혁 목록
search_rule_deep 전문검색 → 본문에서 조문까지 자동 추출

요구사항

  • Node.js 18 이상 (node --version으로 확인)
  • 국내 IP (rule.dongguk.edu가 해외/데이터센터 IP를 503 차단)

설치 — 4가지 방법

방법 A: GitHub에서 바로 (권장 — 한 줄)

Claude Desktop 설정에 아래만 추가하면 설치·실행이 자동으로 됩니다 (Node 18+ 필요):

{
  "mcpServers": {
    "dongguk-rule": {
      "command": "npx",
      "args": ["-y", "github:buenosiempre-cmd/dongguk-rule-mcp"]
    }
  }
}

방법 B: tarball 직접 설치

Releases에서 tgz 다운로드 후:

npm install -g ./dongguk-rule-mcp-0.4.0.tgz
dongguk-rule-mcp --version   # 0.4.0 나오면 성공

방법 C: 소스 폴더에서

git clone https://github.com/buenosiempre-cmd/dongguk-rule-mcp.git
cd dongguk-rule-mcp
npm install
npm test                     # 109개 자체 검증
node src/index.js --version

방법 D: npm 레지스트리 (publish 후)

npm install -g dongguk-rule-mcp

Claude Desktop 설정

claude_desktop_config.json 위치:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

글로벌 설치(방법 A/C) 시:

{
  "mcpServers": {
    "dongguk-rule": {
      "command": "dongguk-rule-mcp"
    }
  }
}

소스 폴더(방법 B) 시:

{
  "mcpServers": {
    "dongguk-rule": {
      "command": "node",
      "args": ["/절대경로/dongguk-rule-mcp/src/index.js"]
    }
  }
}

설정 후 Claude Desktop 완전 종료 → 재시작.

HTTP 모드 — Notion 커스텀 에이전트 연동

Notion 등 원격 MCP 클라이언트는 공개 URL만 연결할 수 있습니다. rule.dongguk.edu가 해외/데이터센터 IP를 차단하므로, 국내 IP의 상시 가동 머신(예: Mac Mini)에서 HTTP 모드로 실행하고 Cloudflare Tunnel로 URL을 노출하는 구성을 권장합니다.

1) 서버 실행 (Mac Mini)

dongguk-rule-mcp --http --port 3845 --token '아무-긴-비밀문자열'
curl -s http://127.0.0.1:3845/health   # {"status":"ok",...} 확인

--token 생략 시 무인증(테스트용) — 공개 노출 시엔 반드시 설정하세요. 옵션: --host 0.0.0.0, env DONGGUK_MCP_TOKEN / DONGGUK_MCP_PORT.

2) 공개 URL (Cloudflare Tunnel)

brew install cloudflared
cloudflared tunnel --url http://127.0.0.1:3845
# → https://xxxx.trycloudflare.com 발급 (임시 URL)
# 상시 운영은 named tunnel + 도메인 연결 권장

3) Notion 설정

  1. 워크스페이스 관리자: 설정 → Notion AI → AI 커넥터 → Enable Custom MCP servers
  2. 커스텀 에이전트 → Tools & Access → Add connection → Custom MCP server
  3. URL https://xxxx.trycloudflare.com/mcp + 표시 이름 + (지원 시) Bearer 토큰 → Save
  4. 에이전트가 쓸 도구만 선택적으로 켜기

수동 점검 (curl)

curl -s -X POST https://xxxx.trycloudflare.com/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -H 'Authorization: Bearer 아무-긴-비밀문자열' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

참고: HTTP 모드는 stateless(POST 전용)이며 GET /health로 모니터링합니다. Notion 연결 UI가 Bearer 헤더를 지원하지 않으면 토큰 없이 기동하되 URL을 비공개로 관리하세요.

사용 예시

  • "동국대 보수규정 검색해줘"
  • "LAW_ID 491 본문 보여줘"
  • "그 규정에서 퇴직금 관련 조문만" (grep 필터)
  • "제5장만 보여줘" (chapter 필터)
  • "이 규정 개정 이력 알려줘"

검증

오프라인 (네트워크 불필요 — 어디서든 동일 결과)

npm test

5개 스위트 109개: 파싱(39) + 유틸(22) + 엣지케이스(10) + MCP 프로토콜(19, stdout 순수성 포함) + HTTP(19, Streamable HTTP·Bearer 인증·stateless). 실제 HTML 픽스처 기반이라 국내/해외/CI 어디서든 통과해야 정상.

추가로 다음 설치 시나리오가 검증되었습니다: npm pack tarball(18kB) → 새 디렉토리 로컬 설치 → 설치된 bin으로 JSON-RPC 핸드셰이크(도구 5개·stdout 무오염), 글로벌 설치(npm i -g) 후 bin 실행, 설치본 내부 npm test 90개 통과(자급자족).

실서버 (국내 IP에서)

npm run test:live                      # 검색어 "재정"
npm run test:live -- --keyword 보수

rule.dongguk.edu에 실제 접속해 5개 도구를 호출. 503이면 "국내 IP에서 실행하라"고 안내 후 종료.

트러블슈팅

증상 원인 해결
HTTP 503 해외/데이터센터 IP 차단 가정·캠퍼스 등 국내망에서 실행
Cannot find module 의존성 미설치 프로젝트 폴더에서 npm install
EACCES (글로벌 설치) 권한 부족 sudo npm i -g ... 또는 nvm 사용
Claude에 도구 안 보임 config 오타/캐시 JSON 문법 확인 후 Claude 완전 재시작
구버전 Node 에러 Node <18 engines 경고 확인, Node 18+ 설치
검색 0건 캠퍼스 코드 불일치 campus="all"로 재시도

환경변수

변수 용도
DONGGUK_RULE_COOKIE 비공개 규정 열람용 로그인 쿠키 주입
DONGGUK_MCP_NO_CACHE=1 디스크 캐시(~/.cache/dongguk-rule-mcp/) 비활성화

알려진 제약

  • 캠퍼스 LAWGROUP 코드(seoul=1, wise=2)는 추정값npm run test:live의 [4] 섹션 결과가 0행이면 브라우저 개발자도구 Network 탭에서 LAWGROUP= 실제 값 확인 필요.
  • 공식 API가 아닌 HTML 파싱이므로 사이트 개편 시 파서 갱신 필요. 그 경우 실제 HTML로 test/fixtures.js를 갱신하고 npm test로 재검증.

크레딧

  • 원본 Python 구현: 서준호
  • Node.js MCP 포팅·하드닝·npm 배포 구조: 오승훈 (동국대 재무팀)
  • 영감: korean-law-mcp (류승인, 광진구청)

라이선스

MIT

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