Skip to main content
Glama
buenosiempre-cmd

dongguk-rule-mcp

동국 규정 MCP

동국대학교 구성원이 AI에서 공식 통합규정관리시스템의 규정·조문·별표·개정 이력을 찾는 읽기 전용 MCP 서버입니다. v0.10.0의 기본 rules 프로필은 공개 규정용이며, 내부 재무지식 기능은 별도 finance 프로필로 선택합니다.

구성원 시작 페이지 · 상세 사용 가이드 · 운영 가이드 · CoP 평가 가이드 · GitHub 릴리스

시작하기

방법

준비

연결

공용 서버

원격 MCP 지원 앱, 운영자가 개인/그룹별로 발급한 인증정보

https://dgu.kr-univ-rules.com/mcp/rules

내 PC

Node.js 20.19 이상, 로컬 MCP 지원 앱

아래 GitHub 릴리스 설치, 공유 토큰 불필요

공용 연결의 인증정보는 운영자에게 받습니다. 기존 관리자 토큰을 전 구성원에게 공유하지 않습니다. 앱·요금제·기관 정책별 연결 가능 여부는 실제 환경에서 확인해야 합니다.

개인 설치

npm 레지스트리는 현재 미발행입니다. GitHub의 고정 버전 패키지로 설치합니다.

npm install -g https://github.com/buenosiempre-cmd/dongguk-rule-mcp/releases/download/v0.10.0/dongguk-rule-mcp-0.10.0.tgz
dongguk-rule-mcp --version
dongguk-rule-mcp --doctor --json

tgz를 내려받아 npm install -g ./dongguk-rule-mcp-0.10.0.tgz로 설치해도 됩니다. 설치 권한이 제한된 기관 PC에서는 직접 실행 방법 또는 공용 연결을 확인하세요.

사용할 앱의 설정 예시를 출력합니다. 아래 중 하나를 선택해 기존 MCP 설정에 추가한 뒤 앱을 완전히 종료하고 다시 실행합니다.

dongguk-rule-mcp --print-config codex
dongguk-rule-mcp --print-config claude
dongguk-rule-mcp --print-config cursor

출력은 현재 Node와 설치 경로를 사용하며 앱 설정을 직접 변경하지 않습니다. 패키지를 이동·삭제한 경우 새 경로에서 설정을 다시 출력합니다. --doctor --json은 오프라인 설치 점검이고, --doctor --json --live는 대표 공개 규정 조회를 추가합니다. 설치 진단만으로 앱 연결·모든 원문·업무 적용이 검증되지는 않습니다.

첫 질문

동국 규정 MCP의 get_service_info로 버전과 도구를 확인해줘. 이어서 lookup_dongguk_rule로 출장 관련 규정을 찾아줘. 소속·캠퍼스는 [입력], 신분은 [입력], 업무 기준일은 [YYYY-MM-DD]야. 정확한 규정명·LAW_ID·HISTORY_ID·조문/별표·원문 링크를 보여주고, 적용범위·시행일·표의 행과 단위를 확인하기 전 금액이나 전결권자를 확정하지 마.

Related MCP server: hansung-university-regulation-mcp

공개 규정 도구 — 기본 10개

도구

용도

get_service_info

버전·프로필·도구 범위·이용 안내 확인

lookup_dongguk_rule

기본 조회: 자연어/규정명 검색 → 개정본 → HWP 조문·별표 발췌; law_id 직접 선택 지원

search_rule

제목·전문으로 규정 후보 목록 검색

get_rule_content

선택한 규정의 본문·조문·장·키워드 조회

get_rule_toc

목차 조회

list_rule_history

개정 이력 조회

applicable_rule

기준일 이전 개정본 후보와 부칙의 명시 시행일 대조

compare_rule_versions

같은 규정의 HTML 조문과 HWP 별표·서식 추출 텍스트 비교

verify_rule_citations

비식별 문장의 규정명·조문·제목·항 인용 실존 점검

search_rule_deep

여러 규정의 전문과 관련 조문 탐색

기본 단일 조회에서 후보가 모호하면 AMBIGUOUS_RULE과 후보 목록을 반환합니다. 제목·적용범위를 확인한 뒤 후보의 LAW_IDlookup_dongguk_rulelaw_id로 보내 선택합니다. 관련 없는 첫 검색 결과를 업무 근거로 확정하지 않습니다.

