@pilat/mcp-datalink 1.0.3 → 1.2.0

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 (82) hide show
  1. package/README.md +30 -387
  2. package/dist/adapters/factory.d.ts +0 -4
  3. package/dist/adapters/factory.d.ts.map +1 -1
  4. package/dist/adapters/factory.js +3 -8
  5. package/dist/adapters/factory.js.map +1 -1
  6. package/dist/adapters/mysql/adapter.d.ts +2 -31
  7. package/dist/adapters/mysql/adapter.d.ts.map +1 -1
  8. package/dist/adapters/mysql/adapter.js +27 -283
  9. package/dist/adapters/mysql/adapter.js.map +1 -1
  10. package/dist/adapters/postgresql/adapter.d.ts +2 -22
  11. package/dist/adapters/postgresql/adapter.d.ts.map +1 -1
  12. package/dist/adapters/postgresql/adapter.js +18 -175
  13. package/dist/adapters/postgresql/adapter.js.map +1 -1
  14. package/dist/adapters/sqlite/adapter.d.ts +3 -25
  15. package/dist/adapters/sqlite/adapter.d.ts.map +1 -1
  16. package/dist/adapters/sqlite/adapter.js +65 -364
  17. package/dist/adapters/sqlite/adapter.js.map +1 -1
  18. package/dist/adapters/sqlite/pragma-check.d.ts +19 -0
  19. package/dist/adapters/sqlite/pragma-check.d.ts.map +1 -0
  20. package/dist/adapters/sqlite/pragma-check.js +25 -0
  21. package/dist/adapters/sqlite/pragma-check.js.map +1 -0
  22. package/dist/adapters/sqlite/url-parser.d.ts +34 -0
  23. package/dist/adapters/sqlite/url-parser.d.ts.map +1 -0
  24. package/dist/adapters/sqlite/url-parser.js +73 -0
  25. package/dist/adapters/sqlite/url-parser.js.map +1 -0
  26. package/dist/adapters/types.d.ts +10 -113
  27. package/dist/adapters/types.d.ts.map +1 -1
  28. package/dist/config/loader.d.ts +10 -7
  29. package/dist/config/loader.d.ts.map +1 -1
  30. package/dist/config/loader.js +20 -97
  31. package/dist/config/loader.js.map +1 -1
  32. package/dist/index.d.ts +0 -2
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +10 -9
  35. package/dist/index.js.map +1 -1
  36. package/dist/server.d.ts.map +1 -1
  37. package/dist/server.js +113 -40
  38. package/dist/server.js.map +1 -1
  39. package/dist/tools/describe-table.d.ts +5 -6
  40. package/dist/tools/describe-table.d.ts.map +1 -1
  41. package/dist/tools/describe-table.js +65 -9
  42. package/dist/tools/describe-table.js.map +1 -1
  43. package/dist/tools/execute.d.ts +5 -6
  44. package/dist/tools/execute.d.ts.map +1 -1
  45. package/dist/tools/execute.js +13 -11
  46. package/dist/tools/execute.js.map +1 -1
  47. package/dist/tools/explain.d.ts +5 -10
  48. package/dist/tools/explain.d.ts.map +1 -1
  49. package/dist/tools/explain.js +25 -26
  50. package/dist/tools/explain.js.map +1 -1
  51. package/dist/tools/list-databases.d.ts +5 -7
  52. package/dist/tools/list-databases.d.ts.map +1 -1
  53. package/dist/tools/list-databases.js +31 -0
  54. package/dist/tools/list-databases.js.map +1 -1
  55. package/dist/tools/list-tables.d.ts +5 -10
  56. package/dist/tools/list-tables.d.ts.map +1 -1
  57. package/dist/tools/list-tables.js +27 -9
  58. package/dist/tools/list-tables.js.map +1 -1
  59. package/dist/tools/query.d.ts +1 -6
  60. package/dist/tools/query.d.ts.map +1 -1
  61. package/dist/tools/query.js +7 -27
  62. package/dist/tools/query.js.map +1 -1
  63. package/dist/types.d.ts +39 -12
  64. package/dist/types.d.ts.map +1 -1
  65. package/dist/utils/formatter.d.ts +7 -4
  66. package/dist/utils/formatter.d.ts.map +1 -1
  67. package/dist/utils/formatter.js +20 -10
  68. package/dist/utils/formatter.js.map +1 -1
  69. package/dist/utils/sql-parser.d.ts +51 -0
  70. package/dist/utils/sql-parser.d.ts.map +1 -0
  71. package/dist/utils/sql-parser.js +310 -0
  72. package/dist/utils/sql-parser.js.map +1 -0
  73. package/dist/utils/truncate.d.ts +4 -13
  74. package/dist/utils/truncate.d.ts.map +1 -1
  75. package/dist/utils/truncate.js +38 -18
  76. package/dist/utils/truncate.js.map +1 -1
  77. package/dist/utils/validation.d.ts +35 -0
  78. package/dist/utils/validation.d.ts.map +1 -0
  79. package/dist/utils/validation.js +89 -0
  80. package/dist/utils/validation.js.map +1 -0
  81. package/package.json +11 -13
  82. package/databases.example.json +0 -18
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pilat/mcp-datalink",
3
- "version": "1.0.3",
3
+ "version": "1.2.0",
4
4
  "description": "MCP server for secure database access (PostgreSQL, MySQL, SQLite)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -9,15 +9,10 @@
