easy-sqlite-mcp 1.0.5 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/MANUAL.md ADDED
@@ -0,0 +1,121 @@
1
+ # easy-sqlite-mcp Manual
2
+
3
+ `easy-sqlite-mcp` 是一個用來操作 SQLite 的 MCP server,提供開啟資料庫、查詢、寫入與 schema 檢查工具。
4
+
5
+ ## Overview
6
+
7
+ 適合用在:
8
+ - 單機 SQLite 檔案操作
9
+ - 讀取資料
10
+ - 新增、更新、刪除資料
11
+ - 建表與索引管理
12
+
13
+ 不適合用在:
14
+ - 未先開啟資料庫就直接操作
15
+ - 同時維持多個資料庫連線
16
+ - 把未驗證字串直接拼接 SQL
17
+
18
+ ## When to Consult This Manual
19
+
20
+ 如果你遇到以下情況,先看這份手冊:
21
+ - 不確定 `sqlite_open`、`sqlite_query`、`sqlite_execute` 要怎麼用
22
+ - 查詢或寫入時回傳錯誤
23
+ - 不確定 `?` 或 named parameters 要怎麼綁定
24
+ - 不確定目前是不是已經開啟資料庫
25
+ - 不確定應該先查 schema 還是直接執行
26
+
27
+ ## Modes / Lifecycle
28
+
29
+ SQLite 共有兩種啟動模式:
30
+
31
+ - `Manual`: 先呼叫 `sqlite_open(path)`,使用完後再呼叫 `sqlite_close`
32
+ - `Fixed`: 啟動時已透過 `SQLITE_PATH` 連到指定檔案
33
+
34
+ 重要限制:
35
+ - 同一時間只能開啟一個資料庫
36
+ - 使用前要確認 DB 已開啟
37
+ - 使用完建議關閉
38
+
39
+ ## Tools
40
+
41
+ - `sqlite_open`: 開啟資料庫
42
+ - `sqlite_close`: 關閉資料庫
43
+ - `sqlite_status`: 查看目前連線狀態
44
+ - `sqlite_query`: 讀取資料
45
+ - `sqlite_execute`: 執行寫入或變更 SQL
46
+ - `sqlite_list_tables`: 列出資料表
47
+ - `sqlite_list_views`: 列出檢視表
48
+ - `sqlite_describe_table`: 查看欄位資訊
49
+ - `sqlite_describe_index`: 查看索引
50
+ - `sqlite_list_triggers`: 查看 trigger
51
+ - `sqlite_get_current_privileges`: 查看目前權限
52
+
53
+ ## Execute Usage
54
+
55
+ `sqlite_execute` 適合單一 SQL 指令,例如:
56
+ - `INSERT`
57
+ - `UPDATE`
58
+ - `DELETE`
59
+ - `CREATE TABLE`
60
+ - `CREATE INDEX`
61
+
62
+ 使用前請先確認:
63
+ - DB 已開啟
64
+ - 目標資料表存在
65
+ - SQL 是單一語句
66
+
67
+ 參數寫法以 `better-sqlite3` 的 binding 方式為準:
68
+ - 匿名佔位符可使用 `?`
69
+ - 命名參數可使用 `@name`、`:name`、`$name`
70
+ - 你目前的工具介面也支援用 `params` 物件傳遞命名參數
71
+ - `params` 物件的 key 不要包含 SQL 佔位符前綴;例如 SQL 使用 `:id` 時,請傳 `{ "id": 1 }`
72
+
73
+ 建議慣例:
74
+ - 需要簡單位置綁定時,用 `?`
75
+ - 需要更清楚可讀性時,用命名參數
76
+
77
+ ## SQL Algebra / Composition Rules
78
+
79
+ SQLite 的查詢組裝與一般 SQL 類似:
80
+
81
+ 1. 先選資料來源:`FROM`
82
+ 2. 再加條件:`WHERE`
83
+ 3. 需要聚合時使用 `GROUP BY`
84
+ 4. 聚合後條件放在 `HAVING`
85
+ 5. 排序使用 `ORDER BY`
86
+ 6. 最後限制筆數:`LIMIT`
87
+
88
+ SQLite 常見注意事項:
89
+ - 型別彈性較高,但不要依賴隱式轉型
90
+ - 日期時間常以字串或數字儲存,格式要統一
91
+ - `rowid` 可能有用,但不應過度依賴
92
+
93
+ ## Safety Rules
94
+
95
+ - 同一時間只允許一個 DB 連線
96
+ - 寫入前先確認目前打開的是正確檔案
97
+ - 未開啟 DB 時不要執行查詢
98
+ - 不要把未驗證字串直接拼進 SQL
99
+
100
+ ## Examples
101
+
102
+ - 開啟資料庫:
103
+ - `sqlite_open('/path/to/app.db')`
104
+ - 查詢資料:
105
+ - `SELECT * FROM users WHERE id = ?`
106
+ - 建表:
107
+ - `CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)`
108
+ - 新增資料:
109
+ - `INSERT INTO users (name) VALUES (?)`
110
+ - 使用命名參數查詢:
111
+ - `SELECT * FROM users WHERE id = :id`
112
+ - `params`: `{ "id": 1 }`
113
+ - 關閉資料庫:
114
+ - `sqlite_close()`
115
+
116
+ ## Troubleshooting
117
+
118
+ - 查詢失敗時,先確認是否已 `sqlite_open`
119
+ - 結果異常時,確認目前連的是不是正確檔案
120
+ - 欄位不存在時,先用 `sqlite_describe_table`
121
+ - 寫入沒生效時,確認是否在正確的資料庫檔案上操作
package/README.md CHANGED
@@ -1,7 +1,66 @@
1
- # Easy SQLite MCP
2
-
3
- A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server implemented in Node.js and TypeScript, designed to enable LLMs to interact directly with SQLite databases.
4
-
1
+ # easy-sqlite-mcp
2
+
3
+ A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server implemented in Node.js and TypeScript, designed to enable LLMs to interact directly with SQLite databases.
4
+
5
+ This project uses Node.js, TypeScript, the official MCP SDK, and `better-sqlite3`. It runs over stdio, so it can be used directly by MCP clients such as Claude Desktop, Codex, and OpenCode.
6
+
7
+ ## Features
8
+
9
+ - SQLite connection management for manual and fixed startup modes
10
+ - Read-only query tool for data retrieval
11
+ - Execute tool for data modification and schema statements
12
+ - Schema discovery tools for tables, views, indexes, and triggers
13
+ - Lightweight, synchronous SQLite access powered by `better-sqlite3`
14
+
15
+ `better-sqlite3` in this project requires Node.js 20 or newer.
16
+
17
+ ## Requirements
18
+
19
+ - Node.js 20 or newer
20
+ - npm
21
+ - A reachable SQLite database file
22
+
23
+ ## Installation
24
+
25
+ Run the server directly with `npx`:
26
+
27
+ ```bash
28
+ npx -y easy-sqlite-mcp
29
+ ```
30
+
31
+ For local development after cloning the repository:
32
+
33
+ ```bash
34
+ cd easy-sqlite-mcp
35
+ npm install
36
+ npm run build
37
+ ```
38
+
39
+ ## Configuration
40
+
41
+ Configure the server with environment variables in your MCP client configuration or shell environment.
42
+
43
+ | Variable | Required | Default | Description |
44
+ | --- | --- | --- | --- |
45
+ | `SQLITE_PATH` | No | - | Absolute or relative path to a SQLite database file. When set, the server starts in fixed mode |
46
+
47
+ Example shell configuration:
48
+
49
+ ```bash
50
+ SQLITE_PATH=/absolute/path/to/database.sqlite npx -y easy-sqlite-mcp
51
+ ```
52
+
53
+ In PowerShell:
54
+
55
+ ```powershell
56
+ $env:SQLITE_PATH = "C:\data\database.sqlite"
57
+ npx -y easy-sqlite-mcp
58
+ ```
59
+
60
+ The server communicates over stdio and is normally launched by an MCP client rather than run manually.
61
+
62
+ If you are unsure how a tool should be used, or an operation fails, call `sqlite_manual` first. It returns the built-in manual with safe usage rules, placeholder guidance, and lifecycle notes.
63
+
5
64
  ## Modes