캠퍼스 자동필터는 없습니다. 공식 화면의 LAWGROUP은 캠퍼스 구분이 아닌 문서 종류입니다. 잘못된 seoul=1 / wise=2 매핑을 제거했습니다. campus는 업무 맥락으로 보존하고 전체 통합목록을 검색하며 filterApplied:false를 표시합니다. 서울·WISE·법인 등 소속과 교원·직원·학생 등 대상의 적용범위는 원문에서 확인해야 합니다. 공식 검색 화면, 통합 규정목록 — 2026-09-08 확인.

근거의 범위와 한계

  • 시점: 최신 연혁은 최대 10분 캐시합니다. applicable_rule은 개정일을 바탕으로 후보를 찾으며 시행일·경과조치·소급 적용까지 최종 확정하지 않습니다.

  • 원문 품질: HWP 추출 실패·HTML 대체·빈 본문·발췌 잘림·검색어 미일치를 구분합니다. 병합 셀·그림·추출되지 않은 내용은 원문 대조가 필요합니다. 공식 API가 아닌 웹 원문 파싱이므로 사이트 변경의 영향을 받습니다.

  • 개정 비교: include_appendices:true가 기본입니다. HTML 조문 결과와 HWP 별표·서식의 추출 텍스트 비교를 별도로 반환합니다. 표의 의미·셀 구조·첨부파일·법적 적용성의 완전한 비교는 아닙니다. 별표를 식별하지 못하거나 조회에 실패하면 부분 상태를 남기며 “변경 없음”으로 단정하지 않습니다. HTML만 비교하려면 include_appendices:false를 지정합니다.

  • 인용: 인용의 실존 확인과 해당 업무의 적용 적합성은 다릅니다. 검색 0건·확인 필요·부분 조회는 검증 통과가 아닙니다.

  • 업무와 데이터: 공개 rules는 로그인 쿠키와 내부 지식팩을 사용하지 않습니다. 개인별 급여·계좌·학생기록·인증정보를 입력하지 않습니다. 신고·지급·결재 또는 외부 발송을 수행하지 않습니다.

모든 도구는 읽기용 Markdown content와 기계용 structuredContent를 함께 반환합니다. 자동화에서는 ok, data, error.code와 개별 원문의 경고·부분 상태를 함께 확인합니다. 규정명·LAW_ID·HISTORY_ID·조문/별표 위치·기준일·조회일·원문 URL을 기록하면 근거를 다시 확인할 수 있습니다.

공용 서버와 선택 기능

HTTP는 stateless Streamable HTTP이며 MCP 경로는 POST 요청을 사용합니다.

경로

범위

/, /guide

인증정보를 포함하지 않는 구성원 안내 페이지

/mcp/rules

서버 프로필과 무관하게 공개 규정 10개 도구, 설정한 인증 적용

/mcp

운영자가 지정한 프로필의 도구, 기존 연결 경로

/health, /ready

프로세스·요청 수용 상태; 원문 조회 성공을 의미하지 않음

/status

관리용 인증이 필요한 집계 운영 상태

운영자가 개인 또는 그룹별 자격증명을 발급·회수하고 만료·허용 경로를 관리합니다. 등록 파일은 SHA-256 해시를 보관하며 --token-file 또는 DONGGUK_MCP_TOKEN_FILE로 지정합니다. 설정 예시와 발급 명령은 운영 가이드에 있습니다. 원격 노출에는 HTTPS와 인증을 사용합니다.

# 접근제한 운영 폴더의 토큰 등록 파일을 지정
dongguk-rule-mcp --http --profile rules --host 127.0.0.1 --port 3845 --token-file /secure/dongguk/tokens.json

공용 서버는 Mac mini에서 운영되며 잠자기·전원·인터넷·터널·공식 원문 서버 상태에 따라 중단될 수 있습니다. 전교 동시 이용 규모·기관 SSO·모든 구성원의 앱 연결·현업 시간절감은 별도 검증 대상이며, 이 릴리스가 전원 계정 개통이나 가용성 SLA를 의미하지 않습니다.

