OPT-05 · 기준 연결

AI가 기억이 아니라 본문으로 답하게

쓰던 AI에 Optra를 연결하면, 답하기 전에 현행 KDS 74개 기준의 본문을 먼저 읽습니다. 조문 번호와 함께 그 조문의 표·그림·수식이 통째로 옵니다.

기준 문서 74 · 조문 청크 8,338 · 수식 20,084 · 본문 표 1,340

아래는 실제 응답입니다. 조문 번호로 물으면 정확매칭 경로를 탑니다.

OPT-05 · 기준 연결
KDS 74개 · 캐시 2026-08-25
질의
받는 질의 유형
조문번호정확매칭
기호정의 반환
키워드점수 검색
질의
KDS 41 12 00 5.7.3(3)
search_kds("KDS 41 12 00 5.7.3(3)")
돌아온 것
본문1 조문
3
그림2
수식10
상호참조2
응답match_type
KDS 41 12 00 5.7.3(3)
article_exact

(3) 밀폐형독립벽체와 독립간판 — 밀폐형독립벽체와 독립간판의 주골조설계용 풍력계수 CD표 5.7-8에 따른다.

표 5.7-8 — 틈새비 s/h × 변장비 B/s → CD (12열 중 6열 발췌)
s/h \ B/s≤0.050.10.20.512
11.801.701.651.551.451.40
0.91.851.751.701.601.551.50
0.71.901.851.751.701.651.60

표는 병합셀 구조 그대로 옵니다. 줄글로 펴지 않습니다.

모서리가 ㄱ자형인 벽체는 Lr/s에 따른 감소계수를 곱합니다.

같은 조문 · 감소계수
Lr/s0.31.0≥2
감소계수0.900.750.60
값은 원문 그대로입니다. 어느 칸을 쓸지는 엔지니어가 정합니다.
함께 온 것전부 표시
기호 정의global
C_D : 주골조설계용 풍력계수
B   : 벽체·간판의 수평길이 (m)
h   : 벽체·간판의 높이 (m)
s   : 벽체·간판의 수직길이 (m)
ε   : 전면적과 밀폐형벽체·간판
      면적의 비율
L_r : 모서리가 ㄱ자형의 벽체일 때
      짧은 벽의 수평길이 (m)
조문에 없으면 전역 정의로
상호참조2
표 5.7-8 → KDS 41 12 00 5.7-8
가리키는 곳까지 이어 읽음
그림2
optra://figure/kds_41_12_00/BIN002F.bmp
optra://figure/kds_41_12_00/BIN000E.bmp
주소만 옴 · 필요할 때 가져감
수식10
LaTeX 로 변환되어 실림.
표 안의 식도 셀에 남아 있음.
KaTeX 파싱 실패 0건
작동 방식

텍스트만 긁어오지 않습니다

PDF에서 글자를 뽑으면 수식은 깨지고 표는 줄글이 됩니다. Optra는 HWP 원문의 레코드를 직접 읽어 수식·표·그림을 각각의 구조 그대로 보존합니다.

01

원문 레코드 파싱

HWP5 바이너리에서 수식·표·그림 레코드를 직접 읽습니다. 위첨자처럼 글자 모양에만 담긴 정보도 복원합니다.

02

구조 보존 변환

수식은 LaTeX로, 표는 병합셀까지 그대로, 그림은 파일로 꺼냅니다.

03

조문 단위 청킹

본문·수식·표·그림·기호 정의를 한 조문에 묶습니다. 부록은 따로 셉니다.

04

MCP로 연결

조문번호·기호·키워드로 찾습니다. 그림은 주소만 실어 보내고 필요할 때 가져갑니다.

검증

원문을 정답지로 놓고 채점했습니다

"잘 됐다"는 말 대신 숫자를 적습니다. 원문 PDF의 텍스트를 정답지로 삼아 기계가 전수 대조했고, 검증 스크립트와 결과를 저장소에 남겨 두었습니다.

검증 항목결과범위
본문 손실0문단 31,343개 전수 추적
표 값 불일치0값 41,662개 원문 PDF 대조
수식 숫자 손실0수식 20,084개 전수
조문번호 검색 정확도100%질의 표본 250건

남아 있는 것도 적어 둡니다

전수 대조로 0이 나온 항목만 위에 적었습니다. 아래는 0이 아닌 것들입니다.

01

수식 6건 (0.03%)

원본 HWP 스크립트 자체에 짝 없는 괄호가 있는 경우입니다. 문법은 맞춰 두어 렌더링은 되고, 값은 원문 그대로입니다.

02

사람 확인 대기 14건

그리스 문자명 뒤에 소문자가 붙은 형태입니다. 기호인지 변수명인지는 원문을 봐야 갈립니다. 추측해서 고치지 않았습니다.

03

기계가 끝내 볼 수 없는 것

원문 자체의 오류, 그 식이 그 조문에 맞는 식인지에 대한 공학 판단, 그림이 담은 뜻입니다. 그래서 근거가 된 조문 번호를 항상 함께 돌려줍니다.

재현: scripts/verify_*.py --all · 근거: docs/VERIFICATION.md

도구

붙는 도구는 둘입니다

지금 동작하는 것만 적습니다. 준비 중인 것은 적지 않습니다.

이름하는 일입력상태
search_kds 조문·수식·표·기호를 찾아 그 조문을 통째로 반환합니다조문번호는 정확매칭, 기호는 로컬>전역 우선순위, 나머지는 점수 검색 질의 문자열 무료 공개
get_kds_figure 조문에 딸린 도해를 그때 가져옵니다그림 한 장이 컨텍스트를 1,000토큰 넘게 쓰고 한 조문에 48장이 걸린 곳도 있어, 검색 응답에는 주소만 싣습니다 figure_uri 무료 공개

같은 주소가 optra://figure/{문서}/{파일} 리소스 템플릿으로도 열려 있어, 클라이언트가 직접 붙일 수도 있습니다. 그림은 폭 900px JPEG로 줄여 내보냅니다.

연결

쓰시는 AI에 따라 갈립니다

붙이는 길이 둘입니다. 사용자 컴퓨터에서 직접 띄우거나(로컬), 저희가 띄워 둔 것에 붙거나(원격). 아래 절차는 로컬 방식이고, 이 방식에서는 질의도 조문도 네트워크로 나가지 않습니다. 설치가 부담스러우시면 설치 없이 붙기로 가십시오.

공통

저장소와 파이썬 환경을 먼저 준비합니다

가상환경을 만들고 requirements.txt를 설치합니다. 파이썬 3.11 이상이 필요합니다 — macOS 에 딸려 오는 3.9 로는 서버가 뜨지 않습니다. 여기까지는 어느 AI를 쓰든 같습니다.

Claude Desktop

무료 공개

설정 → 개발자 → 설정 편집으로 설정 파일을 열어 아래 내용을 넣고, 앱을 완전히 종료했다 다시 켭니다. 창만 닫으면 설정을 다시 읽지 않습니다.

설정 파일macOS ~/Library/Application Support/Claude/claude_desktop_config.json
Windows %APPDATA%\Claude\claude_desktop_config.json

단계별로 자세히 →

Gemini CLI

무료 공개

같은 내용을 settings.json에 넣거나, gemini mcp add 명령으로 등록하고 CLI를 다시 시작합니다. 전역으로 쓸지 프로젝트에서만 쓸지 고를 수 있습니다.

설정 파일전역 ~/.gemini/settings.json
프로젝트 <프로젝트>/.gemini/settings.json

단계별로 자세히 →

ChatGPT

확인 중

커넥터로 원격 HTTPS 주소만 받습니다. 그 주소가 이제 생겨서 막고 있던 것은 없어졌습니다. 다만 저희가 ChatGPT 에서 직접 붙여 확인하지 못했습니다 — 되는 척하지 않고, 확인되면 이 자리를 고칩니다.

주소https://mcp.optra.kr/mcp

어디까지 됐는지 →

Claude Desktop과 Gemini CLI에 넣는 내용은 같습니다. 경로 두 곳만 실제 설치 위치로 바꿉니다 — 둘 다 절대경로여야 합니다.