9
9
  },
10
10
  "scripts": {
11
11
  "build": "tsc",
12
- "dev": "tsc --watch",
13
- "start": "node dist/index.js",
14
- "test": "vitest",
15
- "test:unit": "vitest --run --exclude 'src/__integration__/**'",
12
+ "test": "vitest --run --exclude 'src/__integration__/**'",
13
+ "test:coverage": "vitest --coverage --run --exclude 'src/__integration__/**'",
16
14
  "test:integration": "vitest run --config vitest.config.integration.ts",
17
- "test:integration:watch": "vitest --config vitest.config.integration.ts",
18
- "test:coverage": "vitest --coverage",
19
- "lint": "eslint src",
20
- "typecheck": "tsc --noEmit"
15
+ "lint": "eslint src"
21
16
  },
22
17
  "keywords": [
23
18
  "mcp",
@@ -36,8 +31,7 @@
36
31
  },
37
32
  "license": "MIT",
38
33
  "files": [
39
- "dist",
40
- "databases.example.json"
34
+ "dist"
41
35
  ],
42
36
  "publishConfig": {
43
37
  "access": "public"
@@ -49,17 +43,21 @@
49
43
  "@modelcontextprotocol/sdk": "^1.0.0",
50
44
  "better-sqlite3": "^11.7.0",
51
45
  "mysql2": "^3.6.0",
52
- "pg": "^8.11.0",
53
- "pgsql-ast-parser": "^12.0.0"
46
+ "node-sql-parser": "^5.3.13",
47
+ "pg": "^8.11.0"
54
48
  },
55
49
  "devDependencies": {
50
+ "@eslint/js": "^9.39.2",
56
51
  "@testcontainers/mysql": "^11.11.0",
57
52
  "@testcontainers/postgresql": "^11.11.0",
58
53
  "@types/better-sqlite3": "^7.6.0",
59
54
  "@types/node": "^20.0.0",
60
55
  "@types/pg": "^8.11.0",
56
+ "@vitest/coverage-v8": "^1.6.1",
57
+ "eslint": "^9.39.2",
61
58
  "testcontainers": "^11.11.0",
62
59
  "typescript": "^5.3.0",
60
+ "typescript-eslint": "^8.51.0",
63
61
  "vitest": "^1.0.0"
64
62
  }
65
63
  }
@@ -1,18 +0,0 @@
1
- {
2
- "databases": {
3
- "main": {
4
- "url": "postgresql://user:password@localhost:5432/myapp",
5
- "readonly": false
6
- },
7
- "analytics": {
8
- "url": "postgresql://readonly:password@analytics.example.com:5432/warehouse",
9
- "readonly": true
10
- }
11
- },
12
- "defaults": {
13
- "timeout": 30000,
14
- "maxRows": 100,
15
- "maxCellLength": 500,
16
- "maxTotalSize": 65536
17
- }
18
- }