--profile finance 또는 DONGGUK_MCP_PROFILE=finance를 선택하면 get_finance_context, get_finance_evidence, search_finance_handbook, review_finance_case가 추가되어 14개 도구가 됩니다. 검토한 비식별 지식팩을 DONGGUK_FINANCE_PACK_PATH로 별도 연결해야 합니다. 법령 연계와 로그인 쿠키도 선택 프로필의 운영 설정으로 관리합니다. 내부 자료는 공개 저장소·패키지에 포함하지 않습니다.

소스 실행과 검증

git clone --branch v0.10.0 https://github.com/buenosiempre-cmd/dongguk-rule-mcp.git
cd dongguk-rule-mcp
npm ci
npm test
npm run test:live
node src/index.js --doctor --json
npm pack --dry-run

명령

확인 범위

npm test / npm run test:offline

파서·입력·근거·MCP·HTTP·프로필 등 오프라인 회귀

npm run test:live

새 MCP 프로세스에서 공식 원문 조회·연혁·별표 등 대표 경로

npm run test:live:cop

학사·인사·회계 등 대표 업무 규정의 LAW_ID 직접조회·최신 연혁·본문 연결 확인

npm run doctor -- --json

설치와 도구 등록; --live로 대표 원문 조회 추가

npm run benchmark

로컬 HTTP 부하 측정; 전교 운영 용량이나 원문 서버 SLA 검증은 아님

npm run issue-token -- --help

운영자용 개인/그룹 자격증명 발급 도구 사용법

실원문 검사는 원문 서버에 접근 가능한 네트워크가 필요합니다. HTTP 오류만으로 특정 IP 차단을 단정하지 않습니다. 자동 검사와 현업 효과는 구분하고, 실제 앱·캠퍼스·직군별 평가는 빈 평가 양식으로 기록합니다.

추가 설정: DONGGUK_RULE_ALIASES는 부서별 규정 별칭 JSON, DONGGUK_MCP_NO_CACHE=1은 디스크 캐시 비활성화입니다. 나머지 실행 옵션은 dongguk-rule-mcp --help운영 가이드를 확인하세요.

라이선스·기여

MIT. 원본 Python 구현: 서준호. Node.js MCP 포팅·운영 개선: 오승훈. korean-law-mcp에서 영감을 받았습니다.

GitHub Issues에 버전·비식별 재현 질문·오류코드를 남겨주세요. 개인 정보·인증값·내부 문서를 첨부하지 않습니다.

Finance Desk 통합 기능과 외부 자료팩 설정

Available Tools

10 tools
applicable_ruleA
Read-onlyIdempotent

기준일(date) 이전에 개정된 동국대학교 규정 후보를 찾아, 해당 시점 본문과 현행 대비 변경 요약을 반환합니다. 소급 업무·감사 대응·과거 지급기준 확인용. HISTORY_ID를 몰라도 날짜만으로 조회됩니다. 개정일과 실제 시행일이 다를 수 있음을 항상 안내합니다. 최신 규정 질문에는 lookup_dongguk_rule을 사용하세요.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes기준일. YYYY-MM-DD / YYYY.MM.DD / YYYYMMDD. 예: 2024-03-15
law_idNoLAW_ID. rule_keyword 대신 사용 가능
articleNo특정 조문만. 예: 15, 제10조의2, 부칙 제2조
max_changesNo변경 요약 최대 조문 수. 기본 10, 최대 30
rule_keywordNo규정명. law_id가 있으면 생략 가능. 예: 여비규정
compare_with_currentNo현행 대비 변경 요약 포함 여부

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes도구 실행 성공 여부
dataNo성공 시 구조화 결과
toolYes실행한 도구 이름
errorNo실패 시 구조화 오류

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description reveals that it returns 'candidate' rules (implying possible multiple matches) and always notifies that revision date and effective date may differ. It also mentions the change summary behavior when compare_with_current is true, going beyond the basic read-only and idempotent annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loaded with the main purpose, followed by use cases and a note. It does not contain redundant information and is well-structured for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (not shown here) and the thorough parameter explanations, the description is complete for an agent to use the tool. It covers all necessary aspects: what it does, when to use it, key caveats, and the primary alternative.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All six parameters are described with meaningful context beyond the schema: date format, the relationship between law_id and rule_keyword, specific article examples, max_changes default and limit, and the boolean compare_with_current. The description also explains that date can be used without knowing HISTORY_ID, adding semantic clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns candidate rules revised before a base date, along with the text at that time and a summary of changes. It also explicitly distinguishes from lookup_dongguk_rule for latest rules, making its purpose distinct among siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides specific use cases (retroactive work, audit responses, checking past payment standards) and states when not to use it (for latest rules, use lookup_dongguk_rule). However, it does not mention other alternatives like compare_rule_versions or list_rule_history, but the primary scenarios are well covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_rule_versionsA
Read-onlyIdempotent