{
  "mcpServers": {
    "Optra-kds": {
      "command": "/경로/optra/.venv/bin/python3",
      "args": ["/경로/optra/server/server.py"]
    }
  }
}

붙었는지 확인하는 법

Claude Desktop은 대화 입력창의 도구 목록에 Optra-kds가 보이면 붙은 것이고, Gemini CLI는 /mcp로 확인합니다. 둘 다 search_kdsget_kds_figure 두 개가 뜹니다. "KDS 41 12 00 5.7.3(3) 보여줘"처럼 조문번호로 물으면 정확매칭으로 바로 찾아옵니다.

막히면 여기부터

01

경로를 절대경로로 적었는지

홈 디렉터리 기호(~)를 풀어주지 않습니다. /Users/이름/…처럼 끝까지 적습니다.

02

가상환경의 파이썬을 가리키는지

command는 시스템 파이썬이 아니라 .venv/bin/python3여야 합니다. AI 쪽에서 가상환경을 켜 주지 않기 때문에, 켜진 것과 같은 효과를 이 경로가 냅니다.

03

앱을 완전히 종료했는지

창만 닫으면 프로세스가 남아 설정을 다시 읽지 않습니다. macOS는 Cmd+Q로 종료합니다.

04

폴더를 옮기지 않았는지

옮겼으면 설정의 경로 두 곳을 고치고 가상환경을 다시 만듭니다. 가상환경 안에 절대경로가 박혀 있어 옮기는 것만으로는 따라오지 않습니다.

05

기준을 다시 빌드하지 않았는지

서버는 뜰 때 조문 캐시를 한 번만 읽습니다. 캐시를 다시 만든 뒤에는 서버도 다시 시작해야 새 내용이 반영됩니다. 다시 만드는 중에는 서버가 뜰 때 경고를 냅니다 — 경고가 보이면 결과를 믿지 말고 끝날 때까지 기다립니다.

설치 없이 붙기 — 원격

저장소도 파이썬도 기준 캐시도 필요 없습니다. 저희가 띄워 둔 서버에 주소와 토큰만으로 바로 붙습니다. 대신 질의가 저희 서버를 지납니다 — 그래서 무엇이 남고 무엇이 남지 않는지 아래에 적어 둡니다.

주소

https://mcp.optra.kr/mcp

스트리밍 HTTP 방식입니다. 인증은 Authorization: Bearer <토큰> 헤더로 합니다. 설정에 헤더를 넣는 칸이 없는 도구는 mcp-remote 라는 다리를 사이에 둡니다. 설정 그대로는 Claude Desktop · Gemini CLI 쪽에 적어 두었습니다 — 실제로 붙여 확인한 것만 적었습니다.

토큰

마이페이지에서 직접 받습니다

로그인하신 뒤 마이페이지기준 연결 토큰 에서 내시면 됩니다. 무료입니다. 나온 값은 그 화면에서 한 번만 보이니 바로 옮겨 두세요.

회수도 같은 자리에서 합니다. 회수하면 그 자리에서 막힙니다 — 다시 시작할 때까지 기다리지 않습니다.

남는 것

무엇을 물으셨는지는 기록하지 않습니다

남는 것은 접속한 IP·시각·성공 여부까지입니다. 질의는 어디에도 남지 않습니다 — 웹 서버가 주소의 물음표 뒤를 아예 보지 않도록 로그 형식을 따로 짰습니다. 거절할 때조차 그렇습니다. 자세한 것은 개인정보처리방침에 적었습니다.

로컬로 띄우면 이것조차 남지 않습니다. 설치할 수 있는 자리면 로컬을, 그렇지 않거나 여러 대에서 쓰신다면 원격을 권합니다. 어느 쪽이든 읽는 것은 KDS 기준 원문뿐이고, 도면과 해석 파일은 지나가지 않습니다.

기준을 외우는 대신 불러오게 합니다

OPT-05는 무료로 공개합니다. 쓰시면서 어긋난 조문이 보이면 알려 주세요.

도입 문의