DBAPI MCP 기능 상세 설명: 귀사의 데이터 API를 AI 지능형 에이전트의 도구로
MCP란 무엇인가?
MCP(모델 컨텍스트 프로토콜, Model Context Protocol)는 Anthropic이 제안하고 오픈소스로 공개한 개방형 표준 프로토콜입니다. 이는 AI 모델과 외부 도구 및 데이터 소스 간의 상호작용 방식을 규정하며, 마치 "AI 세계의 USB-C 포트"와 같습니다. 통일된 프로토콜 규격을 통해 MCP를 구현한 모든 서비스는 다양한 AI 클라이언트 및 프레임워크에 원활히 통합될 수 있습니다.
DBAPI 엔터프라이즈 에디션 4.5.0은 MCP 서버 기능을 기본 내장하여, DBAPI에서 이미 배포된 API를 한 번의 클릭으로 MCP 도구로 매핑해 AI 클라이언트가 발견하고 호출할 수 있도록 지원합니다.
MCP는 어떤 문제를 해결하는가?
기업 데이터 애플리케이션에서 AI는 데이터베이스에 접근하고 비즈니스 데이터를 조회하며 사내 서비스를 호출해야 합니다. 전통적인 방식에서는 각각의 시나리오마다 별도의 인터페이스와 통합 코드를 개발해야 하므로 효율성이 낮고 유지보수 비용도 높아집니다.
DBAPI의 MCP 기능은 다음과 같은 장점을 제공합니다:
- 무코드 통합: AI 통합 코드를 작성할 필요 없이, DBAPI에 이미 존재하는 API가 자동으로 AI가 호출 가능한 도구로 변환됩니다.
- 통합 관리: 모든 데이터 도구를 DBAPI 백엔드에서 일원화하여 권한, 트래픽 제어, 모니터링 등을 즉시 사용할 수 있습니다.
- 오픈 생태계: Claude Desktop, Cursor, LangChain, Spring AI 등 주요 AI 클라이언트 및 프레임워크를 지원합니다.
- 기업 보안: 개인 API는 토큰 기반 인증을 통해 접근 권한을 세밀하게 제어할 수 있습니다.
작동 원리
AI 클라이언트 / AI 프레임워크 (Claude Desktop / Cursor / LangChain / Spring AI)
│ MCP 프로토콜 (Streamable HTTP)
▼
DBApi MCP 서버 (포트 8526)
│ HTTP 호출
▼
DBApi 백엔드 (포트 8520 / Gateway)
│
▼
데이터베이스 / Elasticsearch / 타사 인터페이스MCP 서버는 다리 역할을 하며, DBAPI 백엔드에서 배포된 API를 MCP 도구로 등록합니다. AI 클라이언트는 표준 MCP 프로토콜을 통해 도구 목록을 검색하고 호출을 시작하면, MCP 서버가 요청을 DBAPI 백엔드로 전달하고 최종 결과를 AI에게 반환합니다.
빠른 시작
전제 조건
- DBAPI 엔터프라이즈 에디션 4.5.0 이상
- DBAPI 백엔드가 실행 중이며 기본 주소는
http://127.0.0.1:8520 - 최소 하나 이상의 API가 생성되어 온라인 상태여야 함
MCP 서버 시작
# 1. 구성 파일 편집
vim mcp/mcp-config.yaml
# 2. MCP 서비스 시작
bash bin/dbapi-mcp.sh startAPI를 MCP에 등록하기
MCP 도구로 노출되려면 해당 API가 온라인 상태이면서 MCP 스위치가 활성화되어 있어야 합니다.
- DBAPI 관리 콘솔에 로그인합니다.
- API 관리 페이지로 이동합니다.
- 대상 API를 찾아 작업栏의 MCP 스위치를 클릭합니다.
- 스위치를 켜면 다음 리프레시 주기부터 MCP 서버가 자동으로 동기화합니다.

