CockroachDB MCP サーバー
この MCP サーバーは CockroachDB インスタンスに接続し、データベースとテーブル スキーマをリソースとして公開し、SQL クエリをツールとして実行し、クエリ分析のプロンプトを提供します。
特徴
リソース
postgres://{host}/databases/{database}
- 特定のデータベースに関する情報を取得しますpostgres://{host}/databases/{database}/tables/{table}/schema
- 特定のテーブルのスキーマを取得しますpostgres://{host}/cluster-metadata/{resource}
- クラスターのメタデータを取得します(認証トークンが必要です)- 現在サポートされています:
nodes
- クラスターノードに関する情報
ツール
query
- 実行プラン分析のオプションを使用してSQLクエリを実行します
インストール
- このリポジトリをクローンする
- 依存関係をインストールします:
- プロジェクトをビルドします。
注意: MCP サーバーをローカルで使用する前に、 tsc
を使用してプロジェクトをビルドする必要があります。
構成
サーバーはコマンドライン引数としてデータベース URL を必要とし、オプションで管理 UI エンドポイントにアクセスするための認証トークンを受け入れます。
node dist/server.js postgres://user:password@host:port/database [auth_token]
クラスター メタデータ リソースにアクセスするには認証トークンが必要です。
Claude for Desktop と併用
- Claude for Desktop App の構成を開きます。
- 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 でアクセス可能であることを確認してください。