Data Studio について
Data Studioは、dockitとsqlkitのデスクトップアプリを介してSQL・NoSQLデータベースに接続するMCPサーバーです。コーディングエージェント向けに、ローカルアプリ内に認証情報を保ったまま、リスク別の権限を設定できます。
主な機能
- 01SQL・NoSQLデータベースへの統合アクセス
- 0270以上のSQLデータベースに対応
- 03スキーマ確認とクエリ実行
- 04書き込みや破壊的操作の段階的制御
- 05認証情報をローカルアプリ内に保持
活用シーン
- 01自然言語でデータベース構造を調査
- 02PostgreSQLやMongoDBのデータを検索
- 03エージェントが実行できる操作を制限
MCP 対応
MCPサーバーとしてlocalhost経由でdockitとsqlkitに接続し、対応クライアントにデータベースツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
2掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
Data Studio Agent
AI コーディングエージェントが、平易な言葉で、すべてのデータベースに安全にアクセスできます。
ローカルファースト。エンタープライズグレードのセキュリティ。オープンソース。
📖 製品ページ · npm · dockit · sqlkit · リリース
英語 · 简体中文
このリポジトリには、dockit と sqlkit のデスクトップアプリを通じて、AI コーディングエージェントがデータベースに直接アクセスできるようにする、Model Context Protocol サーバーである Data Studio MCP Server が含まれています。
- SQL(sqlkit 経由):70 以上のデータベース(PostgreSQL、MySQL、SQL Server、Oracle、SQLite、DuckDB、ClickHouse、Snowflake、BigQuery など)
- NoSQL(dockit 経由):Elasticsearch、OpenSearch、MongoDB、DynamoDB
機能
- あらゆる AI コーディングエージェントに対応。 Claude Code、Cursor、Windsurf、OpenCode、Codex、Cline、Pi、Qoder、GitHub Copilot、またはあらゆる MCP クライアント。
- あらゆる OS に対応。 macOS、Windows、Linux。
- あらゆる LLM モデルに対応。 お好みのプロバイダーを利用できます。ロックインはありません。
- MCP サーバーは 1 つ、設定も 1 つ。 localhost 経由で SqlKit(SQL)と DocKit(NoSQL)の両方のブリッジにルーティングします。
- エンタープライズグレードのセキュリティ。 詳細は以下をご覧ください。
クイックスタート
1. 前提条件
dockit および/または sqlkit をインストールして起動し、データベース接続を追加して、Settings → MCP Bridge → Auto-start が有効になっていることを確認してください(デフォルトで有効です)。SQL と NoSQL のツールセットをすべて利用するには、両方のアプリをインストールしてください。
2. MCP サーバーをインストール
npm install -g @geek-fun/data-studio-mcp
インストールせずに実行することもできます(npx が初回実行時にダウンロードします)。
npx -y @geek-fun/data-studio-mcp
3. AI ツールに追加する
OpenAI Codex、コマンドを 1 つ実行します。
codex mcp add data-studio -- npx -y @geek-fun/data-studio-mcp
Claude Code、コマンドを 1 つ実行します。
claude mcp add --transport stdio data-studio -- npx -y @geek-fun/data-studio-mcp
Cursor。 .cursor/mcp.json(プロジェクト)または ~/.cursor/mcp.json(グローバル)を作成します。
{
"mcpServers": {
"data-studio": {
"command": "npx",
"args": ["-y", "@geek-fun/data-studio-mcp"]
}
}
}
Windsurf。 ~/.codeium/windsurf/mcp_config.json(グローバルのみ)を作成します。
{
"mcpServers": {
"data-studio": {
"command": "npx",
"args": ["-y", "@geek-fun/data-studio-mcp"]
}
}
}
OpenCode。 opencode.json(プロジェクト)または ~/.config/opencode/opencode.json(グローバル)に追加します。
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"data-studio": {
"type": "local",
"command": ["npx", "-y", "@geek-fun/data-studio-mcp"],
"enabled": true
}
}
}
その他の MCP クライアント。 コマンドに npx、引数に -y @geek-fun/data-studio-mcp を指定して、stdio サーバーを登録します。
4. 権限を調整する(任意)
dockit/sqlkit の 設定 → MCP Bridge を開き、エージェントが実行できる操作を制御します。
| 権限モード | エージェントが実行できる操作 |
|---|---|
| 読み取り専用(デフォルト) | スキーマの調査、SELECT クエリの実行。書き込みはできません。 |
| データの読み書き | INSERT、UPDATE、インデックス操作。削除や DROP はできません。 |
| フルアクセス | DELETE、DROP、TRUNCATE を含むすべての操作。 |
5. 質問を始める
自然な言葉で質問します。エージェントがデータベースにクエリを実行します。
- 「PostgreSQL データベースのすべてのテーブルを一覧表示して」
- 「Elasticsearch インデックス
orders*の直近 10 件の注文を表示して」 - 「MongoDB で 30 歳を超えるユーザーをすべて検索して」
- 「このクエリを実行して、結果を説明して」
エージェントはスキーマを読み取り、クエリを実行してデータを調査し、実行したすべてのクエリを表示します。
エンタープライズグレードのセキュリティ
LLM はデータに幅広くアクセスできますが、認証情報を見ることはありません。ポリシーモデルにより、各機能へのアクセスはリスクレベルに応じて制御されます。
- 認証情報がアプリの外に出ることはありません。 LLM に表示されるのは不透明な
connection_idだけです。実際の認証情報は dockit/sqlkit 内で解決され、MCP の境界を越えることはありません。パスワードやキーは、アプリ内のローカルマシンに保持されます。 - ID ベースのリソースアクセス。 エージェントは接続 ID を使ってのみデータベースにアクセスします。認証情報がプロンプトやツールの引数に含まれることはないため、モデルが接続の秘密情報を取得したり、外部に持ち出したりする経路はありません。
- 3 段階の権限モデル。 読み取り専用/データの読み書き/フルアクセスの各モードで、接続ごとの設定を適用しながら、各機能へのアクセスをリスクレベルに応じて制御します。任意の接続を読み取り専用にしたり、特定のアクションを許可リストに登録したりできます。
- 明示的なユーザー確認。 破壊的な操作(DELETE、DROP、TRUNCATE)は、ポリシー上
Askとして扱われます。破壊的な操作が実行される前に、クライアントがユーザーに明示的な確認を求めます。 - アクションレベルでのステートメント分類。 SQL は実行前に解析され、ステートメントの種類(読み取り/書き込み/削除/DDL)に分類されます。書き込み専用ツールは DELETE ステートメントを拒否し、削除ツールは DDL を拒否します。
- ローカル専用のブリッジ。 ブリッジは
127.0.0.1のみで待ち受けます。他のマシンからアクセスすることはできず、ホストするサーバーも管理する API キーも不要です。
ツール
すべてのツールは data_studio__{backend}__{action} という規則に従います。ユーザー確認列には、実行前に AI クライアントで明示的な確認プロンプトが表示される操作を示します。
| ツール | バックエンド | リスク | 必要な権限 | ユーザー確認 |
|---|---|---|---|---|
data_studio__list_connections | サーバー | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__get_status | サーバー | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__sqlkit__list_databases | sqlkit | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__sqlkit__list_schemas | sqlkit | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__sqlkit__list_tables | sqlkit | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__sqlkit__get_schema | sqlkit | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__sqlkit__describe_table | sqlkit | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__sqlkit__explain_query | sqlkit | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__sqlkit__list_indexes | sqlkit | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__sqlkit__list_foreign_keys | sqlkit | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__sqlkit__list_views | sqlkit | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__sqlkit__list_procedures | sqlkit | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__sqlkit__list_functions | sqlkit | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__sqlkit__list_triggers | sqlkit | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__sqlkit__get_table_info | sqlkit | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__sqlkit__get_foreign_keys | sqlkit | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__sqlkit__list_sessions | sqlkit | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__sqlkit__get_slow_queries | sqlkit | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__sqlkit__list_connections | sqlkit | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__sqlkit__execute_query | sqlkit | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__sqlkit__get_object_ddl | sqlkit | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__sqlkit__execute_write | sqlkit | 🟡 高リスク | データ読み書き | いいえ |
data_studio__sqlkit__kill_session | sqlkit | 🟡 高リスク | データ読み書き | いいえ |
data_studio__sqlkit__grant_privilege | sqlkit | 🟡 高リスク | データ読み書き | いいえ |
data_studio__sqlkit__revoke_privilege | sqlkit | 🟡 高リスク | データ読み書き | いいえ |
data_studio__sqlkit__execute_delete | sqlkit | 🔴 破壊的 | フルアクセス | はい |
data_studio__sqlkit__execute_ddl | sqlkit | 🔴 破壊的 | フルアクセス | はい |
data_studio__es__search | dockit · Elasticsearch | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__es__get_document | dockit · Elasticsearch | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__es__cat_indices | dockit · Elasticsearch | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__es__get_mapping | dockit · Elasticsearch | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__es__cat_aliases | dockit · Elasticsearch | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__es__get_alias | dockit · Elasticsearch | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__es__count | dockit · Elasticsearch | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__es__cluster_health | dockit · Elasticsearch | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__es__cat_nodes | dockit · Elasticsearch | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__es__cat_shards | dockit · Elasticsearch | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__es__list_snapshots | dockit · Elasticsearch | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__es__index_document | dockit · Elasticsearch | 🟡 高リスク | データ読み書き | いいえ |
data_studio__es__update_document | dockit · Elasticsearch | 🟡 高リスク | データ読み書き | いいえ |
data_studio__es__create_index | dockit · Elasticsearch | 🟡 高リスク | データ読み書き | いいえ |
data_studio__es__put_mapping | dockit · Elasticsearch | 🟡 高リスク | データ読み書き | いいえ |
data_studio__es__put_alias | dockit · Elasticsearch | 🟡 高リスク | データ読み書き | いいえ |
data_studio__es__update_aliases | dockit · Elasticsearch | 🟡 高リスク | データ読み書き | いいえ |
data_studio__es__bulk | dockit · Elasticsearch | 🟡 高リスク | データ読み書き | いいえ |
data_studio__es__reindex | dockit · Elasticsearch | 🟡 高リスク | データ読み書き | いいえ |
data_studio__es__restore_snapshot | dockit · Elasticsearch | 🟡 高リスク | データ読み書き | いいえ |
data_studio__es__delete_document | dockit · Elasticsearch | 🔴 破壊的 | フルアクセス | はい |
data_studio__es__delete_by_query | dockit · Elasticsearch | 🔴 破壊的 | フルアクセス | はい |
data_studio__es__delete_index | dockit · Elasticsearch | 🔴 破壊的 | フルアクセス | はい |
data_studio__es__delete_alias | dockit · Elasticsearch | 🔴 破壊的 | フルアクセス | はい |
data_studio__mongo__list_databases | dockit · MongoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__mongo__list_collections | dockit · MongoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__mongo__find | dockit · MongoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__mongo__collection_stats | dockit · MongoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__mongo__database_stats | dockit · MongoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__mongo__server_status | dockit · MongoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__mongo__repl_set_status | dockit · MongoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__mongo__shard_status | dockit · MongoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__mongo__count_documents | dockit · MongoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__mongo__list_indexes | dockit · MongoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__mongo__sample_documents | dockit · MongoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__mongo__distinct | dockit · MongoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__mongo__get_slow_queries | dockit · MongoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__mongo__list_users | dockit · MongoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__mongo__aggregate | dockit · MongoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__mongo__insert_one | dockit · MongoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__mongo__update_many | dockit · MongoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__mongo__create_database | dockit · MongoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__mongo__create_collection | dockit · MongoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__mongo__update_document | dockit · MongoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__mongo__rename_collection | dockit · MongoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__mongo__clone_collection | dockit · MongoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__mongo__create_index | dockit · MongoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__mongo__drop_index | dockit · MongoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__mongo__insert_many | dockit · MongoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__mongo__find_one_and_update | dockit · MongoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__mongo__bulk_write | dockit · MongoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__mongo__delete_many | dockit · MongoDB | 🔴 破壊的 | フルアクセス | はい |
data_studio__mongo__drop_database | dockit · MongoDB | 🔴 破壊的 | フルアクセス | はい |
data_studio__mongo__drop_collection | dockit · MongoDB | 🔴 破壊的 | フルアクセス | はい |
data_studio__mongo__delete_document | dockit · MongoDB | 🔴 破壊的 | フルアクセス | はい |
data_studio__mongo__truncate_collection | dockit · MongoDB | 🔴 破壊的 | フルアクセス | はい |
data_studio__dynamo__execute_query | dockit · DynamoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__dynamo__describe_table | dockit · DynamoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__dynamo__list_tables | dockit · DynamoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__dynamo__query_table | dockit · DynamoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__dynamo__scan_table | dockit · DynamoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__dynamo__batch_get_items | dockit · DynamoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__dynamo__describe_continuous_backups | dockit · DynamoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__dynamo__describe_ttl | dockit · DynamoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__dynamo__get_table_metrics | dockit · DynamoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__dynamo__list_backups | dockit · DynamoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__dynamo__describe_backup | dockit · DynamoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__dynamo__describe_limits | dockit · DynamoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__dynamo__list_tags | dockit · DynamoDB | 🟢 安全 | 読み取り専用 | いいえ |
data_studio__dynamo__execute_write | dockit · DynamoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__dynamo__create_item | dockit · DynamoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__dynamo__batch_write_items | dockit · DynamoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__dynamo__update_item | dockit · DynamoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__dynamo__transact_write_items | dockit · DynamoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__dynamo__create_gsi | dockit · DynamoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__dynamo__update_gsi | dockit · DynamoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__dynamo__create_table | dockit · DynamoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__dynamo__update_table_config | dockit · DynamoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__dynamo__update_ttl | dockit · DynamoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__dynamo__update_pitr | dockit · DynamoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__dynamo__update_streams | dockit · DynamoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__dynamo__restore_table | dockit · DynamoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__dynamo__create_backup | dockit · DynamoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__dynamo__tag_resource | dockit · DynamoDB | 🟡 高リスク | データ読み書き | いいえ |
data_studio__dynamo__execute_delete | dockit · DynamoDB | 🔴 破壊的 | フルアクセス | はい |
data_studio__dynamo__delete_item | dockit · DynamoDB | 🔴 破壊的 | フルアクセス | はい |
data_studio__dynamo__delete_gsi | dockit · DynamoDB | 🔴 破壊的 | フルアクセス | はい |
data_studio__dynamo__delete_table | dockit · DynamoDB | 🔴 破壊的 | フルアクセス | はい |
data_studio__dynamo__truncate_table | dockit · DynamoDB | 🔴 破壊的 | フルアクセス | はい |
| ツール合計116個。 読み取り専用の操作は、読み取り専用モードで自動的に実行されます。高リスクの操作(書き込み、インデックス/スキーマの変更)には、データ読み書きの権限が必要です。破壊的な操作(DELETE、DROP、TRUNCATE)にはフルアクセスの権限が必要で、必ず明示的なユーザー確認プロンプトが表示されます。 |
仕組み
code agent (Claude Code / Cursor / OpenCode ...)
|
| MCP stdio protocol
v
@geek-fun/data-studio-mcp ← npm package (pure TypeScript)
|
| HTTP (localhost)
+----------------+----------------+
v v |
dockit:9120 sqlkit:9121 |
(NoSQL bridge) (SQL bridge) |
| | |
v v |
Elasticsearch PostgreSQL |
MongoDB MySQL |
DynamoDB SQL Server |
OpenSearch SQLite |
MCP サーバーは薄いルーティングレイヤーです。すべてのデータベースドライバー、SSH トンネル、接続管理はデスクトップアプリ側にあり、デスクトップアプリはローカル HTTP ブリッジ(127.0.0.1 のみ)を公開します。MCP サーバーは、各アプリのポートファイルを通じて、実行中のバックエンドを自動検出します。
開発者向け
このリポジトリには、dockit と sqlkit に組み込まれたアシスタントを支える、共有 AI エージェントループ(プロバイダーアダプター、ストリーミング、ツール呼び出し、コンテキストの圧縮)を備えた data-studio-agent Rust フレームワークも含まれています。
インストール、アーキテクチャ、統合ガイドについては、crates/data-studio-agent/README.md をご覧ください。
ライセンス
Apache 2.0。LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。