本文へスキップ
ReviewRamble

週刊ブリーフ

AIのレビューを、あなたの受信箱に。

  • ツール、モデル、MCPサーバー、リポジトリの新しいレビュー(結論を最初に)
  • 変更があったときに再確認した価格と評価
  • 公開された新しい分析記事

モデル、エージェント、MCPサーバー、そして本当に時間をかける価値のあるツール。

週に1通です。配信停止は各メールのリンクからできます。 メールアドレスの利用について

database-mcp (cocaxcode)

1人の開発者によるPostgreSQL、MySQL、SQLite向けのstdioサーバーで、保存済みの接続、取り消し用スナップショット、ダンプ、クエリ履歴を備えます。

レビュー: ReviewRamble editors · 更新

導入ガイド オープンソース

当サイトの評価

2.9/5

よく考えられた作業台の機能が、コードの守っていない安全性の約束の上に乗っているので、置き場所はノートPCのデータベースまでで、本番の近くには置けません。

database-mcp (cocaxcode)とは?

GitHubユーザーcocaxcodeがnpmで@cocaxcode/database-mcpとして公開しているdatabase-mcpは、MCPクライアントをPostgreSQL、MySQL、SQLite向けの小さなデータベース作業台に変えます。接続は一度保存すればプロジェクトのディレクトリごとにまとめられ、あるリポジトリで作業するエージェントにはそのプロジェクトのデータベースだけが見えます。クエリ用ツールの周りには、3段階のスキーマ検索、EXPLAIN、プロジェクトごとのクエリ履歴、変更前に取得して取り消し用の逆SQLを生成するスナップショット、SQLダンプと復元、そして大きなセルを切り詰めてコンテキストを節約する結果の圧縮が加わります。

コードが登録するツールは34個、スキーマのリソースは2個です(READMEでは33個、MCPレジストリの掲載では19個)。動作はstdioのみで、グローバルにインストールしたpostgres、mysql2、sql.jsのドライバーを読み込みます。リポジトリは2026年3月に作成され、GitHubのスターは3、コミットは41で、最後の変更は2026年8月26日です。npmの最新版は2026年4月21日の0.3.4で、パッケージは11月10日までの1か月で330回ダウンロードされました。

database-mcp (cocaxcode)のインストール方法

npx -y @cocaxcode/database-mcp@latest

database-mcp (cocaxcode)は使う価値があるか?

機能は開発者自身のマシン向けとしてよく選ばれています。接続はセッションをまたいで残り、プロジェクトのディレクトリに追従します。読み取りクエリにはLIMIT 100が付き、500バイトを超えるセルは印を付けて切り詰められ、20件分のキャッシュによりエージェントはクエリを再実行せずに後から完全な結果を取り出せます。INSERT、UPDATE、DELETEのたびに対象の行を先に保存するので、rollback_applyで元に戻せます。DDLは記録されますが、取り消しはできません。

安全性の仕組みはREADMEが言うより弱いものです。READMEは破壊的な操作には明示的なconfirm: trueが必要だと約束していますが、ソースコードを読む限り、execute_mutationにはそのパラメータがなく、DELETEやDROPを即座に実行します。確認を求めるのはconn_delete、rollback_apply、db_restoreだけで、しかもそのフラグを立てるのはモデル自身です。新しい接続が既定で読み取り専用なのは正しい判断ですが、conn_setを使えばエージェントは1回のツール呼び出しで接続を読み書き可能に切り替えられます。

読み取り専用の仕組み自体も、文の最初のキーワードだけを見る分類器に頼っています。PostgreSQLのドライバーはパラメータのないSQLをpostgres.jsのシンプルプロトコルで送り、SQLiteのドライバーはsql.jsのexecを使います。どちらも1回の呼び出しで複数の文を実行するため、SELECTで始まる文字列でもセミコロンの後にDELETEを含められます。analyzeをtrueにしたexplain_queryは読み取り専用の検査をまるごと飛ばし、PostgreSQLのEXPLAIN ANALYZEは説明対象の文を実際に実行します。エージェントが読んだばかりの行に隠されたプロンプトインジェクションは、どちらの経路も悪用できます。MySQLのドライバーはプリペアドステートメントを使い、連結したクエリを受け付けません。

認証情報はローカルに残り、~/.database-mcpの下にある所有者のみアクセスできるJSONファイルに保存され、conn_getはパスワードを伏せます。一方、include_secrets付きのconn_exportはパスワードを平文のままモデルのコンテキストに返します。履歴、変更前の行の値を含むスナップショット、完全なダンプはプロジェクト内の.database-mcpフォルダーに書き込まれるため、このフォルダーはバージョン管理から外しておく必要があります。ツールの説明とサーバーの指示はスペイン語で書かれており、モデルは問題なく扱えますが、エージェントのログを英語で確認する人には読めないかもしれません。

結論:SQLiteのファイルや使い捨てのローカルPostgresなら、取り消しと履歴のツールは素のSQL実行ツールからの心地よい改善です。大事なものに対しては、SELECTしかできないデータベースユーザーの背後に置いたDBHubかMicrosoftのPostgresサーバーの方が安全な構成です。そこでは、キーワードの検査ではなくデータベース自身が拒否するからです。

