db-mcp 1.0.1

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.
Files changed (208) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +860 -0
  3. package/dist/adapters/DatabaseAdapter.d.ts +141 -0
  4. package/dist/adapters/DatabaseAdapter.d.ts.map +1 -0
  5. package/dist/adapters/DatabaseAdapter.js +131 -0
  6. package/dist/adapters/DatabaseAdapter.js.map +1 -0
  7. package/dist/adapters/sqlite/SchemaManager.d.ts +58 -0
  8. package/dist/adapters/sqlite/SchemaManager.d.ts.map +1 -0
  9. package/dist/adapters/sqlite/SchemaManager.js +187 -0
  10. package/dist/adapters/sqlite/SchemaManager.js.map +1 -0
  11. package/dist/adapters/sqlite/SqliteAdapter.d.ts +161 -0
  12. package/dist/adapters/sqlite/SqliteAdapter.d.ts.map +1 -0
  13. package/dist/adapters/sqlite/SqliteAdapter.js +741 -0
  14. package/dist/adapters/sqlite/SqliteAdapter.js.map +1 -0
  15. package/dist/adapters/sqlite/index.d.ts +9 -0
  16. package/dist/adapters/sqlite/index.d.ts.map +1 -0
  17. package/dist/adapters/sqlite/index.js +8 -0
  18. package/dist/adapters/sqlite/index.js.map +1 -0
  19. package/dist/adapters/sqlite/json-utils.d.ts +100 -0
  20. package/dist/adapters/sqlite/json-utils.d.ts.map +1 -0
  21. package/dist/adapters/sqlite/json-utils.js +274 -0
  22. package/dist/adapters/sqlite/json-utils.js.map +1 -0
  23. package/dist/adapters/sqlite/output-schemas.d.ts +1187 -0
  24. package/dist/adapters/sqlite/output-schemas.d.ts.map +1 -0
  25. package/dist/adapters/sqlite/output-schemas.js +1337 -0
  26. package/dist/adapters/sqlite/output-schemas.js.map +1 -0
  27. package/dist/adapters/sqlite/prompts.d.ts +13 -0
  28. package/dist/adapters/sqlite/prompts.d.ts.map +1 -0
  29. package/dist/adapters/sqlite/prompts.js +605 -0
  30. package/dist/adapters/sqlite/prompts.js.map +1 -0
  31. package/dist/adapters/sqlite/resources.d.ts +13 -0
  32. package/dist/adapters/sqlite/resources.d.ts.map +1 -0
  33. package/dist/adapters/sqlite/resources.js +251 -0
  34. package/dist/adapters/sqlite/resources.js.map +1 -0
  35. package/dist/adapters/sqlite/tools/admin.d.ts +14 -0
  36. package/dist/adapters/sqlite/tools/admin.d.ts.map +1 -0
  37. package/dist/adapters/sqlite/tools/admin.js +788 -0
  38. package/dist/adapters/sqlite/tools/admin.js.map +1 -0
  39. package/dist/adapters/sqlite/tools/core.d.ts +25 -0
  40. package/dist/adapters/sqlite/tools/core.d.ts.map +1 -0
  41. package/dist/adapters/sqlite/tools/core.js +359 -0
  42. package/dist/adapters/sqlite/tools/core.js.map +1 -0
  43. package/dist/adapters/sqlite/tools/fts.d.ts +13 -0
  44. package/dist/adapters/sqlite/tools/fts.d.ts.map +1 -0
  45. package/dist/adapters/sqlite/tools/fts.js +347 -0
  46. package/dist/adapters/sqlite/tools/fts.js.map +1 -0
  47. package/dist/adapters/sqlite/tools/geo.d.ts +14 -0
  48. package/dist/adapters/sqlite/tools/geo.d.ts.map +1 -0
  49. package/dist/adapters/sqlite/tools/geo.js +252 -0
  50. package/dist/adapters/sqlite/tools/geo.js.map +1 -0
  51. package/dist/adapters/sqlite/tools/index.d.ts +30 -0
  52. package/dist/adapters/sqlite/tools/index.d.ts.map +1 -0
  53. package/dist/adapters/sqlite/tools/index.js +61 -0
  54. package/dist/adapters/sqlite/tools/index.js.map +1 -0
  55. package/dist/adapters/sqlite/tools/json-helpers.d.ts +14 -0
  56. package/dist/adapters/sqlite/tools/json-helpers.d.ts.map +1 -0
  57. package/dist/adapters/sqlite/tools/json-helpers.js +477 -0
  58. package/dist/adapters/sqlite/tools/json-helpers.js.map +1 -0
  59. package/dist/adapters/sqlite/tools/json-operations.d.ts +14 -0
  60. package/dist/adapters/sqlite/tools/json-operations.d.ts.map +1 -0
  61. package/dist/adapters/sqlite/tools/json-operations.js +839 -0
  62. package/dist/adapters/sqlite/tools/json-operations.js.map +1 -0
  63. package/dist/adapters/sqlite/tools/stats.d.ts +15 -0
  64. package/dist/adapters/sqlite/tools/stats.d.ts.map +1 -0
  65. package/dist/adapters/sqlite/tools/stats.js +1219 -0
  66. package/dist/adapters/sqlite/tools/stats.js.map +1 -0
  67. package/dist/adapters/sqlite/tools/text.d.ts +14 -0
  68. package/dist/adapters/sqlite/tools/text.d.ts.map +1 -0
  69. package/dist/adapters/sqlite/tools/text.js +1141 -0
  70. package/dist/adapters/sqlite/tools/text.js.map +1 -0
  71. package/dist/adapters/sqlite/tools/vector.d.ts +14 -0
  72. package/dist/adapters/sqlite/tools/vector.d.ts.map +1 -0
  73. package/dist/adapters/sqlite/tools/vector.js +613 -0
  74. package/dist/adapters/sqlite/tools/vector.js.map +1 -0
  75. package/dist/adapters/sqlite/tools/virtual.d.ts +13 -0
  76. package/dist/adapters/sqlite/tools/virtual.d.ts.map +1 -0
  77. package/dist/adapters/sqlite/tools/virtual.js +930 -0
  78. package/dist/adapters/sqlite/tools/virtual.js.map +1 -0
  79. package/dist/adapters/sqlite/types.d.ts +207 -0
  80. package/dist/adapters/sqlite/types.d.ts.map +1 -0
  81. package/dist/adapters/sqlite/types.js +186 -0
  82. package/dist/adapters/sqlite/types.js.map +1 -0
  83. package/dist/adapters/sqlite-native/NativeSqliteAdapter.d.ts +163 -0
  84. package/dist/adapters/sqlite-native/NativeSqliteAdapter.d.ts.map +1 -0
  85. package/dist/adapters/sqlite-native/NativeSqliteAdapter.js +748 -0
  86. package/dist/adapters/sqlite-native/NativeSqliteAdapter.js.map +1 -0
  87. package/dist/adapters/sqlite-native/index.d.ts +11 -0
  88. package/dist/adapters/sqlite-native/index.d.ts.map +1 -0
  89. package/dist/adapters/sqlite-native/index.js +11 -0
  90. package/dist/adapters/sqlite-native/index.js.map +1 -0
  91. package/dist/adapters/sqlite-native/tools/spatialite.d.ts +19 -0
  92. package/dist/adapters/sqlite-native/tools/spatialite.d.ts.map +1 -0
  93. package/dist/adapters/sqlite-native/tools/spatialite.js +628 -0
  94. package/dist/adapters/sqlite-native/tools/spatialite.js.map +1 -0
  95. package/dist/adapters/sqlite-native/tools/transactions.d.ts +12 -0
  96. package/dist/adapters/sqlite-native/tools/transactions.d.ts.map +1 -0
  97. package/dist/adapters/sqlite-native/tools/transactions.js +255 -0
  98. package/dist/adapters/sqlite-native/tools/transactions.js.map +1 -0
  99. package/dist/adapters/sqlite-native/tools/window.d.ts +12 -0
  100. package/dist/adapters/sqlite-native/tools/window.d.ts.map +1 -0
  101. package/dist/adapters/sqlite-native/tools/window.js +370 -0
  102. package/dist/adapters/sqlite-native/tools/window.js.map +1 -0
  103. package/dist/auth/AuthorizationServerDiscovery.d.ts +90 -0
  104. package/dist/auth/AuthorizationServerDiscovery.d.ts.map +1 -0
  105. package/dist/auth/AuthorizationServerDiscovery.js +204 -0
  106. package/dist/auth/AuthorizationServerDiscovery.js.map +1 -0
  107. package/dist/auth/OAuthResourceServer.d.ts +65 -0
  108. package/dist/auth/OAuthResourceServer.d.ts.map +1 -0
  109. package/dist/auth/OAuthResourceServer.js +121 -0
  110. package/dist/auth/OAuthResourceServer.js.map +1 -0
  111. package/dist/auth/TokenValidator.d.ts +60 -0
  112. package/dist/auth/TokenValidator.d.ts.map +1 -0
  113. package/dist/auth/TokenValidator.js +235 -0
  114. package/dist/auth/TokenValidator.js.map +1 -0
  115. package/dist/auth/errors.d.ts +74 -0
  116. package/dist/auth/errors.d.ts.map +1 -0
  117. package/dist/auth/errors.js +133 -0
  118. package/dist/auth/errors.js.map +1 -0
  119. package/dist/auth/index.d.ts +13 -0
  120. package/dist/auth/index.d.ts.map +1 -0
  121. package/dist/auth/index.js +15 -0
  122. package/dist/auth/index.js.map +1 -0
  123. package/dist/auth/middleware.d.ts +81 -0
  124. package/dist/auth/middleware.d.ts.map +1 -0
  125. package/dist/auth/middleware.js +291 -0
  126. package/dist/auth/middleware.js.map +1 -0
  127. package/dist/auth/scopes.d.ts +136 -0
  128. package/dist/auth/scopes.d.ts.map +1 -0
  129. package/dist/auth/scopes.js +349 -0
  130. package/dist/auth/scopes.js.map +1 -0
  131. package/dist/auth/types.d.ts +257 -0
  132. package/dist/auth/types.d.ts.map +1 -0
  133. package/dist/auth/types.js +8 -0
  134. package/dist/auth/types.js.map +1 -0
  135. package/dist/cli.d.ts +8 -0
  136. package/dist/cli.d.ts.map +1 -0
  137. package/dist/cli.js +236 -0
  138. package/dist/cli.js.map +1 -0
  139. package/dist/constants/ServerInstructions.d.ts +45 -0
  140. package/dist/constants/ServerInstructions.d.ts.map +1 -0
  141. package/dist/constants/ServerInstructions.js +356 -0
  142. package/dist/constants/ServerInstructions.js.map +1 -0
  143. package/dist/filtering/ToolConstants.d.ts +34 -0
  144. package/dist/filtering/ToolConstants.d.ts.map +1 -0
  145. package/dist/filtering/ToolConstants.js +174 -0
  146. package/dist/filtering/ToolConstants.js.map +1 -0
  147. package/dist/filtering/ToolFilter.d.ts +82 -0
  148. package/dist/filtering/ToolFilter.d.ts.map +1 -0
  149. package/dist/filtering/ToolFilter.js +296 -0
  150. package/dist/filtering/ToolFilter.js.map +1 -0
  151. package/dist/index.d.ts +13 -0
  152. package/dist/index.d.ts.map +1 -0
  153. package/dist/index.js +17 -0
  154. package/dist/index.js.map +1 -0
  155. package/dist/server/McpServer.d.ts +61 -0
  156. package/dist/server/McpServer.d.ts.map +1 -0
  157. package/dist/server/McpServer.js +270 -0
  158. package/dist/server/McpServer.js.map +1 -0
  159. package/dist/transports/http.d.ts +134 -0
  160. package/dist/transports/http.d.ts.map +1 -0
  161. package/dist/transports/http.js +516 -0
  162. package/dist/transports/http.js.map +1 -0
  163. package/dist/transports/index.d.ts +5 -0
  164. package/dist/transports/index.d.ts.map +1 -0
  165. package/dist/transports/index.js +5 -0
  166. package/dist/transports/index.js.map +1 -0
  167. package/dist/types/index.d.ts +380 -0
  168. package/dist/types/index.d.ts.map +1 -0
  169. package/dist/types/index.js +68 -0
  170. package/dist/types/index.js.map +1 -0
  171. package/dist/utils/annotations.d.ts +44 -0
  172. package/dist/utils/annotations.d.ts.map +1 -0
  173. package/dist/utils/annotations.js +77 -0
  174. package/dist/utils/annotations.js.map +1 -0
  175. package/dist/utils/errors.d.ts +155 -0
  176. package/dist/utils/errors.d.ts.map +1 -0
  177. package/dist/utils/errors.js +329 -0
  178. package/dist/utils/errors.js.map +1 -0
  179. package/dist/utils/identifiers.d.ts +121 -0
  180. package/dist/utils/identifiers.d.ts.map +1 -0
  181. package/dist/utils/identifiers.js +319 -0
  182. package/dist/utils/identifiers.js.map +1 -0
  183. package/dist/utils/index.d.ts +7 -0
  184. package/dist/utils/index.d.ts.map +1 -0
  185. package/dist/utils/index.js +7 -0
  186. package/dist/utils/index.js.map +1 -0
  187. package/dist/utils/insightsManager.d.ts +39 -0
  188. package/dist/utils/insightsManager.d.ts.map +1 -0
  189. package/dist/utils/insightsManager.js +63 -0
  190. package/dist/utils/insightsManager.js.map +1 -0
  191. package/dist/utils/logger.d.ts +189 -0
  192. package/dist/utils/logger.d.ts.map +1 -0
  193. package/dist/utils/logger.js +394 -0
  194. package/dist/utils/logger.js.map +1 -0
  195. package/dist/utils/progress-utils.d.ts +54 -0
  196. package/dist/utils/progress-utils.d.ts.map +1 -0
  197. package/dist/utils/progress-utils.js +74 -0
  198. package/dist/utils/progress-utils.js.map +1 -0
  199. package/dist/utils/resourceAnnotations.d.ts +36 -0
  200. package/dist/utils/resourceAnnotations.d.ts.map +1 -0
  201. package/dist/utils/resourceAnnotations.js +57 -0
  202. package/dist/utils/resourceAnnotations.js.map +1 -0
  203. package/dist/utils/where-clause.d.ts +41 -0
  204. package/dist/utils/where-clause.d.ts.map +1 -0
  205. package/dist/utils/where-clause.js +116 -0
  206. package/dist/utils/where-clause.js.map +1 -0
  207. package/package.json +83 -0
  208. package/server.json +53 -0