MCP 도구 호출하기
MCP 엔드포인트 주소: http://<MCP_SERVER_HOST>:8526/mcp
도구 목록 가져오기:
curl http://localhost:8526/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'도구 호출하기:
curl http://localhost:8526/mcp \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_BUSINESS_TOKEN" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"dbapi_xxxx","arguments":{"key":"value"}}}'AI 클라이언트 연동
DBAPI의 MCP 서버는 Streamable HTTP 프로토콜을 사용합니다. 대부분의 클라이언트(Claude Desktop, Codex CLI, Cursor, LangChain, Spring AI)는 URL을 기반으로 자동으로 Streamable HTTP를 사용하며, OpenClaw는
transport: "streamable-http"를 명시적으로 지정해야 합니다.
Claude Desktop
설정 파일(~/Library/Application Support/Claude/claude_desktop_config.json 또는 %APPDATA%\Claude\claude_desktop_config.json)을 편집합니다:
{
"mcpServers": {
"dbapi": {
"url": "http://localhost:8526/mcp"
}
}
}Codex CLI
OpenAI Codex CLI는 MCP 프로토콜의 Streamable HTTP 전송 방식을 지원합니다. CLI 명령어로 추가 가능:
codex mcp add dbapi --url http://localhost:8526/mcp또는 ~/.codex/config.toml을 직접 편집하여:
[mcp_servers.dbapi]
transport = { type = "streamable_http", url = "http://localhost:8526/mcp" }
enabled = true개인 API를 사용할 때는 Token을 포함해야 하므로, env_http_headers를 통해 환경 변수에서 읽어옵니다:
export DBAPI_TOKEN=your_token_here
codex mcp add dbapi --url http://localhost:8526/mcp[mcp_servers.dbapi]
transport = { type = "streamable_http", url = "http://localhost:8526/mcp" }
env_http_headers = { "Authorization" = "DBAPI_TOKEN" }
enabled = trueOpenClaw
AI 에이전트 플랫폼인 OpenClaw는 MCP 서버 연결을 지원합니다. openclaw mcp set 명령어로 설정 가능:
openclaw mcp set dbapi '{"url":"http://localhost:8526/mcp","transport":"streamable-http"}'또는 설정 파일에 추가:
{
"mcp": {
"servers": {
"dbapi": {
"url": "http://localhost:8526/mcp",
"transport": "streamable-http"
}
}
}
}개인 API를 사용할 때는 Token을 포함해야 하므로, headers 필드를 추가합니다:
openclaw mcp set dbapi '{"url":"http://localhost:8526/mcp","transport":"streamable-http","headers":{"Authorization":"YOUR_TOKEN"}}'Cursor
.cursor/mcp.json 파일을 편집합니다:
{
"mcpServers": {
"dbapi": {
"url": "http://localhost:8526/mcp",
"headers": {
"Authorization": "YOUR_BUSINESS_TOKEN"
}
}
}
}LangChain
LangChain은 기본 MCP 클라이언트 지원을 제공하며, MCPAdapt를 통해 연결 가능:
from langchain_mcp_adapters.client import MCPClient
async with MCPClient("http://localhost:8526/mcp") as client:
tools = await client.list_tools()
result = await client.call_tool("dbapi_xxxx", {"key": "value"})Spring AI
Spring AI는 mcp-client-webmvc 모듈을 통해 MCP를 지원합니다:
McpClient client = McpClient.sync(new HttpMcpTransport("http://localhost:8526/mcp"));
List<Tool> tools = client.listTools();
client.callTool("dbapi_xxxx", Map.of("key", "value"));인증 메커니즘
| API 유형 | 설명 | Token 필요 여부 |
|---|---|---|
| 공개 API | 누구나 접근 가능 | 필요 없음 |
| 개인 API | 권한 부여된 클라이언트만 접근 가능 | 필요, headers.Authorization에 포함 |
Token 획득
# clientId와 secret을 백엔드 클라이언트 관리에서 생성
curl "http://localhost:8520/token/generate?clientId=YOUR_CLIENT_ID&secret=YOUR_CLIENT_SECRET"획득한 Token을 MCP 클라이언트의 headers.Authorization에 입력하면 됩니다.
Token에는 만료 시간이 있으므로, 만료 후에는 다시 발급받아야 합니다. 클라이언트 관리에서 만료 시간을 길게 설정하면 잦은 갱신을 피할 수 있습니다.
기업 활용 사례
사례 1: 자연어 기반 수치 조회 어시스턴트
데이터베이스 조회 API를 MCP 도구로 등록한 후, 비즈니스 담당자는 Claude Desktop에서 자연어로 질문할 수 있습니다:
"지난달 동부 지역 매출 상위 10개 제품은 무엇입니까?"
AI는 자동으로 DBAPI의 해당 데이터 조회 API를 호출하여 결과를 자연어로 출력합니다. SQL을 배우거나 비즈니스 시스템에 로그인할 필요가 없습니다.
사례 2: 지능형 보고서 생성
여러 데이터 조회를 조합해 완전한 보고서 인터페이스를 만들고 이를 MCP 도구로 배포합니다. AI 클라이언트가 호출하면 구조화된 데이터 분석 보고서를 자동으로 생성합니다.
사례 3: 데이터 이상 감지 에이전트
데이터 모니터링 관련 API를 LangChain 에이전트의 도구로 등록합니다. 에이전트는 정기 작업을 통해 비즈니스 데이터를 자동으로 점검하고, 이상 징후를 발견하면 DingTalk/Feishu 봇을 통해 알림을 전송합니다.
사례 4: 기업 지식 베이스 강화
기업 내부 시스템의 데이터 조회 인터페이스(주문 조회, 고객 정보, 재고 상태 등)를 MCP 도구로 배포하여 기업 자체 개발 AI 어시스턴트에 통합함으로써, AI가 실시간으로 기업 데이터를 조회할 수 있는 능력을 갖추도록 합니다.
주의사항
- MCP 서버는 기본적으로 포트 8526을 리슨하며,
mcp-config.yaml에서 변경 가능합니다. - MCP 도구로 노출되려면 해당 API가 온라인 상태이면서 MCP 스위치가 활성화되어 있어야 합니다.
- API를 수정하면 MCP 서버가 URL, 파라미터 정의 등 메타데이터를 자동으로 동기화하므로 MCP 서버를 재시작할 필요가 없습니다.
- DBAPI는 이미 완벽한 API 인증 체계(토큰 인증, 클라이언트 권한 부여)와 IP 방화벽 규칙을 갖추고 있으므로, MCP 클라이언트는 이러한 보안 기능을 그대로 계승하며 별도의 접근 제어 설정이 필요하지 않습니다.
- 개인 API를 사용할 경우, 클라이언트가 해당 API에 대한 권한을 반드시 획득했는지 확인하시기 바랍니다.
버전 요구사항: DBAPI 엔터프라이즈 에디션 4.5.0 이상에서 MCP 기능을 지원합니다.