6
65
 
7
66
  Easy SQLite MCP supports two startup modes. The server description is generated at startup so MCP clients and agents can clearly understand which mode is active.
@@ -54,43 +113,6 @@ Available tools in Fixed mode:
54
113
  - `sqlite_list_tables`
55
114
  - `sqlite_describe_table`
56
115
 
57
- Example:
58
-
59
- ```bash
60
- SQLITE_PATH=/data/app.sqlite npx easy-sqlite-mcp
61
- ```
62
-
63
- ## Features
64
-
65
- This server provides SQLite tools covering all requirements from connection management to data querying:
66
-
67
- 1. **Connection Management**:
68
- * `sqlite_open`: Open a specific SQLite database file path. Manual mode only.
69
- * `sqlite_close`: Close the current database connection. Manual mode only.
70
- * `sqlite_status`: Check connection status, file path, and database summary.
71
- 2. **Data Operations**:
72
- * `sqlite_query`: Execute read-only `SELECT` queries and return results in a structured format.
73
- * `sqlite_execute`: Execute write or modification operations (e.g., `INSERT`, `UPDATE`, `DELETE`, `CREATE`, `DROP`).
74
- 3. **Schema Discovery**:
75
- * `sqlite_list_tables`: List all user-defined tables in the database.
76
- * `sqlite_describe_table`: Get column information, types, and total row count for a specific table.
77
-
78
- ## Installation and Execution
79
-
80
- ### 1. Run via npx
81
- If the project is published on npm, you can start it directly using `npx` without prior installation:
82
- ```bash
83
- npx easy-sqlite-mcp
84
- ```
85
-
86
- ### 2. Local Development and Build
87
- To develop locally or build from source, follow these steps:
88
- ```bash
89
- npm install
90
- npm run build
91
- npm run dev # Watch for changes and run in development mode
92
- ```
93
-
94
116
  ## Claude Desktop Example
