CockroachDB MCP 서버
이 MCP 서버는 CockroachDB 인스턴스에 연결하여 데이터베이스 및 테이블 스키마를 리소스로 노출하고, SQL 쿼리를 도구로 실행하고, 쿼리 분석을 위한 프롬프트를 제공합니다.
특징
자원
postgres://{host}/databases/{database}
- 특정 데이터베이스에 대한 정보를 가져옵니다.postgres://{host}/databases/{database}/tables/{table}/schema
- 특정 테이블에 대한 스키마를 가져옵니다.postgres://{host}/cluster-metadata/{resource}
- 클러스터 메타데이터 가져오기(인증 토큰 필요)- 현재 지원:
nodes
- 클러스터 노드에 대한 정보
도구
query
- 실행 계획 분석을 위한 옵션을 사용하여 SQL 쿼리를 실행합니다.
설치
- 이 저장소를 복제하세요
- 종속성 설치:지엑스피1
- 프로젝트를 빌드하세요:
참고: MCP 서버를 로컬로 사용하기 전에 tsc
로 프로젝트를 빌드해야 합니다.
구성
서버는 명령줄 인수로 데이터베이스 URL을 요구하고 선택적으로 관리자 UI 엔드포인트에 액세스하기 위한 인증 토큰을 허용합니다.
node dist/server.js postgres://user:password@host:port/database [auth_token]
클러스터 메타데이터 리소스에 액세스하려면 인증 토큰이 필요합니다.
Claude와 함께 데스크톱 사용
- 데스크톱 앱 구성을 위한 Claude를 엽니다.
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- 서버 구성을 추가하세요:
{
"mcpServers": {
"cockroachdb": {
"command": "node",
"args": [
"/path/to/cockroachdb-mcp-server/dist/server.js",
"postgres://user:password@host:port/database",
"your_auth_token"
]
}
}
}
- 데스크톱용 Claude 재시작
Cline과 함께 사용
- "MCP 서버" 아래의 확장 프로그램 설정에서 Cline 구성 파일을 엽니다. "MCP 서버 구성"을 선택하세요.
- 서버 구성을 추가하세요:
{
"mcpServers": {
"crdb": {
"command": "node",
"args": [
"/path/to/cockroachdb-mcp-server/dist/server.js",
"postgres://root@127.0.0.1:26257/testdb",
"your_auth_token"
]
}
}
}
- Cline을 다시 시작하거나 새 세션을 시작하세요.
예제 쿼리
클로드에게 물어볼 수 있는 몇 가지 질문의 예는 다음과 같습니다.
- "CockroachDB 인스턴스에서 어떤 데이터베이스를 사용할 수 있나요?"
- 'testdb' 데이터베이스의 'users' 테이블에 대한 스키마를 보여주시겠습니까?
- "내 데이터베이스에서 이 쿼리를 실행하세요: SELECT * FROM users LIMIT 10"
- "이 쿼리를 디버깅하고 개선 사항을 제안하세요: SELECT * FROM orders WHERE customer_id = 123"
- "CockroachDB 클러스터의 모든 노드에 대한 정보를 보여주세요"
보안 고려 사항
- 데이터베이스 액세스를 구성할 때는 주의하세요. 데이터 쿼리만 필요한 경우 연결에 읽기 전용 사용자를 사용하는 것이 좋습니다.
- 인증 토큰은 CockroachDB 관리자 UI API에 접근하는 데 사용됩니다. 이 토큰을 안전하게 보관하세요.
문제 해결
- 연결 문제가 발생하면 데이터베이스 자격 증명을 확인하고 해당 컴퓨터에서 CockroachDB 인스턴스에 액세스할 수 있는지 확인하세요.
- SQL 오류의 경우 자세한 오류 메시지를 보려면 서버 로그를 확인하세요.
- Claude가 서버를 볼 수 없는 경우 구성 파일이 제대로 형식화되어 있고 server.js 파일 경로가 올바른지 확인하세요.
- 클러스터 메타데이터 리소스의 경우 유효한 인증 토큰을 제공했는지 확인하고 관리 UI가 포트 8080에서 접근 가능한지 확인하세요.