Skip to main content
Glama
README.md
# policy-mcp

정책 문서를 벡터 검색으로 Claude.ai에 연결하는 MCP 서버입니다.

## 폴더 구조

```
policy-mcp/
├── pyproject.toml
├── docs/                  ← 정책 문서 여기에 (.txt .md .pdf)
├── chroma_db/             ← 자동 생성 (벡터 DB)
└── src/policy_mcp/
    ├── config.py          ← 공유 설정
    ├── indexer.py         ← 문서 인덱싱
    └── server.py          ← MCP 서버
```

---

## 시작하기

### 1. uv 설치 (없는 경우)

```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```

### 2. 의존성 설치

```bash
cd policy-mcp
uv sync
```

### 3. 문서 준비

`docs/` 폴더에 정책 문서를 넣으세요. (.txt, .md, .pdf 지원)

### 4. 문서 인덱싱 (최초 1회 / 문서 변경 시)

```bash
uv run index
```

첫 실행 시 한국어 임베딩 모델 (~400MB) 이 자동으로 다운로드됩니다.

### 5. MCP 서버 실행

```bash
uv run serve
```

### 6. ngrok으로 외부 공개

```bash
ngrok http 8000
# → https://xxxx.ngrok-free.app
```

### 7. Claude.ai에서 연결

Settings → Integrations → Add MCP server

```
https://xxxx.ngrok-free.app/mcp
```

---

## 환경 변수

| 변수 | 기본값 | 설명 |
|------|--------|------|
| `POLICY_DOCS_DIR` | `./docs` | 정책 문서 폴더 경로 |
| `CHROMA_DIR` | `./chroma_db` | 벡터 DB 저장 경로 |
| `MCP_HOST` | `0.0.0.0` | 서버 바인드 주소 |
| `MCP_PORT` | `8000` | 서버 포트 |

```bash
POLICY_DOCS_DIR=/Users/me/정책문서 uv run index
POLICY_DOCS_DIR=/Users/me/정책문서 uv run serve
```

---

## Claude.ai 사용 예시

연결 후 대화창에서:

- "정책 문서 목록 보여줘"
- "개인정보 수집 동의 절차 알려줘"
- "보안 사고 발생하면 어떻게 해야 해?"
- "보안정책.md 전체 내용 읽어줘"

---

## 제공 도구 (MCP Tools)

| 도구 | 설명 |
|------|------|
| `policy_list` | 인덱싱된 문서 목록 조회 |
| `policy_search` | 자연어 의미 기반 검색 |
| `policy_get` | 특정 문서 전문 조회 |