95
117
 
96
118
  Manual mode:
@@ -100,10 +122,7 @@ Manual mode:
100
122
  "mcpServers": {
101
123
  "easy-sqlite-mcp": {
102
124
  "command": "npx",
103
- "args": [
104
- "-y",
105
- "easy-sqlite-mcp"
106
- ]
125
+ "args": ["-y", "easy-sqlite-mcp"]
107
126
  }
108
127
  }
109
128
  }
@@ -116,10 +135,7 @@ Fixed mode example:
116
135
  "mcpServers": {
117
136
  "easy-sqlite-mcp": {
118
137
  "command": "npx",
119
- "args": [
120
- "-y",
121
- "easy-sqlite-mcp"
122
- ],
138
+ "args": ["-y", "easy-sqlite-mcp"],
123
139
  "env": {
124
140
  "SQLITE_PATH": "/absolute/path/to/database.sqlite"
125
141
  }
@@ -128,11 +144,13 @@ Fixed mode example:
128
144
  }
129
145
  ```
130
146
 
147
+ Restart Claude Desktop after updating the configuration.
148
+
131
149
  ## Codex config.toml Example
132
150
 
133
151
  Manual mode:
134
152
 
135
- ```
153
+ ```toml
136
154
  [mcp_servers.easy-sqlite-mcp]
137
155
  args = ["-y", "easy-sqlite-mcp"]
138
156
  command = "npx"
@@ -141,7 +159,7 @@ enabled = true
141
159
 
142
160
  Fixed mode example:
143
161
 
144
- ```
162
+ ```toml
145
163
  [mcp_servers.easy-sqlite-mcp]
146
164
  args = ["-y", "easy-sqlite-mcp"]
147
165
  command = "npx"
@@ -155,22 +173,22 @@ SQLITE_PATH = "/absolute/path/to/database.sqlite"
155
173
 
156
174
  Manual mode:
157
175
 
158
- ```json
176
+ ```jsonc
159
177
  {
160
178
  "$schema": "https://opencode.ai/config.json",
161
179
  "mcp": {
162
180
  "easy-sqlite-mcp": {
163
181
  "type": "local",
164
182
  "command": ["npx", "-y", "easy-sqlite-mcp"],
165
- "enabled": true,
166
- },
167
- },
183
+ "enabled": true
184
+ }
185
+ }
168
186
  }
169
187
  ```
170
188
 
171
189
  Fixed mode example:
172
190
 
173
- ```json
191
+ ```jsonc
174
192
  {
175
193
  "$schema": "https://opencode.ai/config.json",
176
194
  "mcp": {
@@ -180,18 +198,40 @@ Fixed mode example:
180
198
  "enabled": true,
181
199
  "environment": {
182
200
  "SQLITE_PATH": "/absolute/path/to/database.sqlite"
183
- },
184
- },
185
- },
201
+ }
202
+ }
203
+ }
186
204
  }
