db-mcp 1.0.2 → 1.1.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.
- package/.gitattributes +2 -0
- package/LICENSE +1 -1
- package/README.md +244 -518
- package/dist/chunk-4IA3DB5C.js +135 -0
- package/dist/chunk-AOUL5SHS.js +930 -0
- package/dist/chunk-DWJXQEFA.js +13759 -0
- package/dist/chunk-DZQLDEQS.js +879 -0
- package/dist/chunk-S5IDDSSB.js +74 -0
- package/dist/chunk-Z2GFQU3G.js +363 -0
- package/dist/cli.d.ts +0 -7
- package/dist/cli.js +227 -183
- package/dist/http-VSB7DBJR.js +1541 -0
- package/dist/index.d.ts +842 -10
- package/dist/index.js +5 -17
- package/dist/sqlite-VHBA4ABV.js +600 -0
- package/dist/sqlite-native-D2LH5ZT7.js +2498 -0
- package/dist/worker-script.d.ts +2 -0
- package/dist/worker-script.js +126 -0
- package/package.json +26 -16
- package/playwright.config.ts +101 -0
- package/scripts/generate-server-instructions.ts +111 -0
- package/server.json +5 -6
- package/test-server/README.md +118 -0
- package/test-server/code-map.md +409 -0
- package/test-server/fixtures/sample.csv +6 -0
- package/test-server/reset-database.ps1 +373 -0
- package/test-server/sample.csv +11 -0
- package/test-server/test-agent-experience.md +243 -0
- package/test-server/test-database.sql +388 -0
- package/test-server/test-group-tools.md +861 -0
- package/test-server/test-help-resources.mjs +238 -0
- package/test-server/test-preflight.md +53 -0
- package/test-server/test-prompts.md +354 -0
- package/test-server/test-resources.md +245 -0
- package/test-server/test-tool-annotations.mjs +157 -0
- package/test-server/test-tools-advanced-1.md +517 -0
- package/test-server/test-tools-advanced-2.md +487 -0
- package/test-server/test-tools-codemode.md +629 -0
- package/test-server/test-tools.md +176 -0
- package/test-server/tool-reference.md +236 -0
- package/tsconfig.test.json +9 -0
- package/dist/adapters/DatabaseAdapter.d.ts +0 -141
- package/dist/adapters/DatabaseAdapter.d.ts.map +0 -1
- package/dist/adapters/DatabaseAdapter.js +0 -131
- package/dist/adapters/DatabaseAdapter.js.map +0 -1
- package/dist/adapters/sqlite/SchemaManager.d.ts +0 -58
- package/dist/adapters/sqlite/SchemaManager.d.ts.map +0 -1
- package/dist/adapters/sqlite/SchemaManager.js +0 -187
- package/dist/adapters/sqlite/SchemaManager.js.map +0 -1
- package/dist/adapters/sqlite/SqliteAdapter.d.ts +0 -161
- package/dist/adapters/sqlite/SqliteAdapter.d.ts.map +0 -1
- package/dist/adapters/sqlite/SqliteAdapter.js +0 -741
- package/dist/adapters/sqlite/SqliteAdapter.js.map +0 -1
- package/dist/adapters/sqlite/index.d.ts +0 -9
- package/dist/adapters/sqlite/index.d.ts.map +0 -1
- package/dist/adapters/sqlite/index.js +0 -8
- package/dist/adapters/sqlite/index.js.map +0 -1
- package/dist/adapters/sqlite/json-utils.d.ts +0 -100
- package/dist/adapters/sqlite/json-utils.d.ts.map +0 -1
- package/dist/adapters/sqlite/json-utils.js +0 -274
- package/dist/adapters/sqlite/json-utils.js.map +0 -1
- package/dist/adapters/sqlite/output-schemas.d.ts +0 -1187
- package/dist/adapters/sqlite/output-schemas.d.ts.map +0 -1
- package/dist/adapters/sqlite/output-schemas.js +0 -1337
- package/dist/adapters/sqlite/output-schemas.js.map +0 -1
- package/dist/adapters/sqlite/prompts.d.ts +0 -13
- package/dist/adapters/sqlite/prompts.d.ts.map +0 -1
- package/dist/adapters/sqlite/prompts.js +0 -605
- package/dist/adapters/sqlite/prompts.js.map +0 -1
- package/dist/adapters/sqlite/resources.d.ts +0 -13
- package/dist/adapters/sqlite/resources.d.ts.map +0 -1
- package/dist/adapters/sqlite/resources.js +0 -251
- package/dist/adapters/sqlite/resources.js.map +0 -1
- package/dist/adapters/sqlite/tools/admin.d.ts +0 -14
- package/dist/adapters/sqlite/tools/admin.d.ts.map +0 -1
- package/dist/adapters/sqlite/tools/admin.js +0 -788
- package/dist/adapters/sqlite/tools/admin.js.map +0 -1
- package/dist/adapters/sqlite/tools/core.d.ts +0 -25
- package/dist/adapters/sqlite/tools/core.d.ts.map +0 -1
- package/dist/adapters/sqlite/tools/core.js +0 -359
- package/dist/adapters/sqlite/tools/core.js.map +0 -1
- package/dist/adapters/sqlite/tools/fts.d.ts +0 -13
- package/dist/adapters/sqlite/tools/fts.d.ts.map +0 -1
- package/dist/adapters/sqlite/tools/fts.js +0 -347
- package/dist/adapters/sqlite/tools/fts.js.map +0 -1
- package/dist/adapters/sqlite/tools/geo.d.ts +0 -14
- package/dist/adapters/sqlite/tools/geo.d.ts.map +0 -1
- package/dist/adapters/sqlite/tools/geo.js +0 -252
- package/dist/adapters/sqlite/tools/geo.js.map +0 -1
- package/dist/adapters/sqlite/tools/index.d.ts +0 -30
- package/dist/adapters/sqlite/tools/index.d.ts.map +0 -1
- package/dist/adapters/sqlite/tools/index.js +0 -61
- package/dist/adapters/sqlite/tools/index.js.map +0 -1
- package/dist/adapters/sqlite/tools/json-helpers.d.ts +0 -14
- package/dist/adapters/sqlite/tools/json-helpers.d.ts.map +0 -1
- package/dist/adapters/sqlite/tools/json-helpers.js +0 -477
- package/dist/adapters/sqlite/tools/json-helpers.js.map +0 -1
- package/dist/adapters/sqlite/tools/json-operations.d.ts +0 -14
- package/dist/adapters/sqlite/tools/json-operations.d.ts.map +0 -1
- package/dist/adapters/sqlite/tools/json-operations.js +0 -839
- package/dist/adapters/sqlite/tools/json-operations.js.map +0 -1
- package/dist/adapters/sqlite/tools/stats.d.ts +0 -15
- package/dist/adapters/sqlite/tools/stats.d.ts.map +0 -1
- package/dist/adapters/sqlite/tools/stats.js +0 -1219
- package/dist/adapters/sqlite/tools/stats.js.map +0 -1
- package/dist/adapters/sqlite/tools/text.d.ts +0 -14
- package/dist/adapters/sqlite/tools/text.d.ts.map +0 -1
- package/dist/adapters/sqlite/tools/text.js +0 -1141
- package/dist/adapters/sqlite/tools/text.js.map +0 -1
- package/dist/adapters/sqlite/tools/vector.d.ts +0 -14
- package/dist/adapters/sqlite/tools/vector.d.ts.map +0 -1
- package/dist/adapters/sqlite/tools/vector.js +0 -613
- package/dist/adapters/sqlite/tools/vector.js.map +0 -1
- package/dist/adapters/sqlite/tools/virtual.d.ts +0 -13
- package/dist/adapters/sqlite/tools/virtual.d.ts.map +0 -1
- package/dist/adapters/sqlite/tools/virtual.js +0 -930
- package/dist/adapters/sqlite/tools/virtual.js.map +0 -1
- package/dist/adapters/sqlite/types.d.ts +0 -207
- package/dist/adapters/sqlite/types.d.ts.map +0 -1
- package/dist/adapters/sqlite/types.js +0 -186
- package/dist/adapters/sqlite/types.js.map +0 -1
- package/dist/adapters/sqlite-native/NativeSqliteAdapter.d.ts +0 -163
- package/dist/adapters/sqlite-native/NativeSqliteAdapter.d.ts.map +0 -1
- package/dist/adapters/sqlite-native/NativeSqliteAdapter.js +0 -748
- package/dist/adapters/sqlite-native/NativeSqliteAdapter.js.map +0 -1
- package/dist/adapters/sqlite-native/index.d.ts +0 -11
- package/dist/adapters/sqlite-native/index.d.ts.map +0 -1
- package/dist/adapters/sqlite-native/index.js +0 -11
- package/dist/adapters/sqlite-native/index.js.map +0 -1
- package/dist/adapters/sqlite-native/tools/spatialite.d.ts +0 -19
- package/dist/adapters/sqlite-native/tools/spatialite.d.ts.map +0 -1
- package/dist/adapters/sqlite-native/tools/spatialite.js +0 -628
- package/dist/adapters/sqlite-native/tools/spatialite.js.map +0 -1
- package/dist/adapters/sqlite-native/tools/transactions.d.ts +0 -12
- package/dist/adapters/sqlite-native/tools/transactions.d.ts.map +0 -1
- package/dist/adapters/sqlite-native/tools/transactions.js +0 -255
- package/dist/adapters/sqlite-native/tools/transactions.js.map +0 -1
- package/dist/adapters/sqlite-native/tools/window.d.ts +0 -12
- package/dist/adapters/sqlite-native/tools/window.d.ts.map +0 -1
- package/dist/adapters/sqlite-native/tools/window.js +0 -370
- package/dist/adapters/sqlite-native/tools/window.js.map +0 -1
- package/dist/auth/AuthorizationServerDiscovery.d.ts +0 -90
- package/dist/auth/AuthorizationServerDiscovery.d.ts.map +0 -1
- package/dist/auth/AuthorizationServerDiscovery.js +0 -204
- package/dist/auth/AuthorizationServerDiscovery.js.map +0 -1
- package/dist/auth/OAuthResourceServer.d.ts +0 -65
- package/dist/auth/OAuthResourceServer.d.ts.map +0 -1
- package/dist/auth/OAuthResourceServer.js +0 -121
- package/dist/auth/OAuthResourceServer.js.map +0 -1
- package/dist/auth/TokenValidator.d.ts +0 -60
- package/dist/auth/TokenValidator.d.ts.map +0 -1
- package/dist/auth/TokenValidator.js +0 -235
- package/dist/auth/TokenValidator.js.map +0 -1
- package/dist/auth/errors.d.ts +0 -74
- package/dist/auth/errors.d.ts.map +0 -1
- package/dist/auth/errors.js +0 -133
- package/dist/auth/errors.js.map +0 -1
- package/dist/auth/index.d.ts +0 -13
- package/dist/auth/index.d.ts.map +0 -1
- package/dist/auth/index.js +0 -15
- package/dist/auth/index.js.map +0 -1
- package/dist/auth/middleware.d.ts +0 -81
- package/dist/auth/middleware.d.ts.map +0 -1
- package/dist/auth/middleware.js +0 -291
- package/dist/auth/middleware.js.map +0 -1
- package/dist/auth/scopes.d.ts +0 -136
- package/dist/auth/scopes.d.ts.map +0 -1
- package/dist/auth/scopes.js +0 -349
- package/dist/auth/scopes.js.map +0 -1
- package/dist/auth/types.d.ts +0 -257
- package/dist/auth/types.d.ts.map +0 -1
- package/dist/auth/types.js +0 -8
- package/dist/auth/types.js.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/constants/ServerInstructions.d.ts +0 -45
- package/dist/constants/ServerInstructions.d.ts.map +0 -1
- package/dist/constants/ServerInstructions.js +0 -356
- package/dist/constants/ServerInstructions.js.map +0 -1
- package/dist/filtering/ToolConstants.d.ts +0 -34
- package/dist/filtering/ToolConstants.d.ts.map +0 -1
- package/dist/filtering/ToolConstants.js +0 -174
- package/dist/filtering/ToolConstants.js.map +0 -1
- package/dist/filtering/ToolFilter.d.ts +0 -82
- package/dist/filtering/ToolFilter.d.ts.map +0 -1
- package/dist/filtering/ToolFilter.js +0 -296
- package/dist/filtering/ToolFilter.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/server/McpServer.d.ts +0 -61
- package/dist/server/McpServer.d.ts.map +0 -1
- package/dist/server/McpServer.js +0 -270
- package/dist/server/McpServer.js.map +0 -1
- package/dist/transports/http.d.ts +0 -134
- package/dist/transports/http.d.ts.map +0 -1
- package/dist/transports/http.js +0 -516
- package/dist/transports/http.js.map +0 -1
- package/dist/transports/index.d.ts +0 -5
- package/dist/transports/index.d.ts.map +0 -1
- package/dist/transports/index.js +0 -5
- package/dist/transports/index.js.map +0 -1
- package/dist/types/index.d.ts +0 -380
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -68
- package/dist/types/index.js.map +0 -1
- package/dist/utils/annotations.d.ts +0 -44
- package/dist/utils/annotations.d.ts.map +0 -1
- package/dist/utils/annotations.js +0 -77
- package/dist/utils/annotations.js.map +0 -1
- package/dist/utils/errors.d.ts +0 -155
- package/dist/utils/errors.d.ts.map +0 -1
- package/dist/utils/errors.js +0 -329
- package/dist/utils/errors.js.map +0 -1
- package/dist/utils/identifiers.d.ts +0 -121
- package/dist/utils/identifiers.d.ts.map +0 -1
- package/dist/utils/identifiers.js +0 -319
- package/dist/utils/identifiers.js.map +0 -1
- package/dist/utils/index.d.ts +0 -7
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -7
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/insightsManager.d.ts +0 -39
- package/dist/utils/insightsManager.d.ts.map +0 -1
- package/dist/utils/insightsManager.js +0 -63
- package/dist/utils/insightsManager.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -189
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -394
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/progress-utils.d.ts +0 -54
- package/dist/utils/progress-utils.d.ts.map +0 -1
- package/dist/utils/progress-utils.js +0 -74
- package/dist/utils/progress-utils.js.map +0 -1
- package/dist/utils/resourceAnnotations.d.ts +0 -36
- package/dist/utils/resourceAnnotations.d.ts.map +0 -1
- package/dist/utils/resourceAnnotations.js +0 -57
- package/dist/utils/resourceAnnotations.js.map +0 -1
- package/dist/utils/where-clause.d.ts +0 -41
- package/dist/utils/where-clause.d.ts.map +0 -1
- package/dist/utils/where-clause.js +0 -116
- package/dist/utils/where-clause.js.map +0 -1
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Server instructions for db-mcp (SQLite MCP Server).
|
|
3
|
-
*
|
|
4
|
-
* These instructions are automatically sent to MCP clients during initialization,
|
|
5
|
-
* providing guidance for AI agents on tool usage.
|
|
6
|
-
*
|
|
7
|
-
* Optimized for token efficiency with tiered instruction levels.
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Resource definition for instruction generation
|
|
11
|
-
*/
|
|
12
|
-
export interface ResourceDefinition {
|
|
13
|
-
uri: string;
|
|
14
|
-
name: string;
|
|
15
|
-
description?: string;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Prompt definition for instruction generation
|
|
19
|
-
*/
|
|
20
|
-
export interface PromptDefinition {
|
|
21
|
-
name: string;
|
|
22
|
-
description?: string;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Instruction detail level for token efficiency
|
|
26
|
-
* - essential: ~200 tokens - Core behaviors only (for token-constrained clients)
|
|
27
|
-
* - standard: ~400 tokens - + Tool filtering and groups (default)
|
|
28
|
-
* - full: ~600 tokens - + Complete tool/resource reference
|
|
29
|
-
*/
|
|
30
|
-
export type InstructionLevel = "essential" | "standard" | "full";
|
|
31
|
-
/**
|
|
32
|
-
* Generate dynamic instructions based on enabled tools, resources, and prompts
|
|
33
|
-
*
|
|
34
|
-
* @param enabledTools - Set of enabled tool names
|
|
35
|
-
* @param resources - Available resource definitions
|
|
36
|
-
* @param prompts - Available prompt definitions
|
|
37
|
-
* @param level - Instruction detail level (default: 'standard')
|
|
38
|
-
*/
|
|
39
|
-
export declare function generateInstructions(enabledTools: Set<string>, _resources: ResourceDefinition[], prompts: PromptDefinition[], level?: InstructionLevel): string;
|
|
40
|
-
/**
|
|
41
|
-
* Static instructions for backward compatibility
|
|
42
|
-
* @deprecated Use generateInstructions() instead for dynamic content
|
|
43
|
-
*/
|
|
44
|
-
export declare const SERVER_INSTRUCTIONS: string;
|
|
45
|
-
//# sourceMappingURL=ServerInstructions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ServerInstructions.d.ts","sourceRoot":"","sources":["../../src/constants/ServerInstructions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;AAwSjE;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,EACzB,UAAU,EAAE,kBAAkB,EAAE,EAChC,OAAO,EAAE,gBAAgB,EAAE,EAC3B,KAAK,GAAE,gBAA6B,GACnC,MAAM,CAgCR;AAqBD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QACiB,CAAC"}
|
|
@@ -1,356 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Server instructions for db-mcp (SQLite MCP Server).
|
|
3
|
-
*
|
|
4
|
-
* These instructions are automatically sent to MCP clients during initialization,
|
|
5
|
-
* providing guidance for AI agents on tool usage.
|
|
6
|
-
*
|
|
7
|
-
* Optimized for token efficiency with tiered instruction levels.
|
|
8
|
-
*/
|
|
9
|
-
import { TOOL_GROUPS, ALL_TOOL_GROUPS } from "../filtering/ToolConstants.js";
|
|
10
|
-
/**
|
|
11
|
-
* Essential behavioral guidance (~200 tokens)
|
|
12
|
-
* Core patterns every AI agent should follow.
|
|
13
|
-
*/
|
|
14
|
-
const ESSENTIAL_INSTRUCTIONS = `# db-mcp (SQLite MCP Server)
|
|
15
|
-
|
|
16
|
-
## Quick Access
|
|
17
|
-
| Purpose | Action |
|
|
18
|
-
|---------|--------|
|
|
19
|
-
| Health check | \`server_health\` tool |
|
|
20
|
-
| Server info | \`server_info\` tool |
|
|
21
|
-
| List adapters | \`list_adapters\` tool |
|
|
22
|
-
| Database schema | \`sqlite://schema\` resource |
|
|
23
|
-
| List tables | \`sqlite://tables\` resource |
|
|
24
|
-
|
|
25
|
-
## Built-in Tools (always available)
|
|
26
|
-
| Tool | Description |
|
|
27
|
-
|------|-------------|
|
|
28
|
-
| \`server_info\` | Get server name, version, adapters, tool filter config |
|
|
29
|
-
| \`server_health\` | Check adapter connections, latency, SQLite version |
|
|
30
|
-
| \`list_adapters\` | List registered database adapters |
|
|
31
|
-
|
|
32
|
-
## Core Tools (8)
|
|
33
|
-
| Tool | Description |
|
|
34
|
-
|------|-------------|
|
|
35
|
-
| \`sqlite_read_query\` | Execute SELECT queries |
|
|
36
|
-
| \`sqlite_write_query\` | Execute INSERT/UPDATE/DELETE |
|
|
37
|
-
| \`sqlite_list_tables\` | List tables with column counts (excludeSystemTables hides SpatiaLite tables) |
|
|
38
|
-
| \`sqlite_describe_table\` | Get table schema |
|
|
39
|
-
| \`sqlite_create_table\` | Create new table |
|
|
40
|
-
| \`sqlite_drop_table\` | Drop (delete) a table |
|
|
41
|
-
| \`sqlite_get_indexes\` | List indexes (use excludeSystemIndexes to hide SpatiaLite indexes) |
|
|
42
|
-
| \`sqlite_create_index\` | Create index |
|
|
43
|
-
|
|
44
|
-
## WASM vs Native
|
|
45
|
-
| Feature | Native | WASM | Fallback |
|
|
46
|
-
|---------|--------|------|----------|
|
|
47
|
-
| FTS5 full-text search | ✅ | ❌ | None |
|
|
48
|
-
| Transactions (7 tools) | ✅ | ❌ | None |
|
|
49
|
-
| Window functions (6 tools in stats group) | ✅ | ❌ | None |
|
|
50
|
-
| SpatiaLite GIS (7 tools; 4 basic geo always work) | ✅ | ❌ | None |
|
|
51
|
-
| Backup/Restore (3 tools) | ✅ | ❌ | Graceful error |
|
|
52
|
-
| R-Tree spatial indexing | ✅ | ❌ | Graceful error |
|
|
53
|
-
| CSV virtual tables | ✅ | ❌ | Graceful error |
|
|
54
|
-
| generate_series | JS fallback | JS fallback | — |
|
|
55
|
-
| dbstat | ✅ native (per-table) | ❌ | JS (counts only) |
|
|
56
|
-
| soundex() | ✅ native | ❌ | JS |
|
|
57
|
-
`;
|
|
58
|
-
/**
|
|
59
|
-
* Tool filtering instructions (~150 additional tokens)
|
|
60
|
-
*/
|
|
61
|
-
const FILTERING_INSTRUCTIONS = `
|
|
62
|
-
## Tool Filtering
|
|
63
|
-
Available presets via \`--tool-filter\`:
|
|
64
|
-
| Shortcut | WASM | Native | Use Case |
|
|
65
|
-
|----------|------|--------|----------|
|
|
66
|
-
| \`starter\` | 44 | 48 | ⭐ Recommended: Core(8) + JSON(23) + Text(17*) |
|
|
67
|
-
| \`analytics\` | 44 | 50 | Core(8) + JSON(23) + Stats(19: 13 core + 6 window) |
|
|
68
|
-
| \`search\` | 36 | 36 | Core(8) + Text(17) + Vector(11) |
|
|
69
|
-
| \`spatial\` | 23 | 30 | Core(8) + Geo(4-11) + Vector(11) |
|
|
70
|
-
| \`minimal\` | 8 | 8 | Core only |
|
|
71
|
-
| \`full\` | 102 | 122 | All tools |
|
|
72
|
-
|
|
73
|
-
*+3 built-in tools (\`server_info\`, \`server_health\`, \`list_adapters\`) always included*
|
|
74
|
-
|
|
75
|
-
**Groups**: \`core\`, \`json\`, \`text\`, \`stats\`, \`vector\`, \`admin\`, \`geo\`
|
|
76
|
-
**Syntax**: \`"core,json"\` (whitelist), \`"+stats"\` (add), \`"-admin"\` (remove)
|
|
77
|
-
*Text group: 17 native, 13 in WASM (4 FTS5 tools require native)*
|
|
78
|
-
`;
|
|
79
|
-
/**
|
|
80
|
-
* Tool reference - comprehensive usage examples
|
|
81
|
-
*/
|
|
82
|
-
const TOOL_REFERENCE = `
|
|
83
|
-
## JSON Operations
|
|
84
|
-
\`\`\`javascript
|
|
85
|
-
// Create optimized JSON collection with indexes
|
|
86
|
-
sqlite_create_json_collection({ tableName: "docs", indexes: [{ path: "$.type" }, { path: "$.author" }] })
|
|
87
|
-
|
|
88
|
-
// Insert and query JSON documents
|
|
89
|
-
sqlite_json_insert({ table: "docs", column: "data", data: { type: "article", title: "Hello", tags: ["news"] } })
|
|
90
|
-
sqlite_json_query({ table: "docs", column: "data", filterPaths: { "$.type": "article" }, selectPaths: ["$.title"] })
|
|
91
|
-
|
|
92
|
-
// Path operations (extract, set, merge, remove)
|
|
93
|
-
sqlite_json_extract({ table: "docs", column: "data", path: "$.title" })
|
|
94
|
-
sqlite_json_set({ table: "docs", column: "data", path: "$.views", value: 100, whereClause: "id = 1" })
|
|
95
|
-
sqlite_json_merge({ table: "docs", column: "data", mergeData: { featured: true }, whereClause: "id = 1" })
|
|
96
|
-
|
|
97
|
-
// Array operations (Note: json_each multiplies output rows—use limit param for large arrays)
|
|
98
|
-
sqlite_json_array_append({ table: "docs", column: "data", path: "$.tags", value: "featured", whereClause: "id = 1" })
|
|
99
|
-
sqlite_json_each({ table: "docs", column: "data", path: "$.tags", limit: 50 }) // expand array to rows
|
|
100
|
-
|
|
101
|
-
// Aggregation and analysis
|
|
102
|
-
// Regular tables: use column names directly for groupByColumn
|
|
103
|
-
sqlite_json_group_array({ table: "events", valueColumn: "user_id", groupByColumn: "event_type" })
|
|
104
|
-
// JSON collections: use allowExpressions with json_extract for both value and group columns
|
|
105
|
-
// Note: allowExpressions is for column extraction ONLY, NOT aggregate functions
|
|
106
|
-
// Note: Without groupByColumn, each row creates a key-value pair; duplicate keys result if key values aren't unique
|
|
107
|
-
sqlite_json_group_array({ table: "docs", valueColumn: "json_extract(data, '$.author')", groupByColumn: "json_extract(data, '$.type')", allowExpressions: true })
|
|
108
|
-
// For aggregate values (COUNT, SUM, AVG), use aggregateFunction parameter instead
|
|
109
|
-
sqlite_json_group_object({ table: "events", keyColumn: "event_type", aggregateFunction: "COUNT(*)" })
|
|
110
|
-
sqlite_json_group_object({ table: "orders", keyColumn: "status", aggregateFunction: "SUM(total)" })
|
|
111
|
-
sqlite_json_analyze_schema({ table: "docs", column: "data" }) // infer schema types
|
|
112
|
-
|
|
113
|
-
// JSONB optimization (SQLite 3.45+)
|
|
114
|
-
sqlite_json_storage_info({ table: "docs", column: "data" }) // check text vs JSONB format
|
|
115
|
-
sqlite_jsonb_convert({ table: "docs", column: "data" }) // convert to JSONB for faster queries
|
|
116
|
-
// Note: sqlite_json_normalize_column defaults to 'preserve' (maintains original format); use outputFormat: 'text' to force text
|
|
117
|
-
\`\`\`
|
|
118
|
-
|
|
119
|
-
## Vector/Semantic Search
|
|
120
|
-
\`\`\`javascript
|
|
121
|
-
// Create vector table with metadata columns
|
|
122
|
-
sqlite_vector_create_table({ tableName: "docs", dimensions: 384, additionalColumns: [{ name: "content", type: "TEXT" }] })
|
|
123
|
-
|
|
124
|
-
// Store vectors (single and batch)
|
|
125
|
-
sqlite_vector_store({ table: "docs", idColumn: "id", vectorColumn: "emb", id: 1, vector: [...] })
|
|
126
|
-
sqlite_vector_batch_store({ table: "docs", idColumn: "id", vectorColumn: "emb", items: [{ id: 1, vector: [...] }, { id: 2, vector: [...] }] })
|
|
127
|
-
|
|
128
|
-
// Search vectors (returnColumns omits vector data from results for smaller payloads)
|
|
129
|
-
sqlite_vector_search({ table: "docs", vectorColumn: "emb", queryVector: [...], limit: 10, returnColumns: ["id", "title"] })
|
|
130
|
-
|
|
131
|
-
// Retrieve and delete vectors
|
|
132
|
-
// Note: sqlite_vector_get returns parsed 'vector' array + raw JSON string in 'metadata' for flexibility
|
|
133
|
-
sqlite_vector_get({ table: "docs", idColumn: "id", vectorColumn: "emb", id: 1 })
|
|
134
|
-
sqlite_vector_delete({ table: "docs", idColumn: "id", ids: [1, 2, 3] })
|
|
135
|
-
|
|
136
|
-
// Vector metadata
|
|
137
|
-
sqlite_vector_count({ table: "docs" }) // or with dimensions filter: { table: "docs", dimensions: 384 }
|
|
138
|
-
sqlite_vector_dimensions({ table: "docs", vectorColumn: "emb" })
|
|
139
|
-
sqlite_vector_stats({ table: "docs", vectorColumn: "emb" }) // magnitude min/max/avg
|
|
140
|
-
|
|
141
|
-
// Utility tools for preprocessing
|
|
142
|
-
sqlite_vector_normalize({ vector: [3, 4, 0, 0] }) // returns unit vector [0.6, 0.8, 0, 0]
|
|
143
|
-
sqlite_vector_distance({ vector1: [...], vector2: [...], metric: "cosine" }) // or "euclidean", "dot"
|
|
144
|
-
\`\`\`
|
|
145
|
-
|
|
146
|
-
## Full-Text Search (FTS5)
|
|
147
|
-
\`\`\`javascript
|
|
148
|
-
// Create FTS5 table with triggers for auto-sync on future changes
|
|
149
|
-
sqlite_fts_create({ tableName: "articles_fts", sourceTable: "articles", columns: ["title", "content"] })
|
|
150
|
-
sqlite_fts_rebuild({ table: "articles_fts" }) // Required: populate index with existing data
|
|
151
|
-
// FTS5 uses AND by default: "machine learning" = rows containing BOTH words
|
|
152
|
-
// Use OR explicitly: "machine OR learning" for rows containing EITHER word
|
|
153
|
-
sqlite_fts_search({ table: "articles_fts", query: "machine learning", limit: 10 })
|
|
154
|
-
// Note: FTS5 virtual tables (*_fts) and shadow tables (*_fts_*) are hidden from sqlite_list_tables for cleaner output
|
|
155
|
-
\`\`\`
|
|
156
|
-
|
|
157
|
-
## Statistical Analysis
|
|
158
|
-
\`\`\`javascript
|
|
159
|
-
sqlite_stats_basic({ table: "employees", column: "salary" }) // count, sum, avg, min, max
|
|
160
|
-
sqlite_stats_percentile({ table: "sales", column: "revenue", percentiles: [25, 50, 75, 90] })
|
|
161
|
-
sqlite_stats_histogram({ table: "products", column: "price", buckets: 10 })
|
|
162
|
-
sqlite_stats_regression({ table: "data", xColumn: "year", yColumn: "revenue" }) // linear
|
|
163
|
-
sqlite_stats_regression({ table: "data", xColumn: "year", yColumn: "revenue", degree: 2 }) // quadratic
|
|
164
|
-
sqlite_stats_outliers({ table: "sales", column: "amount", method: "iqr" }) // or "zscore"
|
|
165
|
-
// ⚠️ Always use selectColumns to avoid returning all columns (large payloads with text fields)
|
|
166
|
-
sqlite_stats_top_n({ table: "products", column: "price", n: 10, selectColumns: ["id", "name", "price"] })
|
|
167
|
-
sqlite_stats_hypothesis({ table: "samples", column: "value", testType: "ttest_one", expectedMean: 100 })
|
|
168
|
-
\`\`\`
|
|
169
|
-
|
|
170
|
-
## Geospatial Operations
|
|
171
|
-
\`\`\`javascript
|
|
172
|
-
// Basic geo (always available - Haversine formula)
|
|
173
|
-
sqlite_geo_distance({ lat1: 40.7128, lon1: -74.006, lat2: 34.0522, lon2: -118.2437 }) // km
|
|
174
|
-
sqlite_geo_bounding_box({ table: "stores", latColumn: "lat", lonColumn: "lon", minLat: 40, maxLat: 41, minLon: -75, maxLon: -73 })
|
|
175
|
-
sqlite_geo_nearby({ table: "stores", latColumn: "lat", lonColumn: "lon", centerLat: 40.7, centerLon: -74, radius: 10, unit: "km" })
|
|
176
|
-
sqlite_geo_cluster({ table: "customers", latColumn: "lat", lonColumn: "lon", gridSize: 0.1 })
|
|
177
|
-
\`\`\`
|
|
178
|
-
|
|
179
|
-
## SpatiaLite (Advanced GIS)
|
|
180
|
-
\`\`\`javascript
|
|
181
|
-
// Create spatial table with geometry column
|
|
182
|
-
sqlite_spatialite_create_table({ tableName: "places", geometryColumn: "geom", geometryType: "POINT", srid: 4326 })
|
|
183
|
-
|
|
184
|
-
// Import data (WKT or GeoJSON)
|
|
185
|
-
sqlite_spatialite_import({ tableName: "places", format: "wkt", data: "POINT(-73.99 40.75)", additionalData: { name: "NYC" } })
|
|
186
|
-
sqlite_spatialite_import({ tableName: "places", format: "geojson", data: '{"type":"Point","coordinates":[-73.99,40.75]}' })
|
|
187
|
-
|
|
188
|
-
// Spatial queries and analysis
|
|
189
|
-
sqlite_spatialite_query({ query: "SELECT name, AsText(geom) FROM places WHERE ST_Within(geom, ...)" })
|
|
190
|
-
// analysisType: "spatial_extent" | "point_in_polygon" | "nearest_neighbor" | "distance_matrix"
|
|
191
|
-
// Note: nearest_neighbor/distance_matrix return CARTESIAN distance (degrees), not geodetic (km/miles)
|
|
192
|
-
// For same source/target table, use excludeSelf: true to avoid self-matches
|
|
193
|
-
sqlite_spatialite_analyze({ analysisType: "spatial_extent", sourceTable: "places", geometryColumn: "geom" })
|
|
194
|
-
sqlite_spatialite_analyze({ analysisType: "nearest_neighbor", sourceTable: "pts", targetTable: "pts", excludeSelf: true })
|
|
195
|
-
// transform: buffer uses 'distance' param for radius; simplify uses 'distance' as tolerance (0.0001 for lat/lon)
|
|
196
|
-
// Buffer now auto-simplifies output by default (tolerance=0.0001). Use simplifyTolerance: 0 to disable.
|
|
197
|
-
sqlite_spatialite_transform({ operation: "buffer", geometry1: "POINT(-73.99 40.75)", distance: 0.01 })
|
|
198
|
-
sqlite_spatialite_transform({ operation: "simplify", geometry1: "...", distance: 0.001 })
|
|
199
|
-
sqlite_spatialite_index({ tableName: "places", geometryColumn: "geom", action: "create" })
|
|
200
|
-
\`\`\`
|
|
201
|
-
|
|
202
|
-
## Window Functions (Native Only)
|
|
203
|
-
\`\`\`javascript
|
|
204
|
-
sqlite_window_row_number({ table: "employees", orderBy: "hire_date", partitionBy: "department" })
|
|
205
|
-
sqlite_window_rank({ table: "sales", orderBy: "revenue DESC", partitionBy: "region", rankType: "dense_rank" })
|
|
206
|
-
sqlite_window_running_total({ table: "transactions", valueColumn: "amount", orderBy: "date" })
|
|
207
|
-
sqlite_window_moving_avg({ table: "stock_prices", valueColumn: "close_price", orderBy: "date", windowSize: 7 })
|
|
208
|
-
\`\`\`
|
|
209
|
-
|
|
210
|
-
## Transactions (Native Only)
|
|
211
|
-
\`\`\`javascript
|
|
212
|
-
sqlite_transaction_execute({ statements: ["UPDATE a SET x=1", "UPDATE b SET y=2"] }) // atomic
|
|
213
|
-
sqlite_transaction_begin({ mode: "immediate" })
|
|
214
|
-
sqlite_transaction_savepoint({ name: "checkpoint" })
|
|
215
|
-
sqlite_transaction_rollback_to({ name: "checkpoint" })
|
|
216
|
-
sqlite_transaction_commit()
|
|
217
|
-
\`\`\`
|
|
218
|
-
|
|
219
|
-
## Text Processing
|
|
220
|
-
\`\`\`javascript
|
|
221
|
-
// Regex patterns: Double-escape backslashes (\\\\) when passing through JSON/MCP
|
|
222
|
-
sqlite_regex_match({ table: "logs", column: "message", pattern: "ERROR:\\\\s+(\\\\w+)" })
|
|
223
|
-
sqlite_regex_extract({ table: "users", column: "email", pattern: "@([a-zA-Z0-9.-]+)", groupIndex: 1 })
|
|
224
|
-
|
|
225
|
-
// Text manipulation
|
|
226
|
-
sqlite_text_split({ table: "users", column: "email", delimiter: "@" }) // Split into parts array
|
|
227
|
-
sqlite_text_concat({ table: "users", columns: ["first_name", "last_name"], separator: " " })
|
|
228
|
-
sqlite_text_normalize({ table: "docs", column: "content", mode: "strip_accents" }) // or nfc, nfd, nfkc, nfkd
|
|
229
|
-
|
|
230
|
-
// Validation patterns: email, phone, url, uuid, ipv4, custom
|
|
231
|
-
sqlite_text_validate({ table: "users", column: "email", pattern: "email" })
|
|
232
|
-
sqlite_text_validate({ table: "data", column: "field", pattern: "custom", customPattern: "^[A-Z]{2}[0-9]{4}$" })
|
|
233
|
-
|
|
234
|
-
// Fuzzy matching - matches WORD TOKENS by default (not entire value)
|
|
235
|
-
// "laptop" matches "Laptop Pro 15" (distance 0 on first token). Use tokenize:false for full-string matching.
|
|
236
|
-
sqlite_fuzzy_match({ table: "products", column: "name", search: "laptop", maxDistance: 2 })
|
|
237
|
-
sqlite_fuzzy_match({ table: "products", column: "name", search: "laptob", maxDistance: 2, tokenize: false }) // matches full value
|
|
238
|
-
|
|
239
|
-
// Phonetic matching - finds words that sound alike (compares FIRST word only)
|
|
240
|
-
// Use includeRowData:false for lighter payloads when only matching values are needed
|
|
241
|
-
sqlite_phonetic_match({ table: "products", column: "name", search: "laptop", algorithm: "soundex" })
|
|
242
|
-
sqlite_phonetic_match({ table: "products", column: "name", search: "laptop", includeRowData: false }) // lighter response
|
|
243
|
-
|
|
244
|
-
// Advanced search - combines exact, fuzzy, and phonetic techniques
|
|
245
|
-
// fuzzyThreshold: 0.3-0.4 = loose matching (more results), 0.6-0.8 = strict matching (fewer results)
|
|
246
|
-
sqlite_advanced_search({ table: "products", column: "name", searchTerm: "laptop", techniques: ["exact", "fuzzy", "phonetic"], fuzzyThreshold: 0.4 })
|
|
247
|
-
\`\`\`
|
|
248
|
-
|
|
249
|
-
## Database Administration
|
|
250
|
-
\`\`\`javascript
|
|
251
|
-
// Database maintenance
|
|
252
|
-
sqlite_integrity_check({ maxErrors: 10 }) // Check for corruption
|
|
253
|
-
sqlite_optimize({ analyze: true, reindex: true }) // Optimize performance
|
|
254
|
-
sqlite_vacuum() // Reclaim space
|
|
255
|
-
sqlite_analyze({ table: "orders" }) // Update statistics for query planner
|
|
256
|
-
sqlite_dbstat({ summarize: true }) // Storage statistics (summarize only works in native; WASM returns counts only)
|
|
257
|
-
|
|
258
|
-
// Backup and restore (Native only)
|
|
259
|
-
sqlite_backup({ targetPath: "/path/to/backup.db" })
|
|
260
|
-
sqlite_verify_backup({ backupPath: "/path/to/backup.db" }) // Check integrity without restoring
|
|
261
|
-
sqlite_restore({ sourcePath: "/path/to/backup.db" }) // WARNING: Replaces current database
|
|
262
|
-
|
|
263
|
-
// PRAGMA utilities
|
|
264
|
-
sqlite_pragma_settings({ pragma: "journal_mode" }) // Get value
|
|
265
|
-
sqlite_pragma_settings({ pragma: "cache_size", value: 10000 }) // Set value
|
|
266
|
-
sqlite_pragma_table_info({ table: "users" }) // Column details
|
|
267
|
-
sqlite_pragma_compile_options({ filter: "FTS" }) // Filter compile options (note: WASM may show FTS3, not FTS5)
|
|
268
|
-
sqlite_pragma_database_list() // List attached databases
|
|
269
|
-
sqlite_pragma_optimize() // Run PRAGMA optimize
|
|
270
|
-
|
|
271
|
-
// Index statistics
|
|
272
|
-
sqlite_index_stats({ table: "orders" }) // Stats for explicit indexes
|
|
273
|
-
|
|
274
|
-
// Views (SELECT-based virtual tables)
|
|
275
|
-
sqlite_create_view({ viewName: "active_orders", selectQuery: "SELECT * FROM orders WHERE status = 'active'" })
|
|
276
|
-
sqlite_create_view({ viewName: "v", selectQuery: "...", replace: true }) // CREATE OR REPLACE
|
|
277
|
-
sqlite_list_views() // List all views
|
|
278
|
-
sqlite_drop_view({ viewName: "active_orders" })
|
|
279
|
-
|
|
280
|
-
// Virtual tables
|
|
281
|
-
sqlite_list_virtual_tables() // List FTS5, R-Tree, CSV tables
|
|
282
|
-
sqlite_virtual_table_info({ tableName: "articles_fts" }) // Module and column info
|
|
283
|
-
sqlite_drop_virtual_table({ tableName: "old_fts", ifExists: true })
|
|
284
|
-
|
|
285
|
-
// Generate series (pure JS - native generate_series extension not compiled into SQLite)
|
|
286
|
-
sqlite_generate_series({ start: 1, stop: 100, step: 5 }) // Returns array of values
|
|
287
|
-
// Creates a REGULAR table (not virtual) - use sqlite_drop_table to remove
|
|
288
|
-
sqlite_create_series_table({ tableName: "numbers", start: 1, stop: 1000 })
|
|
289
|
-
|
|
290
|
-
// R-Tree spatial indexing (Native only - returns graceful error with wasmLimitation: true in WASM)
|
|
291
|
-
sqlite_create_rtree_table({ tableName: "locations_idx", dimensions: 2 }) // 2D: minX, maxX, minY, maxY
|
|
292
|
-
|
|
293
|
-
// CSV Virtual Tables (Native only - returns graceful error in WASM; requires ABSOLUTE paths)
|
|
294
|
-
sqlite_analyze_csv_schema({ filePath: "/absolute/path/to/data.csv" })
|
|
295
|
-
sqlite_create_csv_table({ tableName: "csv_data", filePath: "/absolute/path/to/data.csv" })
|
|
296
|
-
|
|
297
|
-
// Business insights capture
|
|
298
|
-
sqlite_append_insight({ insight: "Q4 revenue increased 23% YoY" }) // Add to memo://insights
|
|
299
|
-
\`\`\`
|
|
300
|
-
`;
|
|
301
|
-
/**
|
|
302
|
-
* Generate dynamic instructions based on enabled tools, resources, and prompts
|
|
303
|
-
*
|
|
304
|
-
* @param enabledTools - Set of enabled tool names
|
|
305
|
-
* @param resources - Available resource definitions
|
|
306
|
-
* @param prompts - Available prompt definitions
|
|
307
|
-
* @param level - Instruction detail level (default: 'standard')
|
|
308
|
-
*/
|
|
309
|
-
export function generateInstructions(enabledTools, _resources, prompts, level = "standard") {
|
|
310
|
-
let instructions = ESSENTIAL_INSTRUCTIONS;
|
|
311
|
-
// Standard and full levels include filtering patterns
|
|
312
|
-
if (level === "standard" || level === "full") {
|
|
313
|
-
instructions += FILTERING_INSTRUCTIONS;
|
|
314
|
-
}
|
|
315
|
-
// Full level includes complete tool reference
|
|
316
|
-
if (level === "full") {
|
|
317
|
-
instructions += TOOL_REFERENCE;
|
|
318
|
-
// Add active tools summary
|
|
319
|
-
const activeGroups = getActiveToolGroups(enabledTools);
|
|
320
|
-
if (activeGroups.length > 0) {
|
|
321
|
-
instructions += `\n## Active Tools (${String(enabledTools.size)})\n`;
|
|
322
|
-
for (const { group, tools } of activeGroups) {
|
|
323
|
-
instructions += `**${group}**: ${tools.map((t) => `\`${t}\``).join(", ")}\n`;
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
// Add prompts section
|
|
327
|
-
if (prompts.length > 0) {
|
|
328
|
-
instructions += `\n## Prompts (${String(prompts.length)})\n`;
|
|
329
|
-
instructions += "Pre-built templates and guided workflows:\n";
|
|
330
|
-
for (const prompt of prompts) {
|
|
331
|
-
instructions += `- \`${prompt.name}\` - ${prompt.description ?? ""}\n`;
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
return instructions;
|
|
336
|
-
}
|
|
337
|
-
/**
|
|
338
|
-
* Get active tool groups with their enabled tools
|
|
339
|
-
*/
|
|
340
|
-
function getActiveToolGroups(enabledTools) {
|
|
341
|
-
const activeGroups = [];
|
|
342
|
-
for (const group of ALL_TOOL_GROUPS) {
|
|
343
|
-
const allTools = TOOL_GROUPS[group];
|
|
344
|
-
const enabledInGroup = allTools.filter((tool) => enabledTools.has(tool));
|
|
345
|
-
if (enabledInGroup.length > 0) {
|
|
346
|
-
activeGroups.push({ group, tools: enabledInGroup });
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
return activeGroups;
|
|
350
|
-
}
|
|
351
|
-
/**
|
|
352
|
-
* Static instructions for backward compatibility
|
|
353
|
-
* @deprecated Use generateInstructions() instead for dynamic content
|
|
354
|
-
*/
|
|
355
|
-
export const SERVER_INSTRUCTIONS = ESSENTIAL_INSTRUCTIONS + FILTERING_INSTRUCTIONS;
|
|
356
|
-
//# sourceMappingURL=ServerInstructions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ServerInstructions.js","sourceRoot":"","sources":["../../src/constants/ServerInstructions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* db-mcp - Tool Constants
|
|
3
|
-
*
|
|
4
|
-
* Defines the tool groups and meta-groups used for filtering.
|
|
5
|
-
*
|
|
6
|
-
* Actual tool groups (from code audit):
|
|
7
|
-
* core: 8 tools (from core.ts)
|
|
8
|
-
* json: 23 tools (from json-helpers.ts + json-operations.ts)
|
|
9
|
-
* text: 17 tools (from text.ts + fts.ts)
|
|
10
|
-
* stats: 19 tools (from stats.ts + window.ts)
|
|
11
|
-
* vector: 11 tools (from vector.ts)
|
|
12
|
-
* admin: 33 tools (from admin.ts + virtual.ts + transactions.ts)
|
|
13
|
-
* geo: 11 tools (from geo.ts + spatialite.ts) - Native: 11, WASM: 4
|
|
14
|
-
* Total: 122 Native / 102 WASM tools
|
|
15
|
-
*
|
|
16
|
-
* Note: 3 built-in server tools (server_info, server_health, list_adapters)
|
|
17
|
-
* are always available regardless of filter settings.
|
|
18
|
-
*/
|
|
19
|
-
import type { ToolGroup, MetaGroup } from "../types/index.js";
|
|
20
|
-
/**
|
|
21
|
-
* All valid tool groups
|
|
22
|
-
*/
|
|
23
|
-
export declare const ALL_TOOL_GROUPS: ToolGroup[];
|
|
24
|
-
/**
|
|
25
|
-
* Tool groups - kept for backwards compatibility with scopes.ts
|
|
26
|
-
* The actual filtering uses the tool's 'group' property, not these lists.
|
|
27
|
-
*/
|
|
28
|
-
export declare const TOOL_GROUPS: Record<ToolGroup, string[]>;
|
|
29
|
-
/**
|
|
30
|
-
* Meta-groups that expand to multiple tool groups.
|
|
31
|
-
* These provide shortcuts for common use cases.
|
|
32
|
-
*/
|
|
33
|
-
export declare const META_GROUPS: Record<MetaGroup, ToolGroup[]>;
|
|
34
|
-
//# sourceMappingURL=ToolConstants.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToolConstants.d.ts","sourceRoot":"","sources":["../../src/filtering/ToolConstants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,EAQtC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CAwHnD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,CAkBtD,CAAC"}
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* db-mcp - Tool Constants
|
|
3
|
-
*
|
|
4
|
-
* Defines the tool groups and meta-groups used for filtering.
|
|
5
|
-
*
|
|
6
|
-
* Actual tool groups (from code audit):
|
|
7
|
-
* core: 8 tools (from core.ts)
|
|
8
|
-
* json: 23 tools (from json-helpers.ts + json-operations.ts)
|
|
9
|
-
* text: 17 tools (from text.ts + fts.ts)
|
|
10
|
-
* stats: 19 tools (from stats.ts + window.ts)
|
|
11
|
-
* vector: 11 tools (from vector.ts)
|
|
12
|
-
* admin: 33 tools (from admin.ts + virtual.ts + transactions.ts)
|
|
13
|
-
* geo: 11 tools (from geo.ts + spatialite.ts) - Native: 11, WASM: 4
|
|
14
|
-
* Total: 122 Native / 102 WASM tools
|
|
15
|
-
*
|
|
16
|
-
* Note: 3 built-in server tools (server_info, server_health, list_adapters)
|
|
17
|
-
* are always available regardless of filter settings.
|
|
18
|
-
*/
|
|
19
|
-
/**
|
|
20
|
-
* All valid tool groups
|
|
21
|
-
*/
|
|
22
|
-
export const ALL_TOOL_GROUPS = [
|
|
23
|
-
"core",
|
|
24
|
-
"json",
|
|
25
|
-
"text",
|
|
26
|
-
"stats",
|
|
27
|
-
"vector",
|
|
28
|
-
"admin",
|
|
29
|
-
"geo",
|
|
30
|
-
];
|
|
31
|
-
/**
|
|
32
|
-
* Tool groups - kept for backwards compatibility with scopes.ts
|
|
33
|
-
* The actual filtering uses the tool's 'group' property, not these lists.
|
|
34
|
-
*/
|
|
35
|
-
export const TOOL_GROUPS = {
|
|
36
|
-
core: [
|
|
37
|
-
"read_query",
|
|
38
|
-
"write_query",
|
|
39
|
-
"list_tables",
|
|
40
|
-
"describe_table",
|
|
41
|
-
"create_table",
|
|
42
|
-
"drop_table",
|
|
43
|
-
"get_indexes",
|
|
44
|
-
"create_index",
|
|
45
|
-
],
|
|
46
|
-
json: [
|
|
47
|
-
// JSON Helper Tools (8)
|
|
48
|
-
"json_insert",
|
|
49
|
-
"json_update",
|
|
50
|
-
"json_select",
|
|
51
|
-
"json_query",
|
|
52
|
-
"json_validate_path",
|
|
53
|
-
"json_merge",
|
|
54
|
-
"json_analyze_schema",
|
|
55
|
-
"create_json_collection",
|
|
56
|
-
// JSON Operation Tools (12)
|
|
57
|
-
"json_valid",
|
|
58
|
-
"json_extract",
|
|
59
|
-
"json_set",
|
|
60
|
-
"json_remove",
|
|
61
|
-
"json_type",
|
|
62
|
-
"json_array_length",
|
|
63
|
-
"json_array_append",
|
|
64
|
-
"json_keys",
|
|
65
|
-
"json_each",
|
|
66
|
-
"json_group_array",
|
|
67
|
-
"json_group_object",
|
|
68
|
-
"json_pretty",
|
|
69
|
-
// JSONB Tools (3)
|
|
70
|
-
"jsonb_convert",
|
|
71
|
-
"json_storage_info",
|
|
72
|
-
"json_normalize_column",
|
|
73
|
-
],
|
|
74
|
-
text: [
|
|
75
|
-
"regex_extract",
|
|
76
|
-
"regex_match",
|
|
77
|
-
"text_split",
|
|
78
|
-
"text_concat",
|
|
79
|
-
"text_replace",
|
|
80
|
-
"text_trim",
|
|
81
|
-
"text_case",
|
|
82
|
-
"text_substring",
|
|
83
|
-
"fts_create",
|
|
84
|
-
"fts_insert",
|
|
85
|
-
"fts_search",
|
|
86
|
-
"fts_match",
|
|
87
|
-
],
|
|
88
|
-
stats: [
|
|
89
|
-
"stats_basic",
|
|
90
|
-
"stats_count",
|
|
91
|
-
"stats_group_by",
|
|
92
|
-
"stats_histogram",
|
|
93
|
-
"stats_percentile",
|
|
94
|
-
"stats_regression",
|
|
95
|
-
"stats_correlation",
|
|
96
|
-
"stats_zscore",
|
|
97
|
-
"stats_time_bucket",
|
|
98
|
-
"stats_moving_avg",
|
|
99
|
-
"geo_distance",
|
|
100
|
-
"geo_bounding_box",
|
|
101
|
-
"geo_point_in_radius",
|
|
102
|
-
"geo_nearest",
|
|
103
|
-
"geo_encode",
|
|
104
|
-
"geo_decode",
|
|
105
|
-
],
|
|
106
|
-
vector: [
|
|
107
|
-
"vector_create_table",
|
|
108
|
-
"vector_store",
|
|
109
|
-
"vector_batch_store",
|
|
110
|
-
"vector_search",
|
|
111
|
-
"vector_get",
|
|
112
|
-
"vector_delete",
|
|
113
|
-
"vector_count",
|
|
114
|
-
"vector_stats",
|
|
115
|
-
"vector_dimensions",
|
|
116
|
-
"vector_normalize",
|
|
117
|
-
"vector_distance",
|
|
118
|
-
],
|
|
119
|
-
admin: [
|
|
120
|
-
"backup",
|
|
121
|
-
"analyze",
|
|
122
|
-
"integrity_check",
|
|
123
|
-
"optimize",
|
|
124
|
-
"generate_series",
|
|
125
|
-
"create_view",
|
|
126
|
-
"list_views",
|
|
127
|
-
"drop_view",
|
|
128
|
-
"dbstat",
|
|
129
|
-
"vacuum",
|
|
130
|
-
"transaction_begin",
|
|
131
|
-
"transaction_commit",
|
|
132
|
-
"transaction_rollback",
|
|
133
|
-
"transaction_savepoint",
|
|
134
|
-
"transaction_release",
|
|
135
|
-
"transaction_rollback_to",
|
|
136
|
-
"transaction_execute",
|
|
137
|
-
"window_row_number",
|
|
138
|
-
"window_rank",
|
|
139
|
-
"window_lag_lead",
|
|
140
|
-
"window_running_total",
|
|
141
|
-
],
|
|
142
|
-
geo: [
|
|
143
|
-
"geo_distance",
|
|
144
|
-
"geo_nearby",
|
|
145
|
-
"geo_bounding_box",
|
|
146
|
-
"geo_cluster",
|
|
147
|
-
"spatialite_load",
|
|
148
|
-
"spatialite_create_table",
|
|
149
|
-
"spatialite_query",
|
|
150
|
-
"spatialite_analyze",
|
|
151
|
-
"spatialite_index",
|
|
152
|
-
"spatialite_transform",
|
|
153
|
-
"spatialite_import",
|
|
154
|
-
],
|
|
155
|
-
};
|
|
156
|
-
/**
|
|
157
|
-
* Meta-groups that expand to multiple tool groups.
|
|
158
|
-
* These provide shortcuts for common use cases.
|
|
159
|
-
*/
|
|
160
|
-
export const META_GROUPS = {
|
|
161
|
-
// General development - Core + JSON + Text (48 tools)
|
|
162
|
-
starter: ["core", "json", "text"],
|
|
163
|
-
// Data analysis - Core + JSON + Stats (50 tools Native, 44 WASM)
|
|
164
|
-
analytics: ["core", "json", "stats"],
|
|
165
|
-
// Search workloads - Core + Text + Vector (36 tools)
|
|
166
|
-
search: ["core", "text", "vector"],
|
|
167
|
-
// Geospatial workloads - Core + Geo + Vector (30 tools Native, 23 WASM)
|
|
168
|
-
spatial: ["core", "geo", "vector"],
|
|
169
|
-
// Bare minimum - Core only (8 tools)
|
|
170
|
-
minimal: ["core"],
|
|
171
|
-
// All tools enabled (122 Native / 102 WASM tools)
|
|
172
|
-
full: ["core", "json", "text", "stats", "vector", "admin", "geo"],
|
|
173
|
-
};
|
|
174
|
-
//# sourceMappingURL=ToolConstants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToolConstants.js","sourceRoot":"","sources":["../../src/filtering/ToolConstants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAgB;IAC1C,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,KAAK;CACN,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAgC;IACtD,IAAI,EAAE;QACJ,YAAY;QACZ,aAAa;QACb,aAAa;QACb,gBAAgB;QAChB,cAAc;QACd,YAAY;QACZ,aAAa;QACb,cAAc;KACf;IACD,IAAI,EAAE;QACJ,wBAAwB;QACxB,aAAa;QACb,aAAa;QACb,aAAa;QACb,YAAY;QACZ,oBAAoB;QACpB,YAAY;QACZ,qBAAqB;QACrB,wBAAwB;QACxB,4BAA4B;QAC5B,YAAY;QACZ,cAAc;QACd,UAAU;QACV,aAAa;QACb,WAAW;QACX,mBAAmB;QACnB,mBAAmB;QACnB,WAAW;QACX,WAAW;QACX,kBAAkB;QAClB,mBAAmB;QACnB,aAAa;QACb,kBAAkB;QAClB,eAAe;QACf,mBAAmB;QACnB,uBAAuB;KACxB;IACD,IAAI,EAAE;QACJ,eAAe;QACf,aAAa;QACb,YAAY;QACZ,aAAa;QACb,cAAc;QACd,WAAW;QACX,WAAW;QACX,gBAAgB;QAChB,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,WAAW;KACZ;IACD,KAAK,EAAE;QACL,aAAa;QACb,aAAa;QACb,gBAAgB;QAChB,iBAAiB;QACjB,kBAAkB;QAClB,kBAAkB;QAClB,mBAAmB;QACnB,cAAc;QACd,mBAAmB;QACnB,kBAAkB;QAClB,cAAc;QACd,kBAAkB;QAClB,qBAAqB;QACrB,aAAa;QACb,YAAY;QACZ,YAAY;KACb;IACD,MAAM,EAAE;QACN,qBAAqB;QACrB,cAAc;QACd,oBAAoB;QACpB,eAAe;QACf,YAAY;QACZ,eAAe;QACf,cAAc;QACd,cAAc;QACd,mBAAmB;QACnB,kBAAkB;QAClB,iBAAiB;KAClB;IACD,KAAK,EAAE;QACL,QAAQ;QACR,SAAS;QACT,iBAAiB;QACjB,UAAU;QACV,iBAAiB;QACjB,aAAa;QACb,YAAY;QACZ,WAAW;QACX,QAAQ;QACR,QAAQ;QACR,mBAAmB;QACnB,oBAAoB;QACpB,sBAAsB;QACtB,uBAAuB;QACvB,qBAAqB;QACrB,yBAAyB;QACzB,qBAAqB;QACrB,mBAAmB;QACnB,aAAa;QACb,iBAAiB;QACjB,sBAAsB;KACvB;IACD,GAAG,EAAE;QACH,cAAc;QACd,YAAY;QACZ,kBAAkB;QAClB,aAAa;QACb,iBAAiB;QACjB,yBAAyB;QACzB,kBAAkB;QAClB,oBAAoB;QACpB,kBAAkB;QAClB,sBAAsB;QACtB,mBAAmB;KACpB;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAmC;IACzD,sDAAsD;IACtD,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAEjC,iEAAiE;IACjE,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;IAEpC,qDAAqD;IACrD,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;IAElC,wEAAwE;IACxE,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC;IAElC,qCAAqC;IACrC,OAAO,EAAE,CAAC,MAAM,CAAC;IAEjB,kDAAkD;IAClD,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;CAClE,CAAC"}
|