같은 규정의 두 HISTORY_ID를 조문 단위로 비교합니다. to_history_id를 생략하면 최신 개정본과 비교합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
law_idYesLAW_ID
articleNo선택 조문. 예: 제10조의2, 부칙 제2조
max_changesNo본문에 표시할 최대 변경 조문 수. 기본 20, 최대 50
to_history_idNo비교 종료 HISTORY_ID. 생략하면 최신
from_history_idYes비교 시작 HISTORY_ID
include_appendicesNoHWP 별표·서식 텍스트도 비교(기본 true)

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes도구 실행 성공 여부
dataNo성공 시 구조화 결과
toolYes실행한 도구 이름
errorNo실패 시 구조화 오류

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, covering the main behavioral characteristics. The description adds a small detail about comparing by article units but does not mention side effects, permissions, or other behavioral aspects beyond what annotations already provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—two short sentences—with the primary action stated first and the key optional behavior immediately following. No unnecessary words or redundant explanations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is adequate for a read-only comparison tool, especially since an output schema exists (though not shown) to define the return structure. It lacks only a brief note about the nature of the comparison result (e.g., 'returns a list of changed articles'), but this is not a critical gap given the scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with all six parameters individually described. The tool description adds a minor clarification about 'to_history_id' omission, but otherwise relies on the schema. Given complete schema coverage, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('compare'), resource (two HISTORYs of the same regulation), and scope (at the article level). It implicitly distinguishes from sibling tools like list_rule_history or get_rule_content by focusing on the comparison of two versions, making the purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on the key optional parameter 'to_history_id' (if omitted, compares with the latest revision), which is essential for correct usage. However, it does not explicitly contrast with sibling tools or state when to prefer this tool over alternatives, leaving some implicit inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_rule_contentA
Read-onlyIdempotent

LAW_ID를 이미 알고 특정 조·장만 볼 때 사용하는 보조 도구. 별표·금액표가 필요하면 lookup_dongguk_rule을 사용하세요.

ParametersJSON Schema
NameRequiredDescriptionDefault
grepNo키워드 포함 조문
headNo상위 N줄
law_idYesLAW_ID
articleNo특정 조문. 예: 48, 제48조, 제10조의2, 부칙 제2조
chapterNo특정 장만
history_idNoHISTORY_ID (생략=최신)

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes도구 실행 성공 여부
dataNo성공 시 구조화 결과
toolYes실행한 도구 이름
errorNo실패 시 구조화 오류

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only/idempotent behavior; the description adds useful behavioral scope by indicating that only article/chapter content is returned and that tables are not included. It does not detail edge-case behavior like grep/head limits, but those are visible in the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single focused sentence plus one alternative pointer, with no redundant wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description, complete parameter schema, and annotations give enough context to call the tool correctly. It does not describe the return payload, but an output schema is indicated as present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All parameters are described in the input schema with examples, so the tool description adds no additional parameter-level meaning beyond the overall article/chapter scope.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific use case: retrieve specific articles/chapters when LAW_ID is already known, and it explicitly points to lookup_dongguk_rule for tables/amount tables, distinguishing it from a key sibling tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear when-to-use guidance (known LAW_ID, specific article/chapter view) and explicit when-not/alternative guidance for schedules and amount tables with lookup_dongguk_rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_rule_tocA
Read-onlyIdempotent

규정 목차(장·절·조) 빠른 조회.

