SingleStore MCP 서버
모델 컨텍스트 프로토콜 (MCP)은 대규모 언어 모델(LLM)과 외부 시스템 간의 컨텍스트를 관리하도록 설계된 표준화된 프로토콜입니다. 이 저장소는 Singlestore용 설치 프로그램과 MCP 서버를 제공하여 원활한 통합을 지원합니다.
MCP를 사용하면 Claude Desktop, Cursor 또는 호환되는 모든 MCP 클라이언트를 사용하여 자연어로 SingleStore와 상호 작용할 수 있으므로 복잡한 작업을 손쉽게 수행할 수 있습니다.
요구 사항
파이썬 >= v3.11.0
파이썬 환경에 uvx가 설치되어 있습니다
Claude Desktop, Cursor 또는 다른 지원되는 LLM 클라이언트
Related MCP server: MCP Server Example
클라이언트 설정
1. Init 명령
MCP 서버를 설정하는 가장 간단한 방법은 초기화 명령을 사용하는 것입니다.
지엑스피1
이 명령은 다음을 수행합니다.
사용자 인증
플랫폼에 맞는 구성 파일을 자동으로 찾습니다.
SingleStore MCP 서버를 포함하도록 구성을 생성하거나 업데이트합니다.
서버 시작에 대한 지침을 제공합니다
<SINGLESTORE_API_KEY> 명시적으로 전달할 수도 있습니다.
uvx singlestore-mcp-server init <SINGLESTORE_API_KEY>클라이언트(예: claude 또는 cursor )를 지정하려면 --client 플래그를 사용합니다.
uvx singlestore-mcp-server init <SINGLESTORE_API_KEY> --client=<client>2. Smithery를 통한 설치
Smithery 를 통해 mcp-server-singlestore 자동으로 설치하려면:
npx -y @smithery/cli install @singlestore-labs/mcp-server-singlestore --client=<client>필요에 따라 <client> claude 나 cursor 로 바꾸세요.
3. 수동 구성
클로드 데스크탑과 커서
클라이언트 구성 파일에 다음 구성을 추가합니다.
클로드 데스크탑 :
{ "mcpServers": { "singlestore-mcp-server": { "command": "uvx", "args": [ "singlestore-mcp-server", "start", "<SINGLESTORE_API_KEY>" ] } } }
구성을 변경한 후 클라이언트를 다시 시작합니다.
구성 요소
도구
서버는 다음 도구를 구현합니다.
workspace_groups_info : 사용자가 액세스할 수 있는 작업 공간 그룹에 대한 세부 정보를 검색합니다.
인수가 필요하지 않습니다
작업 공간 그룹의 세부 정보를 반환합니다.
workspaces_info : 특정 작업 공간 그룹의 작업 공간에 대한 세부 정보를 검색합니다.
인수:
workspaceGroupID(문자열)작업 공간의 세부 정보를 반환합니다.
organization_info : 사용자의 현재 조직에 대한 세부 정보를 검색합니다.
인수가 필요하지 않습니다
조직의 세부 정보를 반환합니다.
list_of_regions : 사용자의 작업 공간을 지원하는 모든 지역 목록을 검색합니다.
인수가 필요하지 않습니다
지역 목록을 반환합니다.
execute_sql : 연결된 작업 공간에서 SQL 작업 실행
인수:
workspace_group_identifier,workspace_identifier식별자,username,password,database,sql_query구조화된 형식으로 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,username,password,sql_query데이터, 행 수, 열 및 상태를 포함하는 구조화된 형식으로 SQL 쿼리 결과를 반환합니다.
list_notebook_samples : SingleStore Spaces에서 사용 가능한 모든 노트북 샘플을 나열합니다.
인수가 필요하지 않습니다
사용 가능한 노트북 샘플의 세부 정보를 반환합니다.
create_notebook : 사용자의 개인 공간에 새로운 노트북을 생성합니다.
인수:
notebook_name,content(선택 사항)생성된 노트북의 세부 정보를 반환합니다.
list_personal_files : 사용자 개인 공간에 있는 모든 파일을 나열합니다.
인수가 필요하지 않습니다
사용자의 개인 공간에 있는 모든 파일의 세부 정보를 반환합니다.
create_scheduled_job : 노트북을 실행하기 위한 새로운 예약된 작업을 생성합니다.
인수:
name: 직업 이름notebook_path: 실행할 notebook의 경로schedule_mode: 한 번 또는 반복execution_interval_minutes: 실행 간 간격(분) (선택 사항)start_at: 작업을 시작할 시점(선택 사항)description: 직무 설명 (선택 사항)create_snapshot: 노트북 스냅샷을 생성할지 여부(선택 사항)runtime_name: 런타임 환경의 이름parameters: 작업에 대한 매개변수(선택 사항)target_config: 작업에 대한 대상 구성(선택 사항)
생성된 작업의 세부 정보를 반환합니다.
get_job_details : 특정 직업에 대한 세부 정보를 가져옵니다.
인수:
job_id지정된 작업에 대한 자세한 정보를 반환합니다.
list_job_executions : 특정 작업에 대한 실행 기록을 나열합니다.
인수:
job_id,start(선택 사항),end(선택 사항)지정된 작업에 대한 실행 기록을 반환합니다.
도커화
Docker 이미지 빌드
MCP 서버용 Docker 이미지를 빌드하려면 프로젝트 루트에서 다음 명령을 실행하세요.
docker build -t mcp-server-singlestore .Docker 컨테이너 실행
Docker 컨테이너를 실행하려면 다음 명령을 사용하세요.
docker run -d \
-p 8080:8080 \
--name mcp-server \
mcp-server-singlestoreDocker Secrets 사용
컨테이너에 비밀을 안전하게 전달하려면 Docker 비밀을 생성하고 마운트하세요.
echo "your-secret-value" | docker secret create mcp_secret -그런 다음 비밀을 사용하여 컨테이너를 실행합니다.
docker service create \
--name mcp-server \
--secret mcp_secret \
mcp-server-singlestore