187
205
  ```
188
206
 
189
- ## Tech Stack
190
- - **Runtime**: Node.js (>= 18)
191
- - **Language**: TypeScript
192
- - **SDK**: @modelcontextprotocol/sdk
193
- - **Database**: better-sqlite3 (High performance with support for synchronous operations)
194
- - **Validation**: Zod (Strict parameter validation)
195
-
196
- ---
197
- Developed with the assistance of Antigravity.
207
+ ## Available Tools
208
+
209
+ | Tool | Description |
210
+ | --- | --- |
211
+ | `sqlite_manual` | Return the built-in manual. Use this first when you are unsure how to use SQLite tools or need help diagnosing an operation error |
212
+ | `sqlite_open` | Open a SQLite database file. Manual mode only |
213
+ | `sqlite_close` | Close the current database connection. Manual mode only |
214
+ | `sqlite_status` | Return connection status and current database summary |
215
+ | `sqlite_query` | Execute a read-only `SELECT` query |
216
+ | `sqlite_execute` | Execute a write or modification SQL statement |
217
+ | `sqlite_list_tables` | List all user tables in the database |
218
+ | `sqlite_describe_table` | Describe the schema of a table |
219
+
220
+ ## Manual Mode Notes
221
+
222
+ - Use `sqlite_open(path)` before calling query or execute tools.
223
+ - Use `sqlite_close` when finished.
224
+ - Only one database file can be open at a time.
225
+ - Use `sqlite_manual` when you need lifecycle or placeholder guidance.
226
+
227
+ ## Development
228
+
229
+ ```bash
230
+ npm run build
231
+ npm run dev
232
+ npm test
233
+ ```
234
+
235
+ ## License
236
+
237
+ MIT. See [LICENSE.md](LICENSE.md).
@@ -0,0 +1,237 @@
1
+ # easy-sqlite-mcp
2
+
3
+ 一個以 Node.js 與 TypeScript 實作的 [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server,讓 LLM 可以直接操作 SQLite 資料庫。
4
+
5
+ 本專案使用 Node.js、TypeScript、官方 MCP SDK,以及 `better-sqlite3`。它透過 stdio 執行,因此可以直接被 Claude Desktop、Codex、OpenCode 等 MCP client 使用。
6
+
7
+ ## 功能
8
+
9
+ - 支援 manual 與 fixed 兩種啟動模式
10
+ - 用於資料讀取的唯讀查詢工具
11
+ - 用於資料修改與 schema statement 的執行工具
12
+ - tables、views、indexes、triggers 的 schema discovery tools
13
+ - 使用同步式 `better-sqlite3` 存取 SQLite
14
+
15
+ 本專案使用的 `better-sqlite3` 需要 Node.js 20 或更新版本。
16
+
17
+ ## 需求
18
+
19
+ - Node.js 20 或更新版本
20
+ - npm
21
+ - 可連線的 SQLite database file
22
+
23
+ ## 安裝
24
+
25
+ 直接使用 `npx` 啟動:
26
+
27
+ ```bash
28
+ npx -y easy-sqlite-mcp
29
+ ```
30
+
31
+ 本機開發:
32
+
33
+ ```bash
34
+ cd easy-sqlite-mcp
35
+ npm install
36
+ npm run build
37
+ ```
38
+
39
+ ## 設定
40
+
41
+ 你可以透過 MCP client configuration 或 shell environment variables 設定。
42
+
43
+ | 變數 | 必填 | 預設值 | 說明 |
44
+ | --- | --- | --- | --- |
45
+ | `SQLITE_PATH` | 否 | - | SQLite database file 的路徑。設定後會進入 fixed mode |
46
+
47
+ Shell 設定範例:
48
+
49
+ ```bash
50
+ SQLITE_PATH=/absolute/path/to/database.sqlite npx -y easy-sqlite-mcp
51
+ ```
52
+
53
+ PowerShell 設定範例:
54
+
55
+ ```powershell
56
+ $env:SQLITE_PATH = "C:\\data\\database.sqlite"
57
+ npx -y easy-sqlite-mcp
58
+ ```
59
+
60
+ 此 server 透過 stdio 通訊,通常會由 MCP client 啟動,而不是手動直接執行。
61
+
62
+ 如果你不確定某個工具該怎麼用,或操作失敗,請先呼叫 `sqlite_manual`。它會回傳內建手冊,包含安全使用規則、placeholder 指引,以及生命週期說明。
63
+
64
+ ## 模式
65
+
66
+ Easy SQLite MCP 支援兩種啟動模式,server description 會在啟動時產生,讓 MCP client 與 agent 清楚知道目前模式。
67
+
68
+ ### Manual Mode
69
+
70
+ 未設定 `SQLITE_PATH` 時,會使用 manual mode。
71
+
72
+ 在這個模式下,agent 必須手動開啟與關閉資料庫:
73
+
74
+ 1. 先呼叫 `sqlite_open(path)`。
75
+ 2. 使用 query、execute 與 schema discovery tools。
76
+ 3. 完成後呼叫 `sqlite_close`。
77
+
78
+ 同一時間只能開啟一個 SQLite database file。若再開啟其他檔案,會先關閉前一個連線。
79
+
80
+ Server description:
81
+
82
+ ```text
83
+ Manual: This is a SQLite tool. Before using it, call sqlite_open(path) to open a database file. After use, call sqlite_close to close it. Only one database file can be open at a time.
84
+ ```
85
+
86
+ Manual mode 可用工具:
87
+
88
+ - `sqlite_open`
89
+ - `sqlite_close`
90
+ - `sqlite_status`
91
+ - `sqlite_query`
92
+ - `sqlite_execute`
93
+ - `sqlite_list_tables`
94
+ - `sqlite_describe_table`
95
+
96
+ ### Fixed Mode
97
+
98
+ 設定 `SQLITE_PATH` 時,會使用 fixed mode。
99
+
100
+ 在這個模式下,server 會在啟動時自動開啟指定的 SQLite database。agent 不需要再呼叫 `sqlite_open`,也不能切換連線。
101
+
102
+ Server description:
103
+
104
+ ```text
105
+ Fixed: This is a SQLite tool connected to Path:<SQLITE_PATH>
106
+ ```
107
+
108
+ Fixed mode 可用工具:
109
+
110
+ - `sqlite_status`
111
+ - `sqlite_query`
112
+ - `sqlite_execute`
113
+ - `sqlite_list_tables`
114
+ - `sqlite_describe_table`
115
+
116
+ ## Claude Desktop 範例
117
+
118
+ Manual mode:
119
+
120
+ ```json
121
+ {
122
+ "mcpServers": {
123
+ "easy-sqlite-mcp": {
124
+ "command": "npx",
125
+ "args": ["-y", "easy-sqlite-mcp"]
126
+ }
127
+ }
128
+ }
129
+ ```
130
+
131
+ Fixed mode:
132
+
133
+ ```json
134
+ {
135
+ "mcpServers": {
136
+ "easy-sqlite-mcp": {
137
+ "command": "npx",
138
+ "args": ["-y", "easy-sqlite-mcp"],
139
+ "env": {
140
+ "SQLITE_PATH": "/absolute/path/to/database.sqlite"
141
+ }
142
+ }
143
+ }
144
+ }
145
+ ```
146
+
147
+ 更新設定後,請重新啟動 Claude Desktop。
148
+
149
+ ## Codex config.toml 範例
150
+
151
+ Manual mode:
152
+
153
+ ```toml
154
+ [mcp_servers.easy-sqlite-mcp]
155
+ args = ["-y", "easy-sqlite-mcp"]
156
+ command = "npx"
157
+ enabled = true
158
+ ```
159
+
160
+ Fixed mode:
161
+
162
+ ```toml
163
+ [mcp_servers.easy-sqlite-mcp]
164
+ args = ["-y", "easy-sqlite-mcp"]
165
+ command = "npx"
166
+ enabled = true
167
+
168
+ [mcp_servers.easy-sqlite-mcp.env]
169
+ SQLITE_PATH = "/absolute/path/to/database.sqlite"
170
+ ```
171
+
172
+ ## OpenCode opencode.jsonc 範例
173
+
174
+ Manual mode:
175
+
176
+ ```jsonc
177
+ {
178
+ "$schema": "https://opencode.ai/config.json",
179
+ "mcp": {
180
+ "easy-sqlite-mcp": {
181
+ "type": "local",
182
+ "command": ["npx", "-y", "easy-sqlite-mcp"],
183
+ "enabled": true
184
+ }
185
+ }
186
+ }
187
+ ```
188
+
189
+ Fixed mode:
190
+
191
+ ```jsonc
192
+ {
193
+ "$schema": "https://opencode.ai/config.json",
194
+ "mcp": {
195
+ "easy-sqlite-mcp": {
196
+ "type": "local",
197
+ "command": ["npx", "-y", "easy-sqlite-mcp"],
198
+ "enabled": true,
199
+ "environment": {
200
+ "SQLITE_PATH": "/absolute/path/to/database.sqlite"
201
+ }
202
+ }
203
+ }
204
+ }
205
+ ```
206
+
207
+ ## 可用工具
208
+
209
+ | 工具 | 說明 |
210
+ | --- | --- |
211
+ | `sqlite_manual` | 回傳內建手冊。當你不確定如何使用 SQLite 工具,或需要排查操作錯誤時,請先查這個工具 |
212
+ | `sqlite_open` | 開啟 SQLite database file,僅 manual mode 可用 |
213
+ | `sqlite_close` | 關閉目前資料庫連線,僅 manual mode 可用 |
214
+ | `sqlite_status` | 回傳目前連線狀態與資料庫摘要 |
215
+ | `sqlite_query` | 執行唯讀 `SELECT` query |
216
+ | `sqlite_execute` | 執行寫入或修改 SQL statement |
217
+ | `sqlite_list_tables` | 列出 database 中所有 user tables |
218
+ | `sqlite_describe_table` | 顯示 table 的 schema |
219
+
220
+ ## Manual Mode 注意事項
221
+
222
+ - 使用 query 或 execute 工具前,請先呼叫 `sqlite_open(path)`。
223
+ - 使用完畢後請呼叫 `sqlite_close`。
224
+ - 同一時間只能開啟一個 database file。
225
+ - 若需要生命週期或 placeholder 指引,請先查 `sqlite_manual`。
226
+
227
+ ## 開發
228
+
229
+ ```bash
230
+ npm run build
231
+ npm run dev
232
+ npm test
233
+ ```
234
+
235
+ ## 授權
236
+
237
+ MIT。請參閱 [LICENSE.md](LICENSE.md)。
package/dist/index.js CHANGED
@@ -6,8 +6,11 @@
6
6
  * the Model Context Protocol (MCP). It supports opening/closing databases,
7
7
  * querying, executing statements, listing tables, and describing schemas.
8
8
  */
9
+ import { readFileSync } from "node:fs";
10
+ import { fileURLToPath } from "node:url";
9
11
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
10
12
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
13
+ import { z } from "zod";
11
14
  import { registerSqliteTools } from "./tools/sqlite.js";
12
15
  const sqlitePath = process.env.SQLITE_PATH?.trim();
13
16
  // Create MCP server instance
@@ -18,8 +21,17 @@ const server = new McpServer({
18
21
  ? `Fixed: This is a SQLite tool connected to Path:${sqlitePath}`
19
22
  : "Manual: This is a SQLite tool. Before using it, call sqlite_open(path) to open a database file. After use, call sqlite_close to close it. Only one database file can be open at a time.",
20
23
  });
24
+ const manualText = readFileSync(fileURLToPath(new URL("../MANUAL.md", import.meta.url)), "utf8");
21
25
  // Register all SQLite tools
22
26
  registerSqliteTools(server, { fixedDatabasePath: sqlitePath });
27
+ server.registerTool("sqlite_manual", {
28
+ title: "SQLite Manual",
29
+ description: "Return the SQLite MCP manual. Use this first when you are unsure how to use sqlite_open, sqlite_query, sqlite_execute, or when an operation fails and you need the safe usage rules, placeholder rules, or database lifecycle guidance.",
30
+ inputSchema: z.object({}),
31
+ }, async () => ({
32
+ content: [{ type: "text", text: manualText }],
33
+ structuredContent: { manual: manualText },
34
+ }));
23
35
  // Start the server with stdio transport
24
36
  async function main() {
25
37
  const transport = new StdioServerTransport();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;AAEnD,6BAA6B;AAC7B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,UAAU;QACrB,CAAC,CAAC,kDAAkD,UAAU,EAAE;QAChE,CAAC,CAAC,yLAAyL;CAC9L,CAAC,CAAC;AAEH,4BAA4B;AAC5B,mBAAmB,CAAC,MAAM,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC,CAAC;AAE/D,wCAAwC;AACxC,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;AACvD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;AAEnD,6BAA6B;AAC7B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,UAAU;QACrB,CAAC,CAAC,kDAAkD,UAAU,EAAE;QAChE,CAAC,CAAC,yLAAyL;CAC9L,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,cAAc,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAEjG,4BAA4B;AAC5B,mBAAmB,CAAC,MAAM,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC,CAAC;AAE/D,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;IACE,KAAK,EAAE,eAAe;IACtB,WAAW,EAAE,yOAAyO;IACtP,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;CAC1B,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC7C,iBAAiB,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;CAC1C,CAAC,CACH,CAAC;AAEF,wCAAwC;AACxC,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;AACvD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-manager.d.ts","sourceRoot":"","sources":["../../src/services/sqlite-manager.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,EAAE,CAAkC;IAC5C,OAAO,CAAC,QAAQ,CAAuB;IAEvC;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAqB7D;;OAEG;IACH,KAAK,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAmB9C;;OAEG;IACH,MAAM,IAAI;QACR,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB;IAyBD;;OAEG;IACH,KAAK,CACH,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAkB7D;;OAEG;IACH,OAAO,CACL,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;IAYxD;;OAEG;IACH,UAAU,IAAI;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IAUlC;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG;QAChC,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE;YACP,GAAG,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,OAAO,CAAC;YACjB,YAAY,EAAE,OAAO,CAAC;YACtB,EAAE,EAAE,OAAO,CAAC;SACb,EAAE,CAAC;QACJ,QAAQ,EAAE,MAAM,CAAC;KAClB;IAoCD;;OAEG;IACH,OAAO,CAAC,UAAU;CAOnB"}
1
+ {"version":3,"file":"sqlite-manager.d.ts","sourceRoot":"","sources":["../../src/services/sqlite-manager.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,EAAE,CAAkC;IAC5C,OAAO,CAAC,QAAQ,CAAuB;IAEvC;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAmB5D;IAED;;OAEG;IACH,KAAK,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAiB7C;IAED;;OAEG;IACH,MAAM,IAAI;QACR,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,CAuBA;IAED;;OAEG;IACH,KAAK,CACH,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAgB5D;IAED;;OAEG;IACH,OAAO,CACL,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAUvD;IAED;;OAEG;IACH,UAAU,IAAI;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAQjC;IAED;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG;QAChC,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE;YACP,GAAG,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,OAAO,CAAC;YACjB,YAAY,EAAE,OAAO,CAAC;YACtB,EAAE,EAAE,OAAO,CAAC;SACb,EAAE,CAAC;QACJ,QAAQ,EAAE,MAAM,CAAC;KAClB,CAkCA;IAED;;OAEG;IACH,OAAO,CAAC,UAAU;CAOnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/tools/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,MAAM,MAAM,0BAA0B,GAAG;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,OAAO,GAAE,0BAA+B,GACvC,IAAI,CA8SN"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/tools/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,MAAM,MAAM,0BAA0B,GAAG;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,OAAO,GAAE,0BAA+B,GACvC,IAAI,CAkTN"}
@@ -104,9 +104,11 @@ Returns:
104
104
  title: "Query SQLite Database",
105
105
  description: `Execute a read-only SQL query (SELECT) on the currently open database.