ParametersJSON Schema
NameRequiredDescriptionDefault
law_idYes
history_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes도구 실행 성공 여부
dataNo성공 시 구조화 결과
toolYes실행한 도구 이름
errorNo실패 시 구조화 오류

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare read-only and idempotent behavior, and the description adds no conflicting or misleading information. It provides a hint that the operation is fast and focused, which is consistent with the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no unnecessary words or repetition. It efficiently conveys the tool's core function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While an output schema exists (so return values are presumably covered), the description omits any parameter context. The overall picture is mostly complete for the intended use, but the missing parameter details prevent full completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has two parameters (law_id, history_id) but the description gives zero explanation of their meaning or usage. Since schema description coverage is 0%, the description fails to compensate, leaving the agent to infer from names alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves the table of contents of a regulation, specifying the structure (chapters, sections, articles). It is distinct from sibling tools that handle content, search, history, or comparisons.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'quick lookup' implies the appropriate use case—retrieving the TOC rather than detailed content or deep search. While not explicitly comparing to alternatives, the tool's purpose is unambiguous enough to guide selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_service_infoA
Read-only

동국 규정 MCP 버전·공통/내부 기능 범위·캠퍼스 검색 한계·입력 안내를 확인합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes도구 실행 성공 여부
dataNo성공 시 구조화 결과
toolYes실행한 도구 이름
errorNo실패 시 구조화 오류

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description indicates a read-only operation ('확인합니다' - check), consistent with the readOnlyHint annotation. It describes what the tool provides without ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single concise sentence covers the tool's function without redundancy or unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no parameters and simple informational output, the description adequately covers the scope. It could mention return format, but the provided information is sufficient for basic use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters are defined, so the dimension is trivially satisfied. The description indicates that no input is needed, which is consistent with the empty parameter schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool checks Dongguk regulation MCP version, common/internal function scope, campus search limitations, and input guidance, giving a specific purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It lacks explicit guidance on when to use this tool versus the sibling tools, and does not mention any prerequisites or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_rule_historyB
Read-onlyIdempotent

규정 개정 연혁 목록 조회.

ParametersJSON Schema
NameRequiredDescriptionDefault
law_idYesLAW_ID

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes도구 실행 성공 여부
dataNo성공 시 구조화 결과
toolYes실행한 도구 이름
errorNo실패 시 구조화 오류

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint, openWorldHint, and idempotentHint, which cover the main behavioral aspects. The description adds no further behavioral details, but given the annotations provide solid transparency, a score of 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally concise, consisting of a single clear sentence in Korean. It avoids any unnecessary words or redundancy, making it easy to parse and understand.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides the core purpose and the required parameter, but it lacks context about the output format, any sorting or filtering options, or how the history is structured. Given the simplicity of the operation, it is adequate but not highly comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema describes the single parameter 'law_id' with the description 'LAW_ID', which merely repeats the name and gives no additional semantic meaning. The tool description also does not elaborate on the parameter. Schema coverage is 100%, so the baseline is 3, but the lack of meaningful description prevents a higher score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists regulation amendment history, using the specific verb '조회' (inquiry/list) and resource '규정 개정 연혁' (regulation amendment history). It distinguishes from siblings like 'get_rule_content' or 'compare_rule_versions' by focusing on history, though it could be slightly more explicit about what the history contains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus its siblings. It only states what it does, not when it is appropriate. Since there are multiple similar rule-related tools, explicit usage conditions would be beneficial.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lookup_dongguk_ruleA
Read-onlyIdempotent

