Skip to main content
Glama
JooseokKim-DL

Minimal MCP Server for AutoCAD DWG

README.md
# Minimal MCP Server

간단한 MCP(Model Context Protocol) 서버 스캐폴드입니다. Python 3.12.10용 FastAPI 예시를 제공합니다.

Endpoints:
- `GET /health` - 상태 확인
- `POST /mcp` - 간단한 MCP-style 요청 처리 (예: {"requestId":"id","input":{"text":"..."}})
- `GET /mcp/tools` - MCP 도구 목록 샘플

---

## Python 3.12.10

간단한 FastAPI 기반 MCP 서버가 추가되었습니다.

설치 및 실행 (Windows PowerShell):

```powershell
# 가상환경 생성
python -m venv .venv
# 가상환경 활성화
.\.venv\Scripts\Activate.ps1
# 의존성 설치
pip install -r requirements.txt
# 서버 실행
python app.py
```

또는 개발 모드로 직접 uvicorn 실행:

```powershell
python -m pip install --upgrade pip
pip install -r requirements.txt
uvicorn src.mcp_server:app --reload --port 3000
```

포트는 환경변수 `PORT`로 변경 가능합니다.

### AutoCAD DWG 도구 설정

`config.env` 파일을 수정하여 AutoCAD 도구 설정을 변경할 수 있습니다:

```env
# AutoCAD DWG 폴더 경로
DWG_FOLDER=C:\CAD\Drawings

# 재료 테이블 추출 설정
LAYER_SHOP_FIELD=SHOP-FIELD
ROW_TOLERANCE=3.0
COL_TOLERANCE=40.0

# 카테고리 헤더 (쉼표로 구분)
MATERIAL_CATEGORIES=SHOP MATERIAL,FIELD MATERIAL
```

**설정 항목 설명:**
- `DWG_FOLDER`: DWG 파일을 검색할 기본 폴더 경로
- `LAYER_SHOP_FIELD`: 재료 테이블이 포함된 레이어명
- `ROW_TOLERANCE`: 행 클러스터링 허용 오차 (픽셀 단위)
- `COL_TOLERANCE`: 열 할당 허용 오차 (픽셀 단위)
- `MATERIAL_CATEGORIES`: 카테고리 헤더명 (쉼표로 구분)

이 구현은 예시용 매우 단순한 에코 응답을 제공합니다. 실제 MCP 규격에 맞게 확장하세요.