sqlite
Enables MCP clients to interact with pre-registered SQLite databases using aliases, supporting schema inspection, read-only queries, and data modification via tools.
README
SQLite MCP Server (複数DBエイリアス登録版)
SQLiteデータベースをMCP (Model Context Protocol) 経由で操作できるサーバーです。 起動時に複数のDBを「エイリアス=パス」の形で登録しておき、ツール呼び出し時にはエイリアス名で DBを選択します。実行時に任意のファイルパスを受け付けないため安全です。
機能(ツール)
list_databases— 登録されているDBのエイリアス一覧を表示list_tables— 指定DB内の全テーブル名を一覧表示describe_table— 指定テーブルのスキーマ(カラム/型/外部キー/インデックス)を取得read_query— SELECT / WITH / PRAGMA を実行(読み取り専用)write_query— INSERT / UPDATE / DELETE / DDL を実行(データ変更)
list_tables/describe_table/read_query/write_query は任意の database 引数(エイリアス名)を
受け付けます。登録DBが1つだけの場合は省略可能(自動的にそれがデフォルトになります)。
2つ以上登録している場合は毎回 database の指定が必須です。
セットアップ
npm install
起動(動作確認・デバッグ用)
以下は手動でサーバー単体を起動して動作確認する場合のコマンドです。 Claude DesktopやClaude Codeから使う場合は、この節のコマンドを毎回手動で叩く必要はありません (下記「MCPクライアントへの登録」で設定しておけば、各クライアントがこのコマンドを自動的に実行します)。
エイリアス=パス の形式で、1つ以上のDBを指定して起動します。
node index.js main=/path/to/main.db logs=/path/to/logs.db
1つだけ登録する場合(この場合は database 引数を省略できます):
node index.js main=/path/to/main.db
環境変数
| 変数名 | 説明 |
|---|---|
SQLITE_READONLY=1 |
すべての接続を読み取り専用で開く(write_query は使用不可になる) |
使用例
// 登録済みDB一覧を確認
{ "tool": "list_databases", "arguments": {} }
// "main" DBのテーブル一覧
{ "tool": "list_tables", "arguments": { "database": "main" } }
// "logs" DBに対してクエリ
{ "tool": "read_query", "arguments": { "sql": "SELECT * FROM events", "database": "logs" } }
// DBが1つしか登録されていない場合は database 省略可
{ "tool": "read_query", "arguments": { "sql": "SELECT * FROM users" } }
MCPクライアントへの登録
ここで登録するのは「起動コマンドの情報」であり、サーバー自体を起動するわけではありません。
登録しておくと、Claude DesktopやClaude Codeがセッション開始時に、登録された command/args を
使って自動的に node index.js ... を裏側で実行してくれます。手動で起動する必要はなくなります。
Claude Desktop
設定ファイルの場所:
| OS | パス |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
このファイルに以下を追加します(パスは環境に合わせて絶対パスで指定):
{
"mcpServers": {
"sqlite": {
"command": "node",
"args": [
"/絶対パス/sqlite-mcp-server/index.js",
"main=/絶対パス/main.db",
"logs=/絶対パス/logs.db"
]
}
}
}
設定後、Claude Desktopを再起動すると sqlite サーバーのツールが利用可能になります。
Claude Code(CLI / VS Code拡張)
VS Code内のターミナル、または通常のターミナルから claude コマンドで登録するのが基本です。
コマンドを実行すると、内容が設定ファイルに書き込まれます(下記参照)。
claude mcp add --transport stdio sqlite -- node /絶対パス/sqlite-mcp-server/index.js main=/絶対パス/main.db logs=/絶対パス/logs.db
--の後ろがそのままサーバー起動コマンドとして渡されます。- 読み取り専用にしたい場合は
--env SQLITE_READONLY=1を追加します:claude mcp add --transport stdio --env SQLITE_READONLY=1 sqlite -- node /絶対パス/index.js main=/絶対パス/main.db - デフォルトはローカルスコープ(自分の現在のプロジェクトのみ)。全プロジェクトで使うには
--scope user、チームで.mcp.jsonとして共有するには--scope projectを付けます。claude mcp add --transport stdio --scope user sqlite -- node /絶対パス/index.js main=/絶対パス/main.db
登録内容の確認・削除:
claude mcp list
claude mcp remove sqlite
設定ファイルを直接手動編集したい場合、スコープによって書き込み先が異なります:
| スコープ | 設定ファイルの場所 | 用途 |
|---|---|---|
user(全プロジェクト共通) |
~/.claude.json |
自分の全プロジェクトで使う |
project(チーム共有・git管理) |
プロジェクトルートの .mcp.json |
チームで共有、gitにコミットする想定 |
local(デフォルト・自分のみ) |
~/.claude.json 内のプロジェクトごとの設定(自分専用、非公開) |
自分だけ・このプロジェクトのみ |
DBのエイリアスを追加・変更したい場合、これらのファイルの該当サーバーの args 配列に
"エイリアス=/絶対パス/db.db" の形式で1項目追加すれば反映されます(JSON構文に注意)。
.mcp.json(projectスコープ)の場合は次のような形になります:
{
"mcpServers": {
"sqlite": {
"command": "node",
"args": [
"/絶対パス/sqlite-mcp-server/index.js",
"main=/絶対パス/main.db",
"logs=/絶対パス/logs.db",
"reports=/絶対パス/reports.db"
]
}
}
}
編集後は claude セッションを再起動すると反映されます。
VS CodeでClaude Codeパネルを開く(またはclaudeセッションを開始する)と、list_databasesやread_queryなどのツールが利用可能になります。
注意事項
write_queryはSQLインジェクション対策として?プレースホルダの利用を推奨します(params引数)。- テーブル名は英数字とアンダースコアのみを許可するようにバリデーションしています。
- エイリアス名は英数字・アンダースコア・ハイフンのみ使用できます。
- 各DBへの接続は初回アクセス時に開かれ、以降は使い回されます。サーバー終了時にすべてクローズされます。
- 起動時に登録したエイリアス以外のDBには一切アクセスできません(任意パスの受け付けなし)。
- 本番データベースに接続する場合は
SQLITE_READONLY=1での起動を検討してください。
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.