동국대학교 규정 질문의 기본·우선 도구. 자연어 query 또는 짧은 rule_keyword를 받아 규정 검색→최신 원문 HWP→관련 조문·별표(금액표 포함)를 한 번에 반환합니다. 근거가 충분하면 중복 조회를 생략하세요. partial·모호한 후보·적용범위 미확인 시 추가 확인이 필요합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo전체 자연어 질문. 예: 대전 출장 여비규정의 최신 개정일, 철도운임, 일비, 숙박비를 알려줘
termsNo찾을 핵심 명사. 쉼표로 구분. query에 핵심 명사가 있으면 생략 가능. 예: 국내, 철도운임, 숙박비, 일비
campusNo업무 캠퍼스 맥락 all/seoul/wise. 공식 목록에는 캠퍼스 필터가 없어 전체 검색 후 적용범위를 확인합니다.all
law_idNo선택 LAW_ID. 모호한 후보를 선택한 후 직접 원문·별표 조회
max_charsNo규정별 최대 반환 글자 수. 기본 12000, 최대 30000
max_rulesNo조회할 규정 수. 기본 1, 최대 3
max_sectionsNo규정별 관련 블록 수. 기본 4, 최대 12
rule_keywordNo선택 입력. 규정명 또는 짧은 검색어. query가 있으면 생략 가능. 예: 여비규정, 보수, 위임전결
include_historyNo최근 개정 연혁 5건 포함 여부

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes도구 실행 성공 여부
dataNo성공 시 구조화 결과
toolYes실행한 도구 이름
errorNo실패 시 구조화 오류

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint and idempotentHint, and the description mentions no side effects or destructive actions, so it is consistent. However, it does not add extra behavioral details beyond the annotations, which is acceptable given the lower bar for annotated tools.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, consisting of two sentences that clearly convey the tool's purpose and usage guidance. It is well-structured and avoids unnecessary detail, making it easy for an agent to grasp quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema is available and the description mentions returning articles and annexes (including amount tables), the core behavior is covered. It also includes guidance on when to perform additional checks, making it fairly complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 9 parameters have schema descriptions with 100% coverage, including defaults and examples. The tool description itself does not add further meaning to parameters, but the existing schema documentation is sufficient, so a baseline score is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it is the primary tool for Dongguk University regulation questions, taking natural language queries or keywords and returning search results with original text and annexes. The verb 'return' and resource specification make the purpose unambiguous, distinguishing it as a high-level search tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance on when to skip duplicate queries ('if basis is sufficient, omit duplicate queries') and when additional verification is needed (partial, ambiguous candidates, or unconfirmed applicability). This gives clear usage context, though it doesn't explicitly name sibling alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_ruleA
Read-onlyIdempotent

규정 후보 목록만 필요할 때 사용하는 보조 도구. 일반적인 동국대학교 규정 질문은 lookup_dongguk_rule을 먼저 사용하세요.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
campusNo업무 캠퍼스 맥락 all/seoul/wise. 공식 목록에는 캠퍼스 필터가 없어 전체 검색 후 적용범위를 확인합니다.all
offsetNo
keywordYes검색어
full_textNo전문검색 여부

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes도구 실행 성공 여부
dataNo성공 시 구조화 결과
toolYes실행한 도구 이름
errorNo실패 시 구조화 오류

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnlyHint, openWorldHint, and idempotentHint, so the safety profile is clear. The description adds that it is an auxiliary tool returning only candidate lists, which is helpful, but it does not disclose any additional behavior such as pagination, result ordering, or limitations of the search. With annotations covering the main traits, a 3 is fair.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—two short sentences that front-load the core purpose and usage guidance. There is no redundant phrasing or unnecessary detail, and every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool with an output schema present, the description is largely complete: it covers the tool's role, its primary use case, and its relationship to the main lookup tool. It does not mention the sibling search_rule_deep, but that is not essential given the clear scope. The presence of an output schema also relieves the description from explaining return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description does not mention any parameters at all. The schema provides descriptions for campus, keyword, and full_text (60% coverage), but limit and offset are undocumented in both the schema and the description. Since the description adds zero parameter-level meaning and only partially compensates for the coverage gap, a 2 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific purpose: it returns a list of rule candidates only, and explicitly contrasts itself with lookup_dongguk_rule for general rule questions. This clearly distinguishes it from the main lookup tool and from other siblings like search_rule_deep by implying it is the lightweight candidate-search variant.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit when-to-use: '규정 후보 목록만 필요할 때' (when only a candidate list is needed) and a direct alternative: 'lookup_dongguk_rule을 먼저 사용하세요' (use lookup_dongguk_rule first for general questions). This provides both positive and negative usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_rule_deepA
Read-onlyIdempotent

