概要

SQLite MCP Server (mcp-server-sqlite) は、Model Context Protocol (MCP) を通じて、AIアシスタントがSQLiteデータベースと対話するための標準化されたインターフェースを提供するサーバである。
Anthropicが開発したMCP公式リファレンス実装の1つであり、MITライセンスで公開されている。

AIアシスタントが自然言語の指示を通じてSQLiteデータベースの操作を実行できるようにする。

Claude Desktop、Claude Code、VS Code、Cursor、Windsurf等の主要なMCPクライアントに対応する。
Windows、MacOS、Linuxの主要なOSに対応する。

このサーバを使用することにより、AIアシスタントがSQLクエリの実行、テーブルの作成・管理、スキーマの確認、ビジネスインサイトの記録等を自然言語による指示で自動化できるようになる。

主な機能は以下の通りである。

データベースMCPサーバーツール一覧
ツール名 説明
クエリ実行ツール SELECTクエリによるデータ取得、INSERT、UPDATE、DELETEによるデータ操作
テーブル管理ツール テーブルの作成、テーブル一覧の表示、スキーマ情報の確認
インサイト記録機能 分析中に発見したビジネスインサイトを動的メモリソースに蓄積



動作要件

Python版の要件

Python版のSQLite MCP Serverを使用するために必要な前提条件を以下に示す。

  • Python 3.10以上
    MCPサーバの実行環境として必要
  • uv (Astralが提供するPythonパッケージマネージャ)
    uvx コマンドを使用してMCPサーバを実行するために必要
  • SQLite
    PythonにSQLiteが組み込まれているため、別途インストールは不要


Node.js版の要件

Node.js版のSQLite MCP Serverを使用するために必要な前提条件を以下に示す。

  • Node.js
    MCPサーバの実行環境として必要
  • npx コマンド
    Node.jsに同梱されている。
    npx コマンドを使用して、MCPサーバを実行するために必要



インストール

uvのインストール

MCPサーバの実行に必要なuvをインストールする。

Windowsの場合

PowerShellを使用する場合は、以下に示すコマンドを実行する。

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"


WinGetを使用する場合は、以下に示すコマンドを実行する。

winget install --id=astral-sh.uv -e


MacOSの場合

Homebrewを使用する場合は、以下に示すコマンドを実行する。

brew install uv


curlを使用する場合は、以下に示すコマンドを実行する。

curl -LsSf https://astral.sh/uv/install.sh | sh


Linuxの場合

curlを使用する場合は、以下に示すコマンドを実行する。

curl -LsSf https://astral.sh/uv/install.sh | sh


wgetを使用する場合は、以下に示すコマンドを実行する。

wget -qO- https://astral.sh/uv/install.sh | sh


mcp-server-sqliteのインストール

pip コマンドを実行してインストールする場合は、以下に示すコマンドを実行する。

pip install mcp-server-sqlite


uvx を使用する場合はインストール不要で、そのままサーバを実行できる。

詳細は、後述の#SQLite MCP Serverの実行セクションを参照すること。

SQLite MCP Serverの実行

インストール後、以下に示すコマンドでSQLite MCP Serverを起動できる。

uvx コマンドを実行して起動する場合 (推奨) は、以下に示すコマンドを実行する。

uvx mcp-server-sqlite --db-path /path/to/database.db


npx コマンドを実行して起動する場合は、以下に示すコマンドを実行する。

npx -y @modelcontextprotocol/server-sqlite /path/to/database.db


下表に、コマンドラインオプションを示す。

コマンドラインオプションの一覧
オプション 必須 説明
--db-path 必須 SQLiteデータベースファイルへのパスを指定する。
絶対パスを使用することを推奨する。



MCPクライアントの設定

設定ファイルの場所

各MCPクライアントの設定ファイルの場所は以下の通りである。

Claude Desktopの設定ファイルを以下に示す。

  • Linux
    ~/.config/Claude/claude_desktop_config.json
  • MacOS
    ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows
    %APPDATA%\Claude\claude_desktop_config.json


Claude Codeの設定ファイルを以下に示す。

  • ローカルスコープ
    .mcp.json (プロジェクトルート) : claude mcp add コマンドで生成される
  • ユーザスコープ
    ~/.claude.json (ホームディレクトリ)


VS Codeの設定ファイルを以下に示す。

  • .vscode/mcp.json (プロジェクトルート)


Cursorの設定ファイルを以下に示す。

  • グローバル設定
    ~/.cursor/mcp.json
  • プロジェクト設定
    .cursor/mcp.json


Claude Desktopの設定

claude_desktop_config.json ファイルに以下に示す内容を設定する。

  • uvx を使用する場合
     {
       "mcpServers": {
          "sqlite": {
             "command": "uvx",
             "args": ["mcp-server-sqlite", "--db-path", "/path/to/database.db"]
          }
       }
     }
    

  • npx を使用する場合
     {
       "mcpServers": {
          "sqlite": {
             "command": "npx",
             "args": ["-y", "@modelcontextprotocol/server-sqlite", "/path/to/database.db"]
          }
       }
     }
    


設定ファイルを保存した後、Claude Desktopを再起動して設定を反映する。

Claude Codeの設定

Claude Codeでは、claude mcp add コマンドを実行して、SQLite MCP Serverを追加できる。

以下に示すコマンドでMCPサーバをClaude Codeに登録する。

claude mcp add sqlite -- uvx mcp-server-sqlite --db-path /path/to/database.db


プロジェクトスコープで設定する場合は、--scope project オプションを追加する。
設定は、.mcp.json ファイルに保存される。

