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,82 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* db-mcp - Tool Filtering System
|
|
3
|
-
*
|
|
4
|
-
* Parses and applies tool filter rules from environment variables.
|
|
5
|
-
* Compatible with postgres-mcp-server filtering syntax.
|
|
6
|
-
*
|
|
7
|
-
* Syntax:
|
|
8
|
-
* groupName → Enable only this group (whitelist mode)
|
|
9
|
-
* shortcut → Use a preset (starter, analytics, search, etc.)
|
|
10
|
-
* -group → Disable all tools in a group
|
|
11
|
-
* +group → Enable all tools in a group
|
|
12
|
-
* -tool → Disable a specific tool
|
|
13
|
-
* +tool → Enable a specific tool
|
|
14
|
-
*
|
|
15
|
-
* Mode Detection:
|
|
16
|
-
* - If first token starts with '-', start with ALL groups enabled (exclusion mode)
|
|
17
|
-
* - Otherwise, start with NO groups enabled (whitelist mode)
|
|
18
|
-
*
|
|
19
|
-
* Examples:
|
|
20
|
-
* "core,json" → Whitelist: only core and json groups
|
|
21
|
-
* "starter" → Preset: core + json + text groups
|
|
22
|
-
* "starter,-fts5" → Preset minus fts5 group
|
|
23
|
-
* "-vector,-geo" → Legacy: all groups except vector and geo
|
|
24
|
-
*/
|
|
25
|
-
import type { ToolGroup, MetaGroup, ToolFilterConfig, ToolDefinition } from "../types/index.js";
|
|
26
|
-
export { META_GROUPS, TOOL_GROUPS, ALL_TOOL_GROUPS } from "./ToolConstants.js";
|
|
27
|
-
/**
|
|
28
|
-
* Get all tool names from all groups (cached)
|
|
29
|
-
*/
|
|
30
|
-
export declare function getAllToolNames(): string[];
|
|
31
|
-
/**
|
|
32
|
-
* Get the group for a specific tool (O(1) lookup)
|
|
33
|
-
*/
|
|
34
|
-
export declare function getToolGroup(toolName: string): ToolGroup | undefined;
|
|
35
|
-
/**
|
|
36
|
-
* Clear all caches - useful for testing
|
|
37
|
-
*/
|
|
38
|
-
export declare function clearToolFilterCaches(): void;
|
|
39
|
-
/**
|
|
40
|
-
* Check if a name is a valid tool group
|
|
41
|
-
*/
|
|
42
|
-
export declare function isToolGroup(name: string): name is ToolGroup;
|
|
43
|
-
/**
|
|
44
|
-
* Check if a name is a valid meta-group
|
|
45
|
-
*/
|
|
46
|
-
export declare function isMetaGroup(name: string): name is MetaGroup;
|
|
47
|
-
/**
|
|
48
|
-
* Get tool groups from a meta-group
|
|
49
|
-
*/
|
|
50
|
-
export declare function getMetaGroupGroups(metaGroup: MetaGroup): ToolGroup[];
|
|
51
|
-
/**
|
|
52
|
-
* Parse a tool filter string into structured rules
|
|
53
|
-
*
|
|
54
|
-
* @param filterString - The filter string (e.g., "starter" or "-vector,-geo")
|
|
55
|
-
* @returns Parsed filter configuration with enabled groups
|
|
56
|
-
*/
|
|
57
|
-
export declare function parseToolFilter(filterString: string | undefined): ToolFilterConfig;
|
|
58
|
-
/**
|
|
59
|
-
* Check if a tool is enabled based on filter configuration
|
|
60
|
-
* Uses the tool's group property for matching
|
|
61
|
-
*/
|
|
62
|
-
export declare function isToolEnabled(tool: ToolDefinition, config: ToolFilterConfig): boolean;
|
|
63
|
-
/**
|
|
64
|
-
* Filter a list of tool definitions based on filter configuration
|
|
65
|
-
*/
|
|
66
|
-
export declare function filterTools(tools: ToolDefinition[], config: ToolFilterConfig): ToolDefinition[];
|
|
67
|
-
/**
|
|
68
|
-
* Get the tool filter from environment variable
|
|
69
|
-
*/
|
|
70
|
-
export declare function getToolFilterFromEnv(): ToolFilterConfig;
|
|
71
|
-
/**
|
|
72
|
-
* Generate a summary of the current filter configuration
|
|
73
|
-
*/
|
|
74
|
-
export declare function getFilterSummary(config: ToolFilterConfig): string;
|
|
75
|
-
/**
|
|
76
|
-
* Get a list of all meta-groups with their expanded groups
|
|
77
|
-
*/
|
|
78
|
-
export declare function getMetaGroupInfo(): {
|
|
79
|
-
metaGroup: MetaGroup;
|
|
80
|
-
groups: ToolGroup[];
|
|
81
|
-
}[];
|
|
82
|
-
//# sourceMappingURL=ToolFilter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToolFilter.d.ts","sourceRoot":"","sources":["../../src/filtering/ToolFilter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAc/E;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAM1C;AAkBD;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAEpE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,SAAS,CAE3D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,SAAS,CAE3D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,CAEpE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,gBAAgB,CA+HlB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAwBT;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,cAAc,EAAE,EACvB,MAAM,EAAE,gBAAgB,GACvB,cAAc,EAAE,CAElB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,CAIvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAiCjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI;IAClC,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB,EAAE,CAKF"}
|
|
@@ -1,296 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* db-mcp - Tool Filtering System
|
|
3
|
-
*
|
|
4
|
-
* Parses and applies tool filter rules from environment variables.
|
|
5
|
-
* Compatible with postgres-mcp-server filtering syntax.
|
|
6
|
-
*
|
|
7
|
-
* Syntax:
|
|
8
|
-
* groupName → Enable only this group (whitelist mode)
|
|
9
|
-
* shortcut → Use a preset (starter, analytics, search, etc.)
|
|
10
|
-
* -group → Disable all tools in a group
|
|
11
|
-
* +group → Enable all tools in a group
|
|
12
|
-
* -tool → Disable a specific tool
|
|
13
|
-
* +tool → Enable a specific tool
|
|
14
|
-
*
|
|
15
|
-
* Mode Detection:
|
|
16
|
-
* - If first token starts with '-', start with ALL groups enabled (exclusion mode)
|
|
17
|
-
* - Otherwise, start with NO groups enabled (whitelist mode)
|
|
18
|
-
*
|
|
19
|
-
* Examples:
|
|
20
|
-
* "core,json" → Whitelist: only core and json groups
|
|
21
|
-
* "starter" → Preset: core + json + text groups
|
|
22
|
-
* "starter,-fts5" → Preset minus fts5 group
|
|
23
|
-
* "-vector,-geo" → Legacy: all groups except vector and geo
|
|
24
|
-
*/
|
|
25
|
-
import { META_GROUPS, ALL_TOOL_GROUPS, TOOL_GROUPS } from "./ToolConstants.js";
|
|
26
|
-
// Re-export for backwards compatibility
|
|
27
|
-
export { META_GROUPS, TOOL_GROUPS, ALL_TOOL_GROUPS } from "./ToolConstants.js";
|
|
28
|
-
/**
|
|
29
|
-
* Cached list of all tool names
|
|
30
|
-
* Lazy-initialized since TOOL_GROUPS is immutable
|
|
31
|
-
*/
|
|
32
|
-
let cachedAllToolNames = null;
|
|
33
|
-
/**
|
|
34
|
-
* Reverse lookup map: tool name -> group
|
|
35
|
-
* Lazy-initialized for O(1) tool group lookups
|
|
36
|
-
*/
|
|
37
|
-
let toolToGroupMap = null;
|
|
38
|
-
/**
|
|
39
|
-
* Get all tool names from all groups (cached)
|
|
40
|
-
*/
|
|
41
|
-
export function getAllToolNames() {
|
|
42
|
-
if (cachedAllToolNames) {
|
|
43
|
-
return cachedAllToolNames;
|
|
44
|
-
}
|
|
45
|
-
cachedAllToolNames = ALL_TOOL_GROUPS.flatMap((group) => TOOL_GROUPS[group]);
|
|
46
|
-
return cachedAllToolNames;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Get or initialize the tool-to-group reverse lookup map
|
|
50
|
-
*/
|
|
51
|
-
function getToolToGroupMap() {
|
|
52
|
-
if (toolToGroupMap) {
|
|
53
|
-
return toolToGroupMap;
|
|
54
|
-
}
|
|
55
|
-
toolToGroupMap = new Map();
|
|
56
|
-
for (const group of ALL_TOOL_GROUPS) {
|
|
57
|
-
for (const tool of TOOL_GROUPS[group]) {
|
|
58
|
-
toolToGroupMap.set(tool, group);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return toolToGroupMap;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Get the group for a specific tool (O(1) lookup)
|
|
65
|
-
*/
|
|
66
|
-
export function getToolGroup(toolName) {
|
|
67
|
-
return getToolToGroupMap().get(toolName);
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Clear all caches - useful for testing
|
|
71
|
-
*/
|
|
72
|
-
export function clearToolFilterCaches() {
|
|
73
|
-
cachedAllToolNames = null;
|
|
74
|
-
toolToGroupMap = null;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Check if a name is a valid tool group
|
|
78
|
-
*/
|
|
79
|
-
export function isToolGroup(name) {
|
|
80
|
-
return ALL_TOOL_GROUPS.includes(name);
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Check if a name is a valid meta-group
|
|
84
|
-
*/
|
|
85
|
-
export function isMetaGroup(name) {
|
|
86
|
-
return name in META_GROUPS;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Get tool groups from a meta-group
|
|
90
|
-
*/
|
|
91
|
-
export function getMetaGroupGroups(metaGroup) {
|
|
92
|
-
return META_GROUPS[metaGroup];
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Parse a tool filter string into structured rules
|
|
96
|
-
*
|
|
97
|
-
* @param filterString - The filter string (e.g., "starter" or "-vector,-geo")
|
|
98
|
-
* @returns Parsed filter configuration with enabled groups
|
|
99
|
-
*/
|
|
100
|
-
export function parseToolFilter(filterString) {
|
|
101
|
-
// Default: all groups enabled, no specific tool exclusions
|
|
102
|
-
const enabledGroups = new Set(ALL_TOOL_GROUPS);
|
|
103
|
-
const excludedTools = new Set();
|
|
104
|
-
const includedTools = new Set();
|
|
105
|
-
if (!filterString || filterString.trim() === "") {
|
|
106
|
-
return {
|
|
107
|
-
raw: "",
|
|
108
|
-
rules: [],
|
|
109
|
-
enabledGroups,
|
|
110
|
-
excludedTools,
|
|
111
|
-
includedTools,
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
const rules = [];
|
|
115
|
-
const parts = filterString
|
|
116
|
-
.split(",")
|
|
117
|
-
.map((p) => p.trim())
|
|
118
|
-
.filter((p) => p);
|
|
119
|
-
if (parts.length === 0) {
|
|
120
|
-
return {
|
|
121
|
-
raw: filterString,
|
|
122
|
-
rules: [],
|
|
123
|
-
enabledGroups,
|
|
124
|
-
excludedTools,
|
|
125
|
-
includedTools,
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
// Mode detection: if first token starts with '-', exclusion mode (legacy)
|
|
129
|
-
// Otherwise, whitelist mode (new) - start with empty groups
|
|
130
|
-
const firstPart = parts[0];
|
|
131
|
-
if (!firstPart) {
|
|
132
|
-
return {
|
|
133
|
-
raw: filterString,
|
|
134
|
-
rules: [],
|
|
135
|
-
enabledGroups,
|
|
136
|
-
excludedTools,
|
|
137
|
-
includedTools,
|
|
138
|
-
};
|
|
139
|
-
}
|
|
140
|
-
const startsWithExclude = firstPart.startsWith("-");
|
|
141
|
-
if (!startsWithExclude) {
|
|
142
|
-
enabledGroups.clear();
|
|
143
|
-
}
|
|
144
|
-
for (const part of parts) {
|
|
145
|
-
if (!part)
|
|
146
|
-
continue;
|
|
147
|
-
let isInclude = true; // Default to include (whitelist mode)
|
|
148
|
-
let isExclude = false;
|
|
149
|
-
let target = part;
|
|
150
|
-
if (part.startsWith("+")) {
|
|
151
|
-
isInclude = true;
|
|
152
|
-
target = part.substring(1);
|
|
153
|
-
}
|
|
154
|
-
else if (part.startsWith("-")) {
|
|
155
|
-
isInclude = false;
|
|
156
|
-
isExclude = true;
|
|
157
|
-
target = part.substring(1);
|
|
158
|
-
}
|
|
159
|
-
// No prefix = include (whitelist mode)
|
|
160
|
-
// Special case: 'all'
|
|
161
|
-
if (target === "all") {
|
|
162
|
-
if (isExclude) {
|
|
163
|
-
enabledGroups.clear();
|
|
164
|
-
}
|
|
165
|
-
else {
|
|
166
|
-
for (const group of ALL_TOOL_GROUPS) {
|
|
167
|
-
enabledGroups.add(group);
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
continue;
|
|
171
|
-
}
|
|
172
|
-
const targetIsMetaGroup = isMetaGroup(target);
|
|
173
|
-
const targetIsGroup = isToolGroup(target);
|
|
174
|
-
rules.push({
|
|
175
|
-
type: isInclude ? "include" : "exclude",
|
|
176
|
-
target,
|
|
177
|
-
isGroup: targetIsGroup || targetIsMetaGroup,
|
|
178
|
-
});
|
|
179
|
-
// Apply rule - check meta-groups first, then regular groups, then individual tools
|
|
180
|
-
if (targetIsMetaGroup) {
|
|
181
|
-
// Expand meta-group to its constituent groups
|
|
182
|
-
const groupsInMeta = getMetaGroupGroups(target);
|
|
183
|
-
if (isExclude) {
|
|
184
|
-
for (const group of groupsInMeta) {
|
|
185
|
-
enabledGroups.delete(group);
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
else {
|
|
189
|
-
for (const group of groupsInMeta) {
|
|
190
|
-
enabledGroups.add(group);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
else if (targetIsGroup) {
|
|
195
|
-
// Add/remove a single group
|
|
196
|
-
if (isExclude) {
|
|
197
|
-
enabledGroups.delete(target);
|
|
198
|
-
}
|
|
199
|
-
else {
|
|
200
|
-
enabledGroups.add(target);
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
else {
|
|
204
|
-
// Individual tool - track in include/exclude sets
|
|
205
|
-
if (isExclude) {
|
|
206
|
-
excludedTools.add(target);
|
|
207
|
-
includedTools.delete(target);
|
|
208
|
-
}
|
|
209
|
-
else {
|
|
210
|
-
includedTools.add(target);
|
|
211
|
-
excludedTools.delete(target);
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
return {
|
|
216
|
-
raw: filterString,
|
|
217
|
-
rules,
|
|
218
|
-
enabledGroups,
|
|
219
|
-
excludedTools,
|
|
220
|
-
includedTools,
|
|
221
|
-
};
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Check if a tool is enabled based on filter configuration
|
|
225
|
-
* Uses the tool's group property for matching
|
|
226
|
-
*/
|
|
227
|
-
export function isToolEnabled(tool, config) {
|
|
228
|
-
const baseName = tool.name.replace(/^(sqlite|mysql|postgres|mongodb|redis|sqlserver)_/, "");
|
|
229
|
-
// Check explicit tool exclusion
|
|
230
|
-
if (config.excludedTools.has(tool.name) ||
|
|
231
|
-
config.excludedTools.has(baseName)) {
|
|
232
|
-
return false;
|
|
233
|
-
}
|
|
234
|
-
// Check explicit tool inclusion
|
|
235
|
-
if (config.includedTools.has(tool.name) ||
|
|
236
|
-
config.includedTools.has(baseName)) {
|
|
237
|
-
return true;
|
|
238
|
-
}
|
|
239
|
-
// Check if tool's group is enabled
|
|
240
|
-
return config.enabledGroups.has(tool.group);
|
|
241
|
-
}
|
|
242
|
-
/**
|
|
243
|
-
* Filter a list of tool definitions based on filter configuration
|
|
244
|
-
*/
|
|
245
|
-
export function filterTools(tools, config) {
|
|
246
|
-
return tools.filter((tool) => isToolEnabled(tool, config));
|
|
247
|
-
}
|
|
248
|
-
/**
|
|
249
|
-
* Get the tool filter from environment variable
|
|
250
|
-
*/
|
|
251
|
-
export function getToolFilterFromEnv() {
|
|
252
|
-
const filterString = process.env["DB_MCP_TOOL_FILTER"] ?? process.env["TOOL_FILTER"] ?? "";
|
|
253
|
-
return parseToolFilter(filterString);
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* Generate a summary of the current filter configuration
|
|
257
|
-
*/
|
|
258
|
-
export function getFilterSummary(config) {
|
|
259
|
-
const lines = [
|
|
260
|
-
`Tool Filter Summary:`,
|
|
261
|
-
` Filter: ${config.raw || "(none)"}`,
|
|
262
|
-
` Enabled groups: ${config.enabledGroups.size}/${ALL_TOOL_GROUPS.length}`,
|
|
263
|
-
];
|
|
264
|
-
if (config.enabledGroups.size > 0) {
|
|
265
|
-
lines.push(` Groups: ${[...config.enabledGroups].join(", ")}`);
|
|
266
|
-
}
|
|
267
|
-
if (config.excludedTools.size > 0) {
|
|
268
|
-
lines.push(` Excluded tools: ${[...config.excludedTools].join(", ")}`);
|
|
269
|
-
}
|
|
270
|
-
if (config.includedTools.size > 0) {
|
|
271
|
-
lines.push(` Included tools: ${[...config.includedTools].join(", ")}`);
|
|
272
|
-
}
|
|
273
|
-
if (config.rules.length > 0) {
|
|
274
|
-
lines.push(` Rules applied: ${config.rules.length}`);
|
|
275
|
-
for (const rule of config.rules) {
|
|
276
|
-
const prefix = rule.type === "include" ? "+" : "-";
|
|
277
|
-
const type = isMetaGroup(rule.target)
|
|
278
|
-
? "meta-group"
|
|
279
|
-
: rule.isGroup
|
|
280
|
-
? "group"
|
|
281
|
-
: "tool";
|
|
282
|
-
lines.push(` ${prefix}${rule.target} (${type})`);
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
return lines.join("\n");
|
|
286
|
-
}
|
|
287
|
-
/**
|
|
288
|
-
* Get a list of all meta-groups with their expanded groups
|
|
289
|
-
*/
|
|
290
|
-
export function getMetaGroupInfo() {
|
|
291
|
-
return Object.entries(META_GROUPS).map(([metaGroup, groups]) => ({
|
|
292
|
-
metaGroup: metaGroup,
|
|
293
|
-
groups,
|
|
294
|
-
}));
|
|
295
|
-
}
|
|
296
|
-
//# sourceMappingURL=ToolFilter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToolFilter.js","sourceRoot":"","sources":["../../src/filtering/ToolFilter.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EAEV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,WAAW,EACX,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,cAAc,EAGd,aAAa,EACb,eAAe,EAGf,WAAW,EACX,UAAU,EACV,WAAW,EACX,cAAc,EAGd,SAAS,EACT,cAAc,EACd,gBAAgB,EAGhB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,UAAU,EACV,eAAe,EACf,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EACL,WAAW,EACX,WAAW,EACX,eAAe,EACf,eAAe,EACf,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AAGnC,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,IAAI,WAAW,CAAC"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc;AACd,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,uBAAuB,CAAC;AAqC/B,gBAAgB;AAChB,OAAO,EACL,UAAU,EACV,eAAe,EACf,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,qBAAqB;AACrB,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,2BAA2B;AAC3B,OAAO,EACL,WAAW,EACX,WAAW,EACX,eAAe,EACf,eAAe,EACf,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AAEnC,eAAe;AACf,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAC/B,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAC"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* db-mcp - Main MCP Server
|
|
3
|
-
*
|
|
4
|
-
* SQLite MCP server with OAuth 2.1 authentication,
|
|
5
|
-
* HTTP/SSE transport, and dynamic tool filtering.
|
|
6
|
-
*/
|
|
7
|
-
import type { McpServerConfig, DatabaseConfig } from "../types/index.js";
|
|
8
|
-
import { type DatabaseAdapter } from "../adapters/DatabaseAdapter.js";
|
|
9
|
-
/**
|
|
10
|
-
* Main db-mcp server class
|
|
11
|
-
*
|
|
12
|
-
* Manages database adapters, tool registration, and MCP protocol handling.
|
|
13
|
-
*/
|
|
14
|
-
export declare class DbMcpServer {
|
|
15
|
-
private server;
|
|
16
|
-
private adapters;
|
|
17
|
-
private toolFilter;
|
|
18
|
-
private config;
|
|
19
|
-
constructor(config: McpServerConfig);
|
|
20
|
-
/**
|
|
21
|
-
* Register a database adapter
|
|
22
|
-
*/
|
|
23
|
-
registerAdapter(adapter: DatabaseAdapter, config: DatabaseConfig): Promise<void>;
|
|
24
|
-
/**
|
|
25
|
-
* Get an adapter by ID
|
|
26
|
-
*/
|
|
27
|
-
getAdapter(adapterId: string): DatabaseAdapter | undefined;
|
|
28
|
-
/**
|
|
29
|
-
* Get all registered adapters
|
|
30
|
-
*/
|
|
31
|
-
getAdapters(): Map<string, DatabaseAdapter>;
|
|
32
|
-
/**
|
|
33
|
-
* Register built-in server tools (health, info, etc.)
|
|
34
|
-
*/
|
|
35
|
-
private registerBuiltInTools;
|
|
36
|
-
/**
|
|
37
|
-
* Start the server with the configured transport
|
|
38
|
-
*/
|
|
39
|
-
start(): Promise<void>;
|
|
40
|
-
/**
|
|
41
|
-
* Start server with stdio transport
|
|
42
|
-
*/
|
|
43
|
-
private startStdio;
|
|
44
|
-
/**
|
|
45
|
-
* Start server with HTTP transport (Streamable HTTP with SSE support)
|
|
46
|
-
*/
|
|
47
|
-
private startHttp;
|
|
48
|
-
/**
|
|
49
|
-
* Gracefully shut down the server
|
|
50
|
-
*/
|
|
51
|
-
shutdown(): Promise<void>;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Create and configure a db-mcp server instance
|
|
55
|
-
*/
|
|
56
|
-
export declare function createServer(config: McpServerConfig): DbMcpServer;
|
|
57
|
-
/**
|
|
58
|
-
* Default server configuration
|
|
59
|
-
*/
|
|
60
|
-
export declare const DEFAULT_CONFIG: Partial<McpServerConfig>;
|
|
61
|
-
//# sourceMappingURL=McpServer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"McpServer.d.ts","sourceRoot":"","sources":["../../src/server/McpServer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAStE;;;;GAIG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,eAAe;IA8CnC;;OAEG;IACG,eAAe,CACnB,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;IAmBhB;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAI1D;;OAEG;IACH,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC;IAI3C;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuG5B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5B;;OAEG;YACW,UAAU;IAQxB;;OAEG;YACW,SAAS;IAmDvB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAoBhC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,CAEjE;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,eAAe,CAKnD,CAAC"}
|