真価を発揮する場面

  • SQLiteで個人プロジェクトを作っている個人開発者

    Claude Codeからテストデータを入れ、スキーマ変更を試し、失敗を取り消したい

    ローカルの.dbファイルに読み書き可能な接続を作り、エージェントに行の挿入や更新を任せ、変更がうまくいかなければrollback_applyを呼びます。無料です。スキーマ変更は元に戻せないため、DDLの前にはdb_dumpを実行してください。

  • 複数のクライアント案件を抱えるフリーランスのバックエンド開発者

    設定し直さずに、リポジトリごとに正しいローカルデータベースをエージェントに選ばせたい

    クライアントごとに接続グループを作り、その案件のディレクトリをスコープに、開発用データベースを既定にします。エージェントにはそのクライアントの接続だけが見えます。本番の接続はツールに一切登録しない方が安全です。

導入前に確認すること

導入
claude mcp add --scope user database -- npx -y @cocaxcode/database-mcp@latestに加え、使うエンジンに応じてnpm install -g postgres、mysql2、sql.jsを実行します。Node 20以降が必要です。Claude Code、Claude Desktop、Cursor、Windsurf、VS Code、Codex CLI、Gemini CLI向けの設定が文書化されています。接続はエージェントに頼んで作るので、最初のクエリまでは数分です。
連携
コード上のツールは34個です。接続用が13、グループ用が7、search_schema、execute_query、execute_mutation、explain_query、inspect_last_query、ダンプ用が3、取り消し用が2、履歴用が2、設定用が2で、ほかにdb://schemaとdb://tables/{tableName}/schemaのリソースがあります。stdioのみでHTTPトランスポートはないため、ネットワークポートは開きません。
データとプライバシー
すべてローカルで動き、クエリ結果は利用するモデルの提供元に送られます。認証情報は~/.database-mcp/connectionsの下のJSONファイルに暗号化されずに保存され、アクセス権は所有者のみです。conn_exportは平文で返すことがあります。各プロジェクトの.database-mcpには履歴(最大5,000件)、行データを含むスナップショット(最大1,000件)、完全なSQLダンプが保存され、最近の結果は1時間ディスクにキャッシュされます。エージェントが読む行にはプロンプトインジェクションが含まれる可能性があり、PostgreSQLやSQLiteでは、読み取り専用モードがそれによる書き込みを確実には防げません。
大規模利用時のコスト
無料で、かかるのはデータベースの負荷とコンテキストです。既定のLIMIT 100とセルあたり500バイトの上限で通常の結果は小さく保たれますが、この上限をすり抜けるEXPLAIN ANALYZEや制限のないUNIONクエリはその限りではありません。
制限
SSHトンネルや証明書の独自設定はなく、クエリのタイムアウトもなく、対応エンジンは3つだけです。リポジトリのバージョン0.3.5はnpmに公開されていません。読み取り専用と確認は、データベースの権限ではなくモデルの協力に依存しています。

良い点

  • 保存した接続をプロジェクトのディレクトリごとにまとめられる
  • 変更前のスナップショットと逆SQLによる取り消し
  • 自動のLIMIT 100とセルの切り詰めでコンテキストを節約
  • 接続は既定で読み取り専用

気になる点

  • READMEの記述に反し、execute_mutationに確認がない
  • 連結した文やEXPLAIN ANALYZEで読み取り専用を回避できる
  • エージェントが自分で接続を読み書き可能に切り替えられる
  • スター3、開発者1人、2026年4月以降npmのリリースなし

おすすめの人

ローカルのSQLiteや開発用のPostgresデータベースを、取り消しと履歴付きでエージェントに調べさせ、編集させたい個人開発者。

database-mcp (cocaxcode)の代替

database-mcp (cocaxcode):よくある質問

database-mcp (cocaxcode)は使う価値があるか?
よく考えられた作業台の機能が、コードの守っていない安全性の約束の上に乗っているので、置き場所はノートPCのデータベースまでで、本番の近くには置けません。 評価は5点満点中2.9点です。
database-mcp (cocaxcode)の料金は?
無料のオープンソース(MIT)です。
database-mcp (cocaxcode)の欠点は?
READMEの記述に反し、execute_mutationに確認がない; 連結した文やEXPLAIN ANALYZEで読み取り専用を回避できる; エージェントが自分で接続を読み書き可能に切り替えられる; スター3、開発者1人、2026年4月以降npmのリリースなし.
database-mcp (cocaxcode)は誰に向いているか?
ローカルのSQLiteや開発用のPostgresデータベースを、取り消しと履歴付きでエージェントに調べさせ、編集させたい個人開発者。
チームや本番環境でdatabase-mcp (cocaxcode)を使うと費用はいくらか?
無料で、かかるのはデータベースの負荷とコンテキストです。既定のLIMIT 100とセルあたり500バイトの上限で通常の結果は小さく保たれますが、この上限をすり抜けるEXPLAIN ANALYZEや制限のないUNIONクエリはその限りではありません。
database-mcp (cocaxcode)は企業データを扱っても安全か?
すべてローカルで動き、クエリ結果は利用するモデルの提供元に送られます。認証情報は~/.database-mcp/connectionsの下のJSONファイルに暗号化されずに保存され、アクセス権は所有者のみです。conn_exportは平文で返すことがあります。各プロジェクトの.database-mcpには履歴(最大5,000件)、行データを含むスナップショット(最大1,000件)、完全なSQLダンプが保存され、最近の結果は1時間ディスクにキャッシュされます。エージェントが読む行にはプロンプトインジェクションが含まれる可能性があり、PostgreSQLやSQLiteでは、読み取り専用モードがそれによる書き込みを確実には防げません。
database-mcp (cocaxcode)の代わりになるものは?
当サイトでレビューした中で最も近い代替はDBHub, Postgres MCP Server (Microsoft), Faucet 、 MCP Toolbox for Databasesです。

回答確認日:2026年11月11日