여러 규정의 전문을 탐색해야 할 때만 사용하는 보조 도구. 단일 규정 질문에는 lookup_dongguk_rule을 사용하세요.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
queryYes
per_docNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes도구 실행 성공 여부
dataNo성공 시 구조화 결과
toolYes실행한 도구 이름
errorNo실패 시 구조화 오류

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, openWorldHint, and idempotentHint, covering the behavioral traits. The description adds no extra behavioral context beyond these, so it meets the baseline but does not exceed it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, using two short sentences to convey the purpose and usage conditions without any unnecessary information or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides enough context to differentiate this tool from siblings like search_rule and lookup_dongguk_rule by highlighting the 'full text' and 'multiple regulations' aspects. It does not mention output format, but that is not required for basic usage guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides no descriptions for the parameters (query, top, per_doc), and the description does not explain their meanings or expected formats. There is essentially no guidance on how to use these parameters, leaving the agent to guess.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: searching the full text of multiple regulations. It also distinguishes itself from lookup_dongguk_rule, which is for single regulation questions, making the intent unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage conditions: use only when searching full text of multiple regulations, and advises using lookup_dongguk_rule for single regulation questions. This gives clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_rule_citationsA
Read-onlyIdempotent

기안문·품의서·공문·AI 답변 텍스트에 인용된 동국대학교 규정 조문을 실제 규정집과 대조 검증하는 환각 게이트. 「규정명」 제N조(제목) 제N항 표기를 추출해 규정 실존, 조문 실존(본칙 존재 범위 안내), 조문 제목 일치, 항 번호까지 확인합니다. 결재 전 인용 점검에 사용하세요. 규정 내용 질문에는 lookup_dongguk_rule을 사용하세요.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes검증할 전체 텍스트 (20,000자 이하). 예: 품의서 본문
campusNo업무 캠퍼스 맥락 all/seoul/wise. 공식 목록에는 캠퍼스 필터가 없어 전체 검색 후 적용범위를 확인합니다.all

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes도구 실행 성공 여부
dataNo성공 시 구조화 결과
toolYes실행한 도구 이름
errorNo실패 시 구조화 오류

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, and open-world behavior, and the description adds concrete behavioral detail: it extracts rule/article/clause citations, checks existence, article title match, clause number, and explains campus scope handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and information-dense, with no redundant wording. It efficiently combines purpose, usage guidance, and behavioral details in two sentences plus clear parameter descriptions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, the description provides sufficient context: purpose, usage boundaries, parameter behavior, and relationship to sibling tools. It does not need to restate return values and covers the operational nuances relevant to an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the descriptions add meaningful details: text has an explicit length limit and example, while campus explains its default, allowed values, and the behavior that campus is not an official filter and requires post-search scope verification.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: verifying citations to Dongguk University regulations in documents/AI responses against the actual rulebook. It also distinguishes itself from lookup_dongguk_rule by explicitly directing content questions to that sibling tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to use this tool for citation checks before approval and explicitly says to use lookup_dongguk_rule for rule content questions, providing clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updatesv0.10.0
    • Addedapplicable_rule
    • Addedcompare_rule_versions
    • Changedget_rule_content4 fields changed
      • changedInput schema / properties / article / description
        Previous value: -"특정 조문만"New value: +"특정 조문. 예: 48, 제48조, 제10조의2, 부칙 제2조"
      • addedInput schema / properties / article / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "string"
        +  }
        +]
      • removedInput schema / properties / article / type
        Removed value: -"number"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "data": {
        +      "description": "성공 시 구조화 결과",
        +      "type": "object"
        +    },
        +    "error": {
        +      "description": "실패 시 구조화 오류",
        +      "properties": {
        +        "code": {
        +          "type": "string"
        +        },
        +        "details": {
        +          "type": "object"
        +        },
        +        "hint": {
        +          "type": "string"
        +        },
        +        "message": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "code",
        +        "message"
        +      ],
        +      "type": "object"
        +    },
        +    "ok": {
        +      "description": "도구 실행 성공 여부",
        +      "type": "boolean"
        +    },
        +    "tool": {
        +      "description": "실행한 도구 이름",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "ok",
        +    "tool"
        +  ],
        +  "type": "object"
        +}
    • Changedget_rule_toc1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "data": {
        +      "description": "성공 시 구조화 결과",
        +      "type": "object"
        +    },
        +    "error": {
        +      "description": "실패 시 구조화 오류",
        +      "properties": {
        +        "code": {
        +          "type": "string"
        +        },
        +        "details": {
        +          "type": "object"
        +        },
        +        "hint": {
        +          "type": "string"
        +        },
        +        "message": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "code",
        +        "message"
        +      ],
        +      "type": "object"
        +    },
        +    "ok": {
        +      "description": "도구 실행 성공 여부",
        +      "type": "boolean"
        +    },
        +    "tool": {
        +      "description": "실행한 도구 이름",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "ok",
        +    "tool"
        +  ],
        +  "type": "object"
        +}
    • Addedget_service_info
    • Changedlist_rule_history1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "data": {
        +      "description": "성공 시 구조화 결과",
        +      "type": "object"
        +    },
        +    "error": {
        +      "description": "실패 시 구조화 오류",
        +      "properties": {
        +        "code": {
        +          "type": "string"
        +        },
        +        "details": {
        +          "type": "object"
        +        },
        +        "hint": {
        +          "type": "string"
        +        },
        +        "message": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "code",
        +        "message"
        +      ],
        +      "type": "object"
        +    },
        +    "ok": {
        +      "description": "도구 실행 성공 여부",
        +      "type": "boolean"
        +    },
        +    "tool": {
        +      "description": "실행한 도구 이름",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "ok",
        +    "tool"
        +  ],
        +  "type": "object"
        +}
    • Addedlookup_dongguk_rule
    • Changedsearch_rule2 fields changed
      • changedInput schema / properties / campus / description
        Previous value: -"all/seoul/wise"New value: +"업무 캠퍼스 맥락 all/seoul/wise. 공식 목록에는 캠퍼스 필터가 없어 전체 검색 후 적용범위를 확인합니다."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "data": {
        +      "description": "성공 시 구조화 결과",
        +      "type": "object"
        +    },
        +    "error": {
        +      "description": "실패 시 구조화 오류",
        +      "properties": {
        +        "code": {
        +          "type": "string"
        +        },
        +        "details": {
        +          "type": "object"
        +        },
        +        "hint": {
        +          "type": "string"
        +        },
        +        "message": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "code",
        +        "message"
        +      ],
        +      "type": "object"
        +    },
        +    "ok": {
        +      "description": "도구 실행 성공 여부",
        +      "type": "boolean"
        +    },
        +    "tool": {
        +      "description": "실행한 도구 이름",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "ok",
        +    "tool"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch_rule_deep1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "data": {
        +      "description": "성공 시 구조화 결과",
        +      "type": "object"
        +    },
        +    "error": {
        +      "description": "실패 시 구조화 오류",
        +      "properties": {
        +        "code": {
        +          "type": "string"
        +        },
        +        "details": {
        +          "type": "object"
        +        },
        +        "hint": {
        +          "type": "string"
        +        },
        +        "message": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "code",
        +        "message"
        +      ],
        +      "type": "object"
        +    },
        +    "ok": {
        +      "description": "도구 실행 성공 여부",
        +      "type": "boolean"
        +    },
        +    "tool": {
        +      "description": "실행한 도구 이름",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "ok",
        +    "tool"
        +  ],
        +  "type": "object"
        +}
    • Addedverify_rule_citations
  2. 5 tool updatesv0.4.0
    • First observedget_rule_content
    • First observedget_rule_toc
    • First observedlist_rule_history
    • First observedsearch_rule
    • First observedsearch_rule_deep

TDQS

A4/5.0

Scored across 10 tools

Disambiguation4/5

The toolset clearly designates lookup_dongguk_rule as the primary tool and provides auxiliary tools with explicit usage conditions. Some overlap exists among search_rule, search_rule_deep, and lookup_dongguk_rule, but the descriptions route agents effectively.

Naming Consistency4/5

Most names follow a clear verb_noun snake_case pattern (get_rule_toc, list_rule_history, compare_rule_versions). Deviations such as lookup_dongguk_rule, search_rule_deep, and applicable_rule are minor and remain recognizable.

Tool Count5/5

Ten tools is well-scoped for the rule/law domain: search, retrieval, TOC navigation, history, comparison, citation verification, and time-specific applicability are each represented without unnecessary redundancy.

Completeness5/5

The toolset covers the full rule-inquiry lifecycle: finding candidates, retrieving current content, navigating structure, viewing historical versions, comparing revisions, verifying citations, and checking past applicability. No critical dead ends are apparent.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers