cubrid-mcp
MCP server for exploring CUBRID database schemas and executing read-only SQL queries with policy-based restrictions. Enables safe database interaction through natural language in MCP-compatible clients.
README
CUBRID MCP Server
CUBRID 데이터베이스의 스키마를 탐색하고 읽기 전용 SQL을 실행하는 Model Context Protocol(MCP) 서버입니다. 순수 Node.js 프로젝트입니다.
요구사항
- Node.js 18 이상
- CUBRID 10.2 이상
- 접근 가능한 CUBRID Broker 포트(기본값
33000)
설치 없이 실행 환경을 확인할 수 있습니다.
npx -y cubrid-mcp --check
MCP 클라이언트 설정
Claude Desktop, Cursor 등 stdio MCP 클라이언트의 설정에 다음 서버를 추가합니다.
{
"mcpServers": {
"cubrid": {
"command": "npx",
"args": ["-y", "cubrid-mcp"],
"env": {
"CUBRID_HOST": "localhost",
"CUBRID_PORT": "33000",
"CUBRID_DATABASE": "your_database",
"CUBRID_USER": "readonly_user",
"CUBRID_PASSWORD": "your_password",
"POLICY_ALLOWED_SCHEMA": "readonly_schema"
}
}
}
}
Windows에서 클라이언트가 npx를 찾지 못하면 command를 npx.cmd로 변경합니다. -y는 최초 설치 확인 메시지가 MCP stdio 통신을 방해하지 않도록 합니다.
기존 Java 서버 설정과 호환되도록 JDBC URL 형식도 지원합니다.
{
"env": {
"CUBRID_JDBC_URL": "jdbc:cubrid:db.example.com:33000:your_database:::?charSet=utf-8",
"CUBRID_USER": "readonly_user",
"CUBRID_PASSWORD": "your_password"
}
}
환경 변수
| 이름 | 필수 | 설명 |
|---|---|---|
CUBRID_HOST |
조건부 | CUBRID 호스트. CUBRID_JDBC_URL 사용 시 생략 가능 |
CUBRID_PORT |
아니요 | Broker 포트, 기본값 33000 |
CUBRID_DATABASE |
조건부 | 데이터베이스명. CUBRID_JDBC_URL 사용 시 생략 가능 |
CUBRID_USER |
예 | CUBRID 사용자명 |
CUBRID_PASSWORD |
아니요 | CUBRID 비밀번호, 기본값은 빈 문자열 |
CUBRID_JDBC_URL |
조건부 | 기존 설정 호환용 JDBC 형식 URL |
POLICY_ALLOWED_SCHEMA |
아니요 | 접근을 허용할 스키마, 기본값은 사용자명 |
POLICY_HARD_MAX_ROWS |
아니요 | 쿼리 최대 행 수, 기본값 10000 |
POLICY_HARD_MAX_BYTES |
아니요 | 결과 최대 바이트 수, 기본값 20971520 |
POLICY_HARD_TIMEOUT_MS |
아니요 | 쿼리 제한 시간, 기본값 30000 |
CUBRID_CONNECTION_TIMEOUT_MS |
아니요 | 연결 제한 시간, 기본값 10000 |
.env 파일
npx를 실행하는 작업 폴더에 .env 파일을 두면 연결 설정을 자동으로 읽습니다. .env.example을 .env로 복사한 뒤 실제 접속 정보를 입력하세요. .env는 .gitignore에 포함되어 GitHub에 업로드되지 않습니다.
연결 정보는 npm 패키지에 저장되지 않으며 실행 환경에서만 전달됩니다.
제공 기능
db.ping: 데이터베이스 연결 확인db.listTables: 테이블과 뷰 목록 조회db.describeTable: 컬럼, 기본 키, 인덱스 조회db.query: 정책 범위 안에서 SELECT 쿼리 실행- 스키마 요약, 테이블 상세, SQL 정책 MCP 리소스
서버는 공식 MCP TypeScript SDK와 네이티브 CAS 프로토콜 기반 cubrid-client를 사용합니다. stdout은 MCP 메시지에만 사용합니다.
보안
db.query는 단일 SELECT/읽기 전용 CTE만 허용하고, 다른 스키마 참조와 SQL 주석 및 쓰기 키워드를 차단합니다. 애플리케이션 정책은 완전한 SQL 방화벽이 아니므로 실제 운영에서는 반드시 조회 권한만 가진 전용 CUBRID 계정을 사용하세요.
개발 및 테스트
npm install
npm test
npm run check
Java 빌드 단계는 없습니다. npm 패키지에 bin/, src/, package.json, README, 라이선스만 포함됩니다.
npm 배포
게시 전 패키지 이름과 포함 파일을 확인합니다.
npm view cubrid-mcp
npm pack --dry-run
npm login
npm whoami
npm publish --access public
npm publish 전에 테스트가 자동 실행됩니다. 이후 릴리스는 변경 범위에 맞게 버전을 올린 뒤 게시합니다.
npm version patch
npm publish --access public
npm의 2단계 인증이 활성화되어 있으면 게시 과정에서 OTP 또는 인증 절차가 추가로 필요합니다. cubrid-mcp 이름은 실제 게시 시점까지 예약되지 않습니다.
라이선스
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。