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,41 @@
1
+ /**
2
+ * db-mcp - WHERE Clause Validation
3
+ *
4
+ * Validates WHERE clause parameters to prevent SQL injection.
5
+ * Uses a blocklist approach to reject dangerous patterns while
6
+ * allowing legitimate complex conditions.
7
+ *
8
+ * Adapted from postgres-mcp reference implementation for SQLite.
9
+ */
10
+ /**
11
+ * Error thrown when an unsafe WHERE clause is detected
12
+ */
13
+ export declare class UnsafeWhereClauseError extends Error {
14
+ constructor(reason: string);
15
+ }
16
+ /**
17
+ * Validates a WHERE clause for dangerous SQL patterns.
18
+ *
19
+ * This function uses a blocklist approach to detect and reject
20
+ * common SQL injection patterns. It allows legitimate complex
21
+ * conditions while blocking obvious attack vectors.
22
+ *
23
+ * @param where - The WHERE clause to validate
24
+ * @throws UnsafeWhereClauseError if a dangerous pattern is detected
25
+ *
26
+ * @example
27
+ * validateWhereClause("price > 10"); // OK
28
+ * validateWhereClause("status = 'active' AND id < 100"); // OK
29
+ * validateWhereClause("1=1; DROP TABLE users;--"); // Throws
30
+ * validateWhereClause("1=1 UNION SELECT * FROM sqlite_master"); // Throws
31
+ */
32
+ export declare function validateWhereClause(where: string): void;
33
+ /**
34
+ * Validates and returns a safe WHERE clause.
35
+ *
36
+ * @param where - The WHERE clause to sanitize
37
+ * @returns The validated WHERE clause (unchanged if safe)
38
+ * @throws UnsafeWhereClauseError if a dangerous pattern is detected
39
+ */
40
+ export declare function sanitizeWhereClause(where: string): string;
41
+ //# sourceMappingURL=where-clause.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"where-clause.d.ts","sourceRoot":"","sources":["../../src/utils/where-clause.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,MAAM,EAAE,MAAM;CAI3B;AAgED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAUvD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGzD"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * db-mcp - WHERE Clause Validation
3
+ *
4
+ * Validates WHERE clause parameters to prevent SQL injection.
5
+ * Uses a blocklist approach to reject dangerous patterns while
6
+ * allowing legitimate complex conditions.
7
+ *
8
+ * Adapted from postgres-mcp reference implementation for SQLite.
9
+ */
10
+ /**
11
+ * Error thrown when an unsafe WHERE clause is detected
12
+ */
13
+ export class UnsafeWhereClauseError extends Error {
14
+ constructor(reason) {
15
+ super(`Unsafe WHERE clause: ${reason}`);
16
+ this.name = "UnsafeWhereClauseError";
17
+ }
18
+ }
19
+ /**
20
+ * Dangerous SQL patterns that should never appear in WHERE clauses.
21
+ * These patterns indicate SQL injection attempts.
22
+ */
23
+ const DANGEROUS_PATTERNS = [
24
+ // Statement terminators and new statements
25
+ {
26
+ pattern: /;\s*(DROP|DELETE|TRUNCATE|INSERT|UPDATE|CREATE|ALTER|ATTACH|DETACH)/i,
27
+ reason: "contains statement terminator followed by dangerous keyword",
28
+ },
29
+ // Trailing semicolons (potential statement injection)
30
+ {
31
+ pattern: /;\s*$/,
32
+ reason: "contains trailing semicolon",
33
+ },
34
+ // SQL comments (can be used to comment out security checks)
35
+ {
36
+ pattern: /--/,
37
+ reason: "contains SQL line comment",
38
+ },
39
+ {
40
+ pattern: /\/\*/,
41
+ reason: "contains SQL block comment",
42
+ },
43
+ // UNION injection (data exfiltration)
44
+ {
45
+ pattern: /\bUNION\s+(ALL\s+)?SELECT\b/i,
46
+ reason: "contains UNION SELECT",
47
+ },
48
+ // SQLite-specific: Extension loading (code execution)
49
+ {
50
+ pattern: /\bload_extension\s*\(/i,
51
+ reason: "contains load_extension (code execution)",
52
+ },
53
+ // SQLite-specific: ATTACH database (file system access)
54
+ {
55
+ pattern: /\bATTACH\s+(DATABASE\s+)?['"`]/i,
56
+ reason: "contains ATTACH DATABASE (file system access)",
57
+ },
58
+ // SQLite-specific: Pragma manipulation
59
+ {
60
+ pattern: /\bPRAGMA\s+/i,
61
+ reason: "contains PRAGMA statement",
62
+ },
63
+ // SQLite-specific: writefile/readfile (if using fileio extension)
64
+ {
65
+ pattern: /\b(writefile|readfile)\s*\(/i,
66
+ reason: "contains file I/O function",
67
+ },
68
+ // SQLite-specific: fts3_tokenizer (potential code execution)
69
+ {
70
+ pattern: /\bfts3_tokenizer\s*\(/i,
71
+ reason: "contains FTS tokenizer function",
72
+ },
73
+ // Generic: Hexadecimal string injection
74
+ {
75
+ pattern: /\bX'[0-9A-Fa-f]+'/,
76
+ reason: "contains hex string literal (potential binary injection)",
77
+ },
78
+ ];
79
+ /**
80
+ * Validates a WHERE clause for dangerous SQL patterns.
81
+ *
82
+ * This function uses a blocklist approach to detect and reject
83
+ * common SQL injection patterns. It allows legitimate complex
84
+ * conditions while blocking obvious attack vectors.
85
+ *
86
+ * @param where - The WHERE clause to validate
87
+ * @throws UnsafeWhereClauseError if a dangerous pattern is detected
88
+ *
89
+ * @example
90
+ * validateWhereClause("price > 10"); // OK
91
+ * validateWhereClause("status = 'active' AND id < 100"); // OK
92
+ * validateWhereClause("1=1; DROP TABLE users;--"); // Throws
93
+ * validateWhereClause("1=1 UNION SELECT * FROM sqlite_master"); // Throws
94
+ */
95
+ export function validateWhereClause(where) {
96
+ if (!where || typeof where !== "string") {
97
+ throw new UnsafeWhereClauseError("WHERE clause must be a non-empty string");
98
+ }
99
+ for (const { pattern, reason } of DANGEROUS_PATTERNS) {
100
+ if (pattern.test(where)) {
101
+ throw new UnsafeWhereClauseError(reason);
102
+ }
103
+ }
104
+ }
105
+ /**
106
+ * Validates and returns a safe WHERE clause.
107
+ *
108
+ * @param where - The WHERE clause to sanitize
109
+ * @returns The validated WHERE clause (unchanged if safe)
110
+ * @throws UnsafeWhereClauseError if a dangerous pattern is detected
111
+ */
112
+ export function sanitizeWhereClause(where) {
113
+ validateWhereClause(where);
114
+ return where;
115
+ }
116
+ //# sourceMappingURL=where-clause.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"where-clause.js","sourceRoot":"","sources":["../../src/utils/where-clause.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,MAAc;QACxB,KAAK,CAAC,wBAAwB,MAAM,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,kBAAkB,GAA0C;IAChE,2CAA2C;IAC3C;QACE,OAAO,EACL,sEAAsE;QACxE,MAAM,EAAE,6DAA6D;KACtE;IACD,sDAAsD;IACtD;QACE,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,6BAA6B;KACtC;IACD,4DAA4D;IAC5D;QACE,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,2BAA2B;KACpC;IACD;QACE,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,4BAA4B;KACrC;IACD,sCAAsC;IACtC;QACE,OAAO,EAAE,8BAA8B;QACvC,MAAM,EAAE,uBAAuB;KAChC;IACD,sDAAsD;IACtD;QACE,OAAO,EAAE,wBAAwB;QACjC,MAAM,EAAE,0CAA0C;KACnD;IACD,wDAAwD;IACxD;QACE,OAAO,EAAE,iCAAiC;QAC1C,MAAM,EAAE,+CAA+C;KACxD;IACD,uCAAuC;IACvC;QACE,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,2BAA2B;KACpC;IACD,kEAAkE;IAClE;QACE,OAAO,EAAE,8BAA8B;QACvC,MAAM,EAAE,4BAA4B;KACrC;IACD,6DAA6D;IAC7D;QACE,OAAO,EAAE,wBAAwB;QACjC,MAAM,EAAE,iCAAiC;KAC1C;IACD,wCAAwC;IACxC;QACE,OAAO,EAAE,mBAAmB;QAC5B,MAAM,EAAE,0DAA0D;KACnE;CACF,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,sBAAsB,CAAC,yCAAyC,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,kBAAkB,EAAE,CAAC;QACrD,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,KAAK,CAAC;AACf,CAAC"}
package/package.json ADDED
@@ -0,0 +1,83 @@
1
+ {
2
+ "name": "db-mcp",
3
+ "version": "1.0.1",
4
+ "description": "SQLite MCP server with OAuth 2.1 authentication, HTTP/SSE transport, and smart tool filtering",
5
+ "mcpName": "io.github.neverinfamous/db-mcp",
6
+ "type": "module",
7
+ "main": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "bin": {
10
+ "db-mcp": "./dist/cli.js"
11
+ },
12
+ "scripts": {
13
+ "build": "tsc",
14
+ "dev": "tsx watch src/index.ts",
15
+ "start": "node dist/index.js",
16
+ "start:stdio": "node dist/cli.js --transport=stdio",
17
+ "start:http": "node dist/cli.js --transport=http",
18
+ "lint": "eslint .",
19
+ "lint:fix": "eslint . --fix",
20
+ "typecheck": "tsc --noEmit",
21
+ "check": "npm run lint && npm run typecheck",
22
+ "test": "vitest run",
23
+ "test:watch": "vitest",
24
+ "test:coverage": "vitest run --coverage",
25
+ "clean": "rimraf dist",
26
+ "prepublishOnly": "npm run build"
27
+ },
28
+ "keywords": [
29
+ "mcp",
30
+ "model-context-protocol",
31
+ "database",
32
+ "sqlite",
33
+ "oauth",
34
+ "ai",
35
+ "llm"
36
+ ],
37
+ "author": "neverinfamous",
38
+ "license": "MIT",
39
+ "repository": {
40
+ "type": "git",
41
+ "url": "git+https://github.com/neverinfamous/db-mcp.git"
42
+ },
43
+ "bugs": {
44
+ "url": "https://github.com/neverinfamous/db-mcp/issues"
45
+ },
46
+ "homepage": "https://github.com/neverinfamous/db-mcp#readme",
47
+ "engines": {
48
+ "node": ">=24.0.0"
49
+ },
50
+ "dependencies": {
51
+ "@modelcontextprotocol/sdk": "^1.25.2",
52
+ "cors": "^2.8.5",
53
+ "dotenv": "^17.2.3",
54
+ "express": "^5.2.1",
55
+ "jose": "^6.1.3",
56
+ "pg": "^8.18.0",
57
+ "sql.js": "^1.13.0",
58
+ "zod": "^3.25.0 || ^4.0.0"
59
+ },
60
+ "devDependencies": {
61
+ "@eslint/js": "^9.39.2",
62
+ "@types/better-sqlite3": "^7.6.13",
63
+ "@types/cors": "^2.8.19",
64
+ "@types/express": "^5.0.6",
65
+ "@types/node": "^25.2.0",
66
+ "@types/pg": "^8.16.0",
67
+ "@types/sql.js": "^1.4.9",
68
+ "@vitest/coverage-v8": "^4.0.18",
69
+ "eslint": "^9.39.2",
70
+ "globals": "^17.3.0",
71
+ "rimraf": "^6.1.2",
72
+ "tsx": "^4.21.0",
73
+ "typescript": "^5.9.3",
74
+ "typescript-eslint": "^8.54.0",
75
+ "vitest": "^4.0.17"
76
+ },
77
+ "peerDependencies": {
78
+ "zod": "^3.25.0 || ^4.0.0"
79
+ },
80
+ "optionalDependencies": {
81
+ "better-sqlite3": "^12.6.2"
82
+ }
83
+ }
package/server.json ADDED
@@ -0,0 +1,53 @@
1
+ {
2
+ "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
+ "name": "io.github.neverinfamous/db-mcp",
4
+ "title": "db-mcp (SQLite MCP Server)",
5
+ "description": "SQLite MCP server with OAuth 2.1, HTTP/SSE, 122 tools, and smart tool filtering",
6
+ "version": "1.0.1",
7
+ "packages": [
8
+ {
9
+ "registryType": "npm",
10
+ "identifier": "db-mcp",
11
+ "version": "1.0.1",
12
+ "transport": {
13
+ "type": "stdio"
14
+ }
15
+ },
16
+ {
17
+ "registryType": "oci",
18
+ "identifier": "docker.io/writenotenow/db-mcp:v1.0.1",
19
+ "version": "1.0.1",
20
+ "transport": {
21
+ "type": "stdio"
22
+ }
23
+ }
24
+ ],
25
+ "keywords": [
26
+ "mcp",
27
+ "model-context-protocol",
28
+ "database",
29
+ "sqlite",
30
+ "sql",
31
+ "oauth",
32
+ "ai",
33
+ "llm",
34
+ "developer-tools",
35
+ "json",
36
+ "fts5",
37
+ "vector-search",
38
+ "geospatial",
39
+ "spatialite",
40
+ "statistical-analysis"
41
+ ],
42
+ "author": {
43
+ "name": "Chris LeRoux",
44
+ "email": "writenotenow@gmail.com"
45
+ },
46
+ "homepage": "https://github.com/neverinfamous/db-mcp",
47
+ "repository": {
48
+ "type": "git",
49
+ "url": "https://github.com/neverinfamous/db-mcp.git",
50
+ "source": "github"
51
+ },
52
+ "license": "MIT"
53
+ }