hansung-university-regulation-mcp
# hansung-university-regulation-mcp
한성대학교 규정관리시스템의 규정을 검색하고 조회할 수 있는 MCP(Model Context Protocol) 서버입니다.
stdio(로컬) 방식과 Remote HTTP(Cloudflare Workers) 방식 모두 지원합니다.
## 설치
### Claude Desktop (로컬 stdio)
`claude_desktop_config.json`에 추가:
```json
{
"mcpServers": {
"hansung-regulation": {
"command": "npx",
"args": ["-y", "hansung-university-regulation-mcp"]
}
}
}
```
### Claude Desktop (Remote HTTP)
```json
{
"mcpServers": {
"hansung-regulation": {
"url": "https://hansung-regulation-mcp.clayop.workers.dev/mcp"
}
}
}
```
### Claude Code
```bash
claude mcp add hansung-regulation -- npx -y hansung-university-regulation-mcp
```
### Claude Web / Claude Mobile
1. Settings > MCP Servers (or Integrations)
2. "Add MCP Server" 클릭
3. URL 입력: `https://hansung-regulation-mcp.clayop.workers.dev/mcp`
### ChatGPT
1. Settings > MCP (또는 Connectors/Tools)
2. "Add MCP Server" 선택
3. URL 입력: `https://hansung-regulation-mcp.clayop.workers.dev/mcp`
### Cursor / Windsurf 등 IDE
MCP 설정 파일에 추가:
```json
{
"mcpServers": {
"hansung-regulation": {
"command": "npx",
"args": ["-y", "hansung-university-regulation-mcp"]
}
}
}
```
또는 Remote HTTP URL 사용: `https://hansung-regulation-mcp.clayop.workers.dev/mcp`
## 도구 (Tools)
### `search_regulations`
키워드로 규정을 검색합니다.
- `query` (string): 검색 키워드 (예: "학칙", "장학금", "교원임용")
### `list_regulations`
전체 규정 목록을 반환합니다.
- `includeOldVersions` (boolean, optional): true이면 구버전 포함
### `get_regulation`
특정 규정의 전문을 Markdown으로 조회합니다.
- `id` (number): 규정의 SEQ_HISTORY ID
### `get_regulation_article`
특정 규정의 특정 조항만 조회합니다.
- `id` (number): 규정의 SEQ_HISTORY ID
- `article` (string): 조항 번호 (예: "제5조", "5")
## 사용 예시
- "한성대학교 학칙에서 수강신청 관련 조항을 찾아줘"
- "교원 임용 관련 규정 목록을 보여줘"
- "장학금규정 제3조 내용이 뭐야?"
## 데이터 업데이트
서버 시작 시 자동으로 신규/개정 규정을 감지합니다. 번들된 인덱스 이후에 추가된 규정이 있으면 자동으로 메모리 인덱스에 반영됩니다.
인덱스를 수동으로 재빌드하려면:
```bash
npm run build-index
```
## 개발
```bash
npm install
npm run build
```
## 라이선스
MIT
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: searching by keyword, listing all, retrieving full text, and retrieving a specific article. The overlap between get_regulation and get_regulation_article is intentional and well-described, so no ambiguity exists.
All tool names follow a consistent verb_noun pattern (search_*, list_*, get_*). The nouns are appropriately specific (regulations, regulation, regulation_article), and there is no mixing of conventions.
With only 4 tools, the server is tightly scoped to the domain of retrieving university regulations. This is an appropriate size; each tool serves a necessary function and none are superfluous.
The set covers the core lifecycle: discover (list/search), retrieve full text, and retrieve specific articles. A minor gap is that search only matches regulation names, not full-text content, but this can be worked around by fetching individual regulations.