claude mcp add --scope project sqlite -- uvx mcp-server-sqlite --db-path /path/to/database.db


プロジェクトの .mcp.json ファイルに設定を記述する場合は、以下に示す内容を記述する。

 {
   "mcpServers": {
      "sqlite": {
         "command": "uvx",
         "args": ["mcp-server-sqlite", "--db-path", "/path/to/database.db"]
      }
   }
 }


VS Code / Cursorの設定

.vscode/mcp.json または .cursor/mcp.json ファイルに以下に示す内容を設定する。

 {
   "mcpServers": {
      "sqlite": {
         "command": "uvx",
         "args": ["mcp-server-sqlite", "--db-path", "/path/to/database.db"]
      }
   }
 }


Windowsでの設定の注意点

Windowsでは、パスの区切り文字として2重バックスラッシュを使用する必要がある。

 {
   "mcpServers": {
      "sqlite": {
         "command": "uvx",
         "args": ["mcp-server-sqlite", "--db-path", "C:\\Users\\name\\database.db"]
      }
   }
 }


npx コマンドを使用する場合は、cmd /c ラッパーが必要である。

 {
   "mcpServers": {
      "sqlite": {
         "command": "cmd",
         "args": ["/c", "npx", "-y", "@modelcontextprotocol/server-sqlite", "C:\\Users\\name\\database.db"]
      }
   }
 }



SQLite MCP Serverの機能

SQLite MCP Serverは、クエリ実行、テーブル管理、インサイト記録の機能を6つのツールと1つのリソースで提供する。

提供ツール一覧

下表に、SQLite MCP Serverが提供する全ツールを示す。

ツールの一覧
ツール 説明
read_query SELECTクエリを実行してデータを取得する。
write_query INSERT、UPDATE、DELETEクエリを実行する。
create_table 新しいテーブルを作成する。
list_tables データベース内の全テーブル名を一覧表示する。
describe_table 指定したテーブルのスキーマ情報 (カラム名、型、制約) を表示する。
append_insight ビジネスインサイトを分析メモに追加する。


提供リソース

下表に、SQLite MCP Serverが提供するリソースを示す。

リソースの一覧
リソースURI 説明
memo://insights 分析中に発見したビジネスインサイトを蓄積する動的メモリソース。
append_insight ツールで追記される。


提供プロンプト

下表に、SQLite MCP Serverが提供するプロンプトを示す。

プロンプトの一覧
プロンプト名 パラメータ 説明
mcp-demo topic (分析対象を指定) SQLiteデータベース操作のデモンストレーション用プロンプト。



使用例

SQLite MCP Serverの各ツールは、AIアシスタントが自然言語の指示を受けて自動的に呼び出す。

テーブルの確認

データベース内のテーブルを確認する場合の操作例を以下に示す。

  • データベース内の全テーブルを確認する場合
     # プロンプト例 :
     
     このデータベースに含まれるすべてのテーブルを表示してください。
    

  • テーブルのスキーマを確認する場合
     # プロンプト例 :
     
     usersテーブルのカラム構成と制約を確認してください。
    


データのクエリ

テーブルからデータを取得する場合の操作例を以下に示す。

  • 条件を指定してデータを取得する場合
     # プロンプト例 :
     
     productsテーブルから価格が1000円以上の商品の名前と価格を取得してください。
    

  • 月別集計を行う場合
     # プロンプト例 :
     
     salesデータから2024年の月別売上を集計して、ビジネスインサイトメモに記録してください。
    


テーブルの作成

新しいテーブルを作成する場合の操作例を以下に示す。

  • スキーマを指定してテーブルを作成する場合
     # プロンプト例 :
     
     以下のスキーマでusersテーブルを作成してください:
     id INTEGER PRIMARY KEY, name TEXT NOT NULL, email TEXT UNIQUE
    



その他

セキュリティ

下表に、SQLite MCP Serverのセキュリティに関する推奨事項を示す。

セキュリティに関する推奨事項
項目 説明
データベースファイルの権限設定 データベースファイルには適切なファイルパーミッションを設定すること。
例: chmod 644 database.db
絶対パスの使用 --db-path オプションには絶対パスを使用する。
相対パスや ~ (チルダ) は正しく解釈されない場合がある。
書き込み権限の考慮 write_query および create_table ツールはデータを変更するため、
不用意なデータ変更が発生しないよう注意すること。


トラブルシューティング

下表に、一般的なエラーと対処法を示す。

トラブルシューティング一覧
問題 原因 対処法
uvx または npxコマンドが見つからない uvまたはNode.jsがインストールされていない。
またはPATHが正しく設定されていない。
uvまたはNode.jsを再インストールして、PATH設定を確認する。
データベースファイルのパスエラーが発生する 相対パスや ~ が使用されている。 --db-path オプションには絶対パスを指定する。
database is locked エラーが発生する 他のプロセスが同時にデータベースへアクセスしている。 他のプロセスのアクセスを確認・終了する。
または、WALモードの有効化を検討する。
権限エラーが発生する データベースファイルへの読み取り・書き込み権限がない。 chmod 644 database.db 等でファイルの権限を設定する。
ツールが表示されない 設定ファイルのJSON構文が誤っている。
またはMCPクライアントが再起動されていない。
設定ファイルのJSON構文を検証して、MCPクライアントを再起動する。
Windowsでパスが認識されない パスの区切り文字が正しくない。 Windowsでは2重バックスラッシュ (C:\\Users\\name\\database.db) を使用する。