ClickHouse MCP 서버
ClickHouse용 MCP 서버.
특징
도구
run_select_queryClickHouse 클러스터에서 SQL 쿼리를 실행합니다.
입력:
sql(문자열): 실행할 SQL 쿼리.모든 ClickHouse 쿼리는 안전을 보장하기 위해
readonly = 1로 실행됩니다.
list_databasesClickHouse 클러스터에 있는 모든 데이터베이스를 나열합니다.
list_tables데이터베이스의 모든 테이블을 나열합니다.
입력:
database(문자열): 데이터베이스의 이름입니다.
Related MCP server: MCP Alchemy
구성
다음 위치에 있는 Claude Desktop 구성 파일을 엽니다.
macOS의 경우:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows의 경우:
%APPDATA%/Claude/claude_desktop_config.json
다음을 추가합니다.
지엑스피1
환경 변수를 업데이트하여 사용자의 ClickHouse 서비스를 가리키도록 합니다.
또는 ClickHouse SQL Playground 에서 시도해 보려면 다음 구성을 사용할 수 있습니다.
uv명령 항목을 찾아uv실행 파일의 절대 경로로 바꾸세요. 이렇게 하면 서버를 시작할 때 올바른 버전의uv사용됩니다. Mac에서는which uv사용하여 이 경로를 찾을 수 있습니다.변경 사항을 적용하려면 Claude Desktop을 다시 시작하세요.
개발
test-services디렉토리에서docker compose up -d실행하여 ClickHouse 클러스터를 시작합니다.저장소 루트에 있는
.env파일에 다음 변수를 추가합니다.
참고: 이 컨텍스트에서
uv sync실행하여 종속성을 설치하세요.uv설치하려면 여기의 지침을 따르세요. 그런 다음source .venv/bin/activate실행하세요.간편하게 테스트하려면
mcp dev mcp_clickhouse/mcp_server.py실행하여 MCP 서버를 시작할 수 있습니다.
환경 변수
다음 환경 변수는 ClickHouse 연결을 구성하는 데 사용됩니다.
필수 변수
CLICKHOUSE_HOST: ClickHouse 서버의 호스트 이름CLICKHOUSE_USER: 인증을 위한 사용자 이름CLICKHOUSE_PASSWORD: 인증을 위한 비밀번호
[!주의] MCP 데이터베이스 사용자는 데이터베이스에 연결하는 외부 클라이언트와 동일하게 취급하고, 운영에 필요한 최소한의 권한만 부여해야 합니다. 기본 사용자나 관리자 권한은 절대 사용하지 마십시오.
선택 변수
CLICKHOUSE_PORT: ClickHouse 서버의 포트 번호기본값: HTTPS가 활성화된 경우
8443, 비활성화된 경우8123비표준 포트를 사용하지 않는 한 일반적으로 설정할 필요가 없습니다.
CLICKHOUSE_SECURE: HTTPS 연결 활성화/비활성화기본값:
"true"보안되지 않은 연결의 경우
"false"로 설정
CLICKHOUSE_VERIFY: SSL 인증서 검증 활성화/비활성화기본값:
"true"인증서 검증을 비활성화하려면
"false"로 설정합니다(프로덕션에는 권장하지 않음).
CLICKHOUSE_CONNECT_TIMEOUT: 연결 시간 초과(초)기본값:
"30"연결 시간 초과가 발생하면 이 값을 늘리십시오.
CLICKHOUSE_SEND_RECEIVE_TIMEOUT: 송수신 시간 초과(초)기본값:
"300"장기 실행 쿼리의 경우 이 값을 늘리십시오.
CLICKHOUSE_DATABASE: 사용할 기본 데이터베이스기본값: 없음(서버 기본값 사용)
특정 데이터베이스에 자동으로 연결하려면 이것을 설정하세요.
구성 예
Docker를 사용한 로컬 개발의 경우:
ClickHouse Cloud의 경우:
ClickHouse SQL Playground의 경우:
다음 변수는 환경, .env 파일 또는 Claude Desktop 구성에서 설정할 수 있습니다.
테스트 실행
YouTube 개요