@@ -0,0 +1,161 @@
1
+ /**
2
+ * SQLite Adapter
3
+ *
4
+ * MCP adapter for SQLite databases using sql.js (WebAssembly).
5
+ * Provides 73 tools for database operations, JSON, text processing,
6
+ * statistics, vector search, and geospatial features.
7
+ */
8
+ import { type Database } from "sql.js";
9
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
10
+ import { DatabaseAdapter } from "../DatabaseAdapter.js";
11
+ import type { DatabaseConfig, QueryResult, SchemaInfo, TableInfo, IndexInfo, HealthStatus, AdapterCapabilities, ToolDefinition, ResourceDefinition, PromptDefinition, ToolGroup } from "../../types/index.js";
12
+ import type { SqliteConfig } from "./types.js";
13
+ /**
14
+ * SQLite Database Adapter
15
+ *
16
+ * Implements the DatabaseAdapter interface for SQLite using sql.js.
17
+ * Supports file-based and in-memory databases.
18
+ */
19
+ export declare class SqliteAdapter extends DatabaseAdapter {
20
+ readonly type: "sqlite";
21
+ readonly name = "SQLite Adapter";
22
+ readonly version = "1.0.0";
23
+ /**
24
+ * Check if this adapter uses native (better-sqlite3) backend.
25
+ * Returns false for WASM/sql.js adapter.
26
+ */
27
+ isNativeBackend(): boolean;
28
+ /**
29
+ * Get the configured database file path.
30
+ * Returns the user-configured path, not internal WASM virtual filesystem paths.
31
+ */
32
+ getConfiguredPath(): string;
33
+ private db;
34
+ protected config: SqliteConfig | null;
35
+ private sqlJsInstance;
36
+ private schemaManager;
37
+ /**
38
+ * Connect to a SQLite database
39
+ */
40
+ connect(config: DatabaseConfig): Promise<void>;
41
+ /**
42
+ * Apply SQLite PRAGMA options
43
+ */
44
+ private applyOptions;
45
+ /**
46
+ * Disconnect from the database
47
+ */
48
+ disconnect(): Promise<void>;
49
+ /**
50
+ * Get database health status
51
+ */
52
+ getHealth(): Promise<HealthStatus>;
53
+ /**
54
+ * Normalize parameters for SQLite binding
55
+ * Converts booleans to integers since SQLite doesn't have native boolean type
56
+ */
57
+ private normalizeParams;
58
+ /**
59
+ * Execute a read-only query
60
+ */
61
+ executeReadQuery(sql: string, params?: unknown[]): Promise<QueryResult>;
62
+ /**
63
+ * Execute a write query
64
+ */
65
+ executeWriteQuery(sql: string, params?: unknown[], skipValidation?: boolean): Promise<QueryResult>;
66
+ /**
67
+ * Execute any query (for admin operations)
68
+ */
69
+ executeQuery(sql: string, params?: unknown[]): Promise<QueryResult>;
70
+ /**
71
+ * Get full database schema (cached via SchemaManager)
72
+ */
73
+ getSchema(): Promise<SchemaInfo>;
74
+ /**
75
+ * List all tables (cached via SchemaManager)
76
+ */
77
+ listTables(): Promise<TableInfo[]>;
78
+ /**
79
+ * Describe a table's structure (cached via SchemaManager)
80
+ */
81
+ describeTable(tableName: string): Promise<TableInfo>;
82
+ /**
83
+ * List available schemas (SQLite has only 'main')
84
+ */
85
+ listSchemas(): Promise<string[]>;
86
+ /**
87
+ * Get indexes, optionally for a specific table (cached via SchemaManager)
88
+ */
89
+ getIndexes(table?: string): Promise<IndexInfo[]>;
90
+ /**
91
+ * Get all indexes in a single query (cached via SchemaManager)
92
+ * Performance optimization: eliminates N+1 query pattern
93
+ */
94
+ getAllIndexes(): Promise<IndexInfo[]>;
95
+ /**
96
+ * Clear the schema metadata cache
97
+ * Call after DDL operations or when fresh data is needed
98
+ */
99
+ clearSchemaCache(): void;
100
+ /**
101
+ * Get adapter capabilities
102
+ */
103
+ getCapabilities(): AdapterCapabilities;
104
+ /**
105
+ * Get supported tool groups
106
+ */
107
+ getSupportedToolGroups(): ToolGroup[];
108
+ /**
109
+ * Get all tool definitions
110
+ */
111
+ getToolDefinitions(): ToolDefinition[];
112
+ /**
113
+ * Get resource definitions
114
+ */
115
+ getResourceDefinitions(): ResourceDefinition[];
116
+ /**
117
+ * Get prompt definitions
118
+ */
119
+ getPromptDefinitions(): PromptDefinition[];
120
+ /**
121
+ * Get adapter info for metadata resource
122
+ */
123
+ getInfo(): {
124
+ type: string;
125
+ name: string;
126
+ version: string;
127
+ connected: boolean;
128
+ };
129
+ /**
130
+ * Register a single tool with the MCP server
131
+ * Uses modern registerTool() API for MCP 2025-11-25 compliance
132
+ */
133
+ protected registerTool(server: McpServer, tool: ToolDefinition): void;
134
+ /**
135
+ * Register a single resource with the MCP server
136
+ * Handles both static resources and URI templates
137
+ */
138
+ protected registerResource(server: McpServer, resource: ResourceDefinition): void;
139
+ /**
140
+ * Register a single prompt with the MCP server
141
+ */
142
+ protected registerPrompt(server: McpServer, prompt: PromptDefinition): void;
143
+ /**
144
+ * Ensure database is connected
145
+ */
146
+ private ensureConnected;
147
+ /**
148
+ * Ensure database is connected and return the database instance
149
+ */
150
+ private ensureDb;
151
+ /**
152
+ * Get the raw database instance (for tools)
153
+ */
154
+ getDatabase(): Database;
155
+ /**
156
+ * Execute raw SQL and return results (for tools)
157
+ */
158
+ rawQuery(sql: string, params?: unknown[]): Promise<QueryResult>;
159
+ }
160
+ export declare function createSqliteAdapter(): SqliteAdapter;
161
+ //# sourceMappingURL=SqliteAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SqliteAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/sqlite/SqliteAdapter.ts"],"names":[],"mappings":"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"}