dongguk-rule-mcp

dongguk-rule-mcp

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

Category
访问服务器

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

推荐服务器

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 模型以安全和受控的方式获取实时的网络信息。

官方
精选