106
106
 
107
- Args:
108
- - sql (string): The SQL SELECT statement to execute.
109
- - params (object, optional): Named parameters for the query (e.g. { ":id": 1 }).
107
+ Args:
108
+ - sql (string): The SQL SELECT statement to execute.
109
+ - params (object, optional): Named parameters for the query. Use placeholder
110
+ names without the SQL prefix in the params object, e.g. SQL ":id" uses
111
+ params { "id": 1 }.
110
112
 
111
113
  Returns:
112
114
  { "columns": string[], "rows": unknown[][], "rowCount": number }
@@ -151,9 +153,11 @@ Error Handling:
151
153
  title: "Execute SQL Statement",
152
154
  description: `Execute a write SQL statement (INSERT, UPDATE, DELETE, CREATE, DROP, ALTER) on the currently open database.
153
155
 
154
- Args:
155
- - sql (string): The SQL statement to execute.
156
- - params (object, optional): Named parameters for the statement.
156
+ Args:
157
+ - sql (string): The SQL statement to execute.
158
+ - params (object, optional): Named parameters for the statement. Use
159
+ placeholder names without the SQL prefix in the params object, e.g. SQL
160
+ ":id" uses params { "id": 1 }.
157
161
 
158
162
  Returns:
159
163
  { "changes": number, "lastInsertRowid": number }
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/tools/sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/tools/sqlite.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "easy-sqlite-mcp",
3
- "version": "1.0.5",
3
+ "version": "1.1.2",
4
4
  "description": "A high-performance Model Context Protocol (MCP) server for SQLite database interaction.",
5
5
  "keywords": [
6
6
  "mcp",
@@ -22,7 +22,9 @@
22
22
  "files": [
23
23
  "dist",
24
24
  "skills",
25
- "README.md"
25
+ "README.md",
26
+ "README.zh-TW.md",
27
+ "MANUAL.md"
26
28
  ],
27
29
  "type": "module",
28
30
  "main": "dist/index.js",
@@ -33,20 +35,21 @@
33
35
  "start": "node dist/index.js",
34
36
  "dev": "tsx watch src/index.ts",
35
37
  "build": "tsc",
38
+ "test": "npm run build && node --test test/*.test.mjs",
36
39
  "clean": "rimraf dist"
37
40
  },
38
41
  "engines": {
39
- "node": ">=18"
42
+ "node": ">=20"
40
43
  },
41
44
  "dependencies": {
42
45
  "@modelcontextprotocol/sdk": "^1.29.0",
43
- "better-sqlite3": "^12.10.0",
46
+ "better-sqlite3": "^12.11.1",
44
47
  "zod": "^4.4.3"
45
48
  },
46
49
  "devDependencies": {
47
50
  "@types/better-sqlite3": "^7.6.13",
48
- "@types/node": "^25.9.1",
49
- "tsx": "^4.22.3",
50
- "typescript": "^6.0.3"
51
+ "@types/node": "^26.1.1",
52
+ "tsx": "^4.23.1",
53
+ "typescript": "^7.0.2"
51
54
  }
52
55
  }