SingleStore
SingleStore
SingleStore MCP 서버는 SingleStore 데이터베이스 플랫폼과 관리 API에 상호작용할 수 있는 Model Context Protocol 구현체입니다. 이 서버를 통해 AI 어시스턴트가 자연어를 사용하여 SingleStore 데이터베이스에 대한 쿼리 실행, 스키마 설명, 가상 워크스페이스 관리 등의 작업을 수행할 수 있습니다.
특징
- 관리 API 통합: SingleStore Management API를 통한 워크스페이스 및 조직 관리
- SQL 쿼리 실행: 데이터베이스에 대한 SQL 쿼리 실행 및 결과 조회
- 스키마 검사: 테이블 구조 및 관계 조회 기능
- 테이블 관리: 테이블 생성, 수정, 삭제 기능
- 가상 워크스페이스: 스타터 워크스페이스 생성 및 관리
- 노트북 관리: SingleStore Spaces의 노트북 샘플 조회 및 생성
- 작업 스케줄링: 노트북 실행을 위한 예약 작업 관리
- SSL 보안 연결: SingleStore 데이터베이스에 대한 보안 연결
API
리소스
조직 정보
- 사용자의 현재 조직에 대한 정보
워크스페이스 그룹 정보
- 사용자가 접근 가능한 워크스페이스 그룹 정보
지역 목록
- 사용자가 워크스페이스를 지원하는 모든 지역 목록
도구
organization_info
사용자의 현재 조직에 대한 세부 정보를 조회합니다. - 입력: 없음 - 출력: 조직 세부 정보
workspace_groups_info
사용자가 접근 가능한 워크스페이스 그룹에 대한 세부 정보를 조회합니다. - 입력: 없음 - 출력: 워크스페이스 그룹 세부 정보
workspaces_info
특정 워크스페이스 그룹 내 워크스페이스에 대한 세부 정보를 조회합니다.
- 입력:
- workspaceGroupID (문자열): 워크스페이스 그룹 ID
- 출력: 워크스페이스 세부 정보
list_of_regions
사용자가 워크스페이스를 지원하는 모든 지역 목록을 조회합니다. - 입력: 없음 - 출력: 지역 목록
execute_sql
연결된 워크스페이스에서 SQL 작업을 실행합니다.
- 입력:
- workspace_group_identifier: 워크스페이스 그룹 식별자
- workspace_identifier: 워크스페이스 식별자
- username: 사용자 이름
- password: 비밀번호
- database: 데이터베이스 이름
- sql_query: 실행할 SQL 쿼리
- 출력: 구조화된 형식의 SQL 쿼리 결과
list_virtual_workspaces
사용자가 접근 가능한 모든 스타터 워크스페이스를 나열합니다. - 입력: 없음 - 출력: 사용 가능한 스타터 워크스페이스의 세부 정보
create_virtual_workspace
사용자와 함께 새 스타터 워크스페이스를 생성합니다.
- 입력:
- name: 스타터 워크스페이스 이름
- database_name: 생성할 데이터베이스 이름
- username: 워크스페이스 접근 사용자 이름
- password: 사용자 비밀번호
- workspace_group: name(선택 사항)과 cellID(필수)를 포함하는 객체
- 출력: 생성된 워크스페이스 및 사용자 세부 정보
execute_sql_on_virtual_workspace
가상 워크스페이스에서 SQL 작업을 실행합니다.
- 입력:
- virtual_workspace_id: 가상 워크스페이스 ID
- username: 사용자 이름
- password: 비밀번호
- sql_query: 실행할 SQL 쿼리
- 출력: 데이터, 행 수, 열, 상태를 포함한 구조화된 형식의 SQL 쿼리 결과
list_notebook_samples
SingleStore Spaces에서 사용 가능한 모든 노트북 샘플을 나열합니다. - 입력: 없음 - 출력: 사용 가능한 노트북 샘플의 세부 정보
create_notebook
사용자의 개인 공간에 새 노트북을 생성합니다.
- 입력:
- notebook_name: 노트북 이름
- content: 노트북 내용 (선택 사항)
- 출력: 생성된 노트북의 세부 정보
list_personal_files
사용자의 개인 공간에 있는 모든 파일을 나열합니다. - 입력: 없음 - 출력: 사용자의 개인 공간에 있는 모든 파일의 세부 정보
create_scheduled_job
노트북을 실행하기 위한 새 예약 작업을 생성합니다.
- 입력:
- name: 작업 이름
- notebook_path: 실행할 노트북 경로
- schedule_mode: 일회성 또는 반복
- execution_interval_minutes: 실행 간격(분) (선택 사항)
- start_at: 작업 시작 시간 (선택 사항)
- description: 작업 설명 (선택 사항)
- create_snapshot: 노트북 스냅샷 생성 여부 (선택 사항)
- runtime_name: 런타임 환경 이름
- parameters: 작업 매개변수 (선택 사항)
- target_config: 작업 대상 구성 (선택 사항)
- 출력: 생성된 작업의 세부 정보
get_job_details
특정 작업에 대한 세부 정보를 조회합니다.
- 입력:
- job_id: 작업 ID
- 출력: 지정된 작업에 대한 상세 정보
list_job_executions
특정 작업에 대한 실행 기록을 나열합니다.
- 입력:
- job_id: 작업 ID
- start: 시작 시간 (선택 사항)
- end: 종료 시간 (선택 사항)
- 출력: 지정된 작업의 실행 기록
사용 방법
설치 및 구성
필수 조건
- Python >= v3.11.0
- uvx 도구
- Claude Desktop, Cursor 또는 다른 지원되는 LLM 클라이언트
자동 설정 방법
SingleStore MCP 서버를 설정하는 가장 간단한 방법은 초기화 명령을 사용하는 것입니다:
uvx singlestore-mcp-server init
이 명령은 다음 작업을 수행합니다: - 사용자 인증 - 플랫폼에 맞는 구성 파일 자동 위치 지정 - SingleStore MCP 서버를 포함하도록 구성 생성 또는 업데이트 - 서버 시작 지침 제공
SingleStore API 키를 명시적으로 전달할 수도 있습니다:
uvx singlestore-mcp-server init <SINGLESTORE_API_KEY>
클라이언트(예: claude 또는 cursor)를 지정하려면 --client 플래그를 사용합니다:
uvx singlestore-mcp-server init <SINGLESTORE_API_KEY> --client=<client>
Smithery를 통한 자동 설치
Smithery를 통해 mcp-server-singlestore를 자동으로 설치할 수 있습니다:
npx -y @smithery/cli install @singlestore-labs/mcp-server-singlestore --client=<client>
<client>를 필요에 따라 claude 또는 cursor로 대체합니다.
수동 설정 방법
- 클라이언트 구성 파일에 다음 구성을 추가합니다:
{
"mcpServers": {
"singlestore-mcp-server": {
"command": "uvx",
"args": [
"singlestore-mcp-server",
"start",
"<SINGLESTORE_API_KEY>"
]
}
}
}
- 구성을 변경한 후 클라이언트를 다시 시작합니다.
Claude Code 설정
Claude Code에서는 다음과 같이 MCP 서버를 추가할 수 있습니다:
claude mcp add singlestore \
-e SINGLESTORE_API_KEY="your-api-key" \
-- uvx singlestore-mcp-server start
활용 사례
- 비즈니스 인텔리전스: 복잡한 SQL 쿼리 작성 및 분석 리포트 생성
- 데이터 과학 및 머신러닝: 데이터 준비, 탐색 및 특성 추출 작업 자동화
- 스키마 설계 및 최적화: 데이터베이스 스키마 분석 및 개선 제안
- 클라우드 플랫폼 관리: SingleStore 워크스페이스 및 리소스 관리 자동화
- 데이터 파이프라인 개발: 데이터 수집, 변환, 로드 과정 자동화
예시 사용 패턴
가상 워크스페이스 생성
새로운 SingleStore 가상 워크스페이스를 생성해줘:
이름: TestWorkspace
데이터베이스 이름: TestDB
사용자 이름: admin
비밀번호: securePassword123
SQL 쿼리 실행
다음 SQL 쿼리를 내 가상 워크스페이스에서 실행해줘:
SELECT * FROM customers WHERE signup_date > '2024-01-01' LIMIT 10;
노트북 생성 및 스케줄링
'데이터 분석 리포트'라는 이름의 노트북을 생성하고, 매일 오전 8시에 실행되도록 스케줄링해줘.