AI 코딩 어시스턴트
AI 코딩 어시스턴트란?
DB증권 Open API 코드 어시스턴트(MCP 서버)를 설치하고 Claude Desktop 에 연동해, 자연어로 DB증권 API 코드를 작성하는 전 과정을 안내합니다.
개요
DB증권 Open API 코드 어시스턴트는 AI 앱(Claude 등)에 연결하는 MCP 서버입니다. AI 가 DB증권 Open API 의 실제 예제 코드·명세·문서를 근거로 사용자 맞춤 코드를 작성하도록 돕습니다. MCP 개념은 MCP 소개 페이지를 참고하세요.
examples/— 실행 가능한 표준 예제 코드 (국내·해외 주식/선물옵션/채권/실시간 등)docs/— 코드 규약·오류코드·호출 한도(TPS)·모의투자 지원 매트릭스mcp_server/— 위 자료를 인덱싱해 AI 에게 제공하는 MCP 서버 본체
| 도구 | 하는 일 |
|---|---|
| list_api_groups | API 그룹(도메인) 목록과 그룹별 개수.모의투자 지원 수 |
| search_apis | 키워드.TR코드.그룹으로 API 검색 |
| get_api_spec | 엔드포인트.TPS.요청(In).응답(Out) 파라미터 명세 |
| get_sample_code | 해당 API의 실행 가능한 파이썬 샘플코드 원문 |
| get_setup_guide | 설치.설정.토큰 발급.실행 시작 가이드 |
사용 전 설치사항 (요구사항)
| 준비물 | 설명 | 확인 방법 |
|---|---|---|
| Python 3.10+ | 샘플코드·MCP 서버 실행 | python --version |
| Git | 코드 내려받기·자동 동기화 | git --version |
| DB증권 앱키 | Open API 서비스 신청 후 발급(앱키/시크릿) | 포털 마이페이지 |
| AI 앱 (택1) | Claude Desktop · Claude Code · Cursor 등 MCP 지원 앱 | 앱 설치 |
설치 및 설정
STEP 1 · 샘플코드 내려받기
GitHub 저장소를 git clone 으로 받습니다. (자동 동기화 기능을 쓰려면 ZIP 이 아닌
git
clone 이어야 합니다.)
cd dbsec-open-api
STEP 2 · 설정 파일(config.yaml) 만들기
저장소 루트의 config.yaml.example
을 복사해 config.yaml
로 만든 뒤 앱키를 채웁니다.
# macOS / Linux cp config.yaml.example config.yaml
vtl_app_key: "모의투자_앱키" # 먼저 여기서 테스트!
vtl_app_secret: "모의투자_시크릿"
prd_app_key: "실전_앱키"
prd_app_secret: "실전_시크릿"
environment:
base_url: "https://openapi.dbsec.co.kr:8443"
mode: "demo" # demo(모의투자) 또는 production(실전). 처음엔 반드시 demo!
mode: "demo"(모의투자) 로 시작하세요. 주문 API 는 실전에서 실제 매매가 체결됩니다.config.yaml은 .gitignore에 등록되어 GitHub 에 올라가지 않습니다(앱키 보호).
STEP 3 · MCP 서버 의존성 설치 (가상환경 권장)
서버는 mcp_server/폴더에 있습니다.
가상환경(.venv)을 만들고 의존성(mcp, pyyaml)을 설치합니다.
python -m venv .venv
.\.venv\Scripts\python -m pip install -r requirements.txt
cd ..
# macOS / Linux cd mcp_server
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
cd ..
설치가 끝나면 서버가 정상 동작하는지 한 번 켜 봅니다(입력 대기 상태가 정상 — Ctrl+C 로 종료):
indexed_apis=169 groups=19 비슷한 줄이 보이면 정상입니다. 여기서 사용한 python 경로를 다음 단계 연동에 그대로 사용합니다.
Claude Desktop 연동하기
① 설정 파일 열기
Claude Desktop 메뉴 -> 설정(Settings) -> 개발자(Developer) -> 설정 편집을 누르거나,
아래 경로의 설정 파일을 엽니다(없으면 새로 만듭니다).
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
② 서버 등록 내용 붙여넣기
아래 JSON 을 넣고 저장합니다.
경로는 반드시 본인 PC 의 절대경로로 바꾸고, Windows 디렉토리 경로는 / 로 적습니다.
command는 STEP 3 의 .venv python 을 가리켜야 합니다.
보다 상세한 설명은 https://github.com/DBsecurities/dbsec-open-api/tree/main/mcp_server 참고 부탁드립니다.
"mcpServers": {
"dbsec-code-assistant": {
"command": "python",
"args": ["C:/절대경로/dbsec-open-api/mcp_server/run_server.py"],
"env": {
"DBSEC_MCP_GIT_BRANCH": "main",
}
}
}
}
command를
/절대경로/mcp_server/.venv/bin/python로, args
를 ["/절대경로/mcp_server/run_server.py"]로 바꿉니다.
command(가상환경 파이썬)와args(run_server.py) 경로가 모두 실제 존재하는 절대경로인지 확인하세요.- 의존성 설치를 그
.venv파이썬으로 했는지 확인하세요. (다른 파이썬에 설치하면 모듈을 못 찾습니다.) - JSON 문법(따옴표·쉼표)이 올바른지 확인하세요.
③ 완전 종료 후 재시작
Claude Desktop 을 완전히 종료(트레이/백그라운드 포함)한 뒤 다시 실행합니다.
파일 > 설정 > 개발자 도구에 등록한 dbsec_code_assistant 서버가 running 상태이면 연동 성공입니다.
claude mcp add dbsec-openapi-assistant -- "(.venv python 경로)" "(run_server.py 경로)" 로 등록.Cursor: 설정 → MCP → Add new server 에서 위와 동일한 JSON 입력.
사용법
AI 앱 채팅창에 자연어로 요청하면 됩니다. AI 가 알아서 도구를 호출해 예제를 찾고, 당신의 요구에 맞춰 코드를 만들어 줍니다.
나: "국내주식 현재가 조회 코드를 만들어줘. 종목은 삼성전자."
Claude:
1) search_apis("현재가") → kr_stock_inquire_price (TR: PRICE) 발견
2) get_api_spec("PRICE") → 요청(InputIscd1 등)·응답(Prpr 등) 파라미터 확인
3) get_sample_code("PRICE") → 검증된 샘플코드를 가져와
4) 삼성전자(005930)로 채운 정확한 코드를 작성
생성된 코드는 config.yaml
이 있는 저장소 폴더에서 바로 실행할 수 있습니다. 샘플코드가 업데이트되면 AI 앱만 재시작하면 최신 내용이 반영됩니다.
- 항상 모의투자(demo) 에서 먼저 테스트하세요. 주문 API 는 실제 매매가 체결됩니다.
- 앱키/시크릿은 코드에 직접 쓰지 말고
config.yaml에만 두세요. - 생성된 코드는 반드시 직접 검토 후 실행하세요. 매매 손실·오작동의 책임은 사용자에게 있습니다.
- API 별 호출 한도(TPS)를 지키세요.
- AI에게 질문 - 예: "kr_stock_inquire_price의 TPS 알려줘"
->
get_api_spec응답의TPS항목에서 확인됩니다. - 일람표에서 직접 확인 - 저장소의
docs/api_support_matrix.mdTPS 컬럼 에 전체 API의 한도가 정리되어 있습니다.
| 증상 | 해결 |
|---|---|
| 도구가 안 보임 | 설정 JSON 의 절대경로·역슬래시(\\) 확인 후 앱 완전 종료→재시작 |
| ModuleNotFoundError | command 가 .venv 의 python 을 가리키는지 확인, 의존성 재설치 |
| config.yaml 없음 | STEP 2 수행(example 복사 + 키 입력) |
| 토큰 발급 실패 | 앱키 오타, mode 와 키 짝(demo↔vtl / production↔prd) 일치 확인 |
| 최신 코드 반영 안 됨 | AI 앱 재시작(서버는 켜질 때 동기화) |