basedoc-dameng-mcp 0.1.0 → 0.1.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.
- package/README.md +19 -4
- package/dist/config.js +18 -18
- package/dist/config.js.map +1 -1
- package/dist/server.js +209 -182
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -31,14 +31,24 @@ npm install
|
|
|
31
31
|
npm run build
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
+
## Modes
|
|
35
|
+
|
|
36
|
+
The server supports two run modes, picked automatically from env vars:
|
|
37
|
+
|
|
38
|
+
- **DB + docs mode** (set both DB credentials and `DAMENG_DOCS_ROOT`): all 8 tools registered.
|
|
39
|
+
- **Docs-only mode** (set only `DAMENG_DOCS_ROOT`, no DB credentials): just the 4 docs tools — useful when you want to ship Dameng manuals to an LLM without exposing the database.
|
|
40
|
+
- (DB-only mode also works if you set DB creds without `DAMENG_DOCS_ROOT`.)
|
|
41
|
+
|
|
42
|
+
Server fails fast (exit 2) if neither set is provided.
|
|
43
|
+
|
|
34
44
|
## Configuration (env vars)
|
|
35
45
|
|
|
36
46
|
| Variable | Required | Default | Notes |
|
|
37
47
|
|---|---|---|---|
|
|
38
|
-
| `DAMENG_HOST` |
|
|
39
|
-
| `DAMENG_PORT` |
|
|
40
|
-
| `DAMENG_USER` |
|
|
41
|
-
| `DAMENG_PASSWORD` |
|
|
48
|
+
| `DAMENG_HOST` | for DB | — | e.g. `dameng.example.com` |
|
|
49
|
+
| `DAMENG_PORT` | for DB | — | e.g. `5236` |
|
|
50
|
+
| `DAMENG_USER` | for DB | — | low-privilege account |
|
|
51
|
+
| `DAMENG_PASSWORD` | for DB | — | no fallback |
|
|
42
52
|
| `DAMENG_SCHEMA` | no | — | default schema for `list_tables` / `describe_table` |
|
|
43
53
|
| `DAMENG_QUERY_TIMEOUT_MS` | no | `10000` | per-query timeout |
|
|
44
54
|
| `DAMENG_MAX_ROWS` | no | `1000` | hard cap on returned rows |
|
|
@@ -47,6 +57,7 @@ npm run build
|
|
|
47
57
|
| `DAMENG_DOCS_ROOT` | no | — | absolute path to a directory of Markdown manuals. Enables the docs tools. |
|
|
48
58
|
| `DAMENG_DOCS_INCLUDE` | no | — | comma-separated top-level dir patterns to include (glob `*` supported). Recommended: `DM8-*` to scope to official manuals only. |
|
|
49
59
|
| `DAMENG_DOCS_EXCLUDE` | no | — | comma-separated top-level dir patterns to exclude. `node_modules` is always excluded. |
|
|
60
|
+
| `DAMENG_NO_LEGACY_OPENSSL` | no | unset | Set to `1` to skip the auto-relaunch with `--openssl-legacy-provider` (only useful if your dmdb build doesn't need it). |
|
|
50
61
|
|
|
51
62
|
## Tools
|
|
52
63
|
|
|
@@ -108,6 +119,10 @@ Tests cover the SQL guard (rejection rules, comment stripping, multi-statement d
|
|
|
108
119
|
- No HTTP transport. stdio only — no inbound network surface.
|
|
109
120
|
- No automatic schema introspection on startup. Tools query system views on demand.
|
|
110
121
|
|
|
122
|
+
## Why does the binary self-relaunch?
|
|
123
|
+
|
|
124
|
+
`dmdb`'s login handshake uses encryption algorithms OpenSSL 3 disabled by default in Node 17+. Without `--openssl-legacy-provider` you get `[6071] 消息加密失败` / `error:0308010C`. Rather than asking every user to set `NODE_OPTIONS=--openssl-legacy-provider`, the bin re-execs itself with the flag on first start. Cost is one extra ~50 ms Node startup. Opt out with `DAMENG_NO_LEGACY_OPENSSL=1`.
|
|
125
|
+
|
|
111
126
|
## Known transitive vulnerabilities
|
|
112
127
|
|
|
113
128
|
`npm audit` flags issues in `@modelcontextprotocol/sdk`'s HTTP transport chain (`express-rate-limit` → `ip-address`) and in the dev-only Vitest/Vite chain. The stdio server we ship doesn't load the HTTP transport, and Vitest isn't part of the runtime. These will clear when upstream bumps; we don't paper over them with `npm audit fix --force`.
|
package/dist/config.js
CHANGED
|
@@ -4,14 +4,23 @@ export class ConfigError extends Error {
|
|
|
4
4
|
this.name = "ConfigError";
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
|
-
const REQUIRED = ["DAMENG_HOST", "DAMENG_PORT", "DAMENG_USER", "DAMENG_PASSWORD"];
|
|
8
7
|
export function loadConfig(env) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
// Parse docs config first (always optional, but useful independently)
|
|
9
|
+
let docsRoot;
|
|
10
|
+
if (env.DAMENG_DOCS_ROOT) {
|
|
11
|
+
if (!env.DAMENG_DOCS_ROOT.startsWith("/")) {
|
|
12
|
+
throw new ConfigError(`DAMENG_DOCS_ROOT must be an absolute path, got "${env.DAMENG_DOCS_ROOT}"`);
|
|
12
13
|
}
|
|
14
|
+
docsRoot = env.DAMENG_DOCS_ROOT.replace(/\/+$/, "");
|
|
15
|
+
}
|
|
16
|
+
const docsInclude = parsePatternList(env.DAMENG_DOCS_INCLUDE);
|
|
17
|
+
const docsExclude = parsePatternList(env.DAMENG_DOCS_EXCLUDE);
|
|
18
|
+
// Check if DB credentials are provided
|
|
19
|
+
const DB_KEYS = ["DAMENG_HOST", "DAMENG_PORT", "DAMENG_USER", "DAMENG_PASSWORD"];
|
|
20
|
+
const hasDbConfig = DB_KEYS.every((k) => env[k] && env[k].length > 0);
|
|
21
|
+
if (!hasDbConfig && !docsRoot) {
|
|
22
|
+
throw new ConfigError("Either DB credentials (DAMENG_HOST/PORT/USER/PASSWORD) or DAMENG_DOCS_ROOT must be set.");
|
|
13
23
|
}
|
|
14
|
-
const port = parsePositiveInt(env.DAMENG_PORT, "DAMENG_PORT");
|
|
15
24
|
const queryTimeoutMs = env.DAMENG_QUERY_TIMEOUT_MS
|
|
16
25
|
? parsePositiveInt(env.DAMENG_QUERY_TIMEOUT_MS, "DAMENG_QUERY_TIMEOUT_MS")
|
|
17
26
|
: 10_000;
|
|
@@ -24,20 +33,11 @@ export function loadConfig(env) {
|
|
|
24
33
|
const poolMax = env.DAMENG_POOL_MAX
|
|
25
34
|
? parsePositiveInt(env.DAMENG_POOL_MAX, "DAMENG_POOL_MAX")
|
|
26
35
|
: 4;
|
|
27
|
-
let docsRoot;
|
|
28
|
-
if (env.DAMENG_DOCS_ROOT) {
|
|
29
|
-
if (!env.DAMENG_DOCS_ROOT.startsWith("/")) {
|
|
30
|
-
throw new ConfigError(`DAMENG_DOCS_ROOT must be an absolute path, got "${env.DAMENG_DOCS_ROOT}"`);
|
|
31
|
-
}
|
|
32
|
-
docsRoot = env.DAMENG_DOCS_ROOT.replace(/\/+$/, "");
|
|
33
|
-
}
|
|
34
|
-
const docsInclude = parsePatternList(env.DAMENG_DOCS_INCLUDE);
|
|
35
|
-
const docsExclude = parsePatternList(env.DAMENG_DOCS_EXCLUDE);
|
|
36
36
|
return {
|
|
37
|
-
host: env.DAMENG_HOST,
|
|
38
|
-
port,
|
|
39
|
-
user: env.DAMENG_USER,
|
|
40
|
-
password: env.DAMENG_PASSWORD,
|
|
37
|
+
host: env.DAMENG_HOST ?? "",
|
|
38
|
+
port: hasDbConfig ? parsePositiveInt(env.DAMENG_PORT, "DAMENG_PORT") : 0,
|
|
39
|
+
user: env.DAMENG_USER ?? "",
|
|
40
|
+
password: env.DAMENG_PASSWORD ?? "",
|
|
41
41
|
schema: env.DAMENG_SCHEMA,
|
|
42
42
|
queryTimeoutMs,
|
|
43
43
|
maxRows,
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAiBD,MAAM,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
// Self-relaunch with --openssl-legacy-provider so dmdb's login handshake works
|
|
3
|
+
// on Node >= 17 (OpenSSL 3 disabled the algos dmdb relies on by default).
|
|
4
|
+
// Set DAMENG_NO_LEGACY_OPENSSL=1 to skip this, or invoke node directly with
|
|
5
|
+
// the flag already set.
|
|
6
|
+
import { spawnSync } from "node:child_process";
|
|
7
|
+
import { fileURLToPath } from "node:url";
|
|
8
|
+
const haveLegacyFlag = process.execArgv.some((a) => a.includes("openssl-legacy-provider")) ||
|
|
9
|
+
(process.env.NODE_OPTIONS ?? "").includes("openssl-legacy-provider");
|
|
10
|
+
if (!haveLegacyFlag && !process.env.DAMENG_NO_LEGACY_OPENSSL) {
|
|
11
|
+
const r = spawnSync(process.execPath, [
|
|
12
|
+
"--openssl-legacy-provider",
|
|
13
|
+
fileURLToPath(import.meta.url),
|
|
14
|
+
...process.argv.slice(2),
|
|
15
|
+
], { stdio: "inherit" });
|
|
16
|
+
process.exit(r.status ?? 1);
|
|
17
|
+
}
|
|
2
18
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
19
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
20
|
import { z } from "zod";
|
|
@@ -51,197 +67,207 @@ async function main() {
|
|
|
51
67
|
}
|
|
52
68
|
throw e;
|
|
53
69
|
}
|
|
54
|
-
const
|
|
55
|
-
|
|
70
|
+
const hasDb = config.host.length > 0 && config.port > 0;
|
|
71
|
+
const db = hasDb ? new Database(config) : null;
|
|
72
|
+
if (db) {
|
|
73
|
+
await db.connect();
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
console.error("[dameng-mcp] no DB credentials — docs-only mode");
|
|
77
|
+
}
|
|
56
78
|
const server = new McpServer({
|
|
57
79
|
name: "dameng-mcp",
|
|
58
80
|
version: "0.1.0",
|
|
59
81
|
});
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
82
|
+
// --- DB tools (only when connected) ---
|
|
83
|
+
if (db) {
|
|
84
|
+
server.registerTool("query", {
|
|
85
|
+
description: "Execute a read-only SQL statement against Dameng. Only SELECT/WITH/EXPLAIN are accepted; multi-statement input is rejected. Results are capped by DAMENG_MAX_ROWS.",
|
|
86
|
+
inputSchema: {
|
|
87
|
+
sql: z.string().describe("Single SELECT, WITH, or EXPLAIN statement."),
|
|
88
|
+
},
|
|
89
|
+
annotations: { readOnlyHint: true, destructiveHint: false },
|
|
90
|
+
}, async ({ sql }) => {
|
|
91
|
+
try {
|
|
92
|
+
const result = await db.runReadOnly(sql);
|
|
93
|
+
return toolText(formatResult(result));
|
|
94
|
+
}
|
|
95
|
+
catch (e) {
|
|
96
|
+
return toolError(formatToolError(e));
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
server.registerTool("list_tables", {
|
|
100
|
+
description: "List tables in a schema. Defaults to DAMENG_SCHEMA (or the connected user's schema if unset).",
|
|
101
|
+
inputSchema: {
|
|
102
|
+
schema: z
|
|
103
|
+
.string()
|
|
104
|
+
.optional()
|
|
105
|
+
.describe("Schema/owner name. Identifier characters only."),
|
|
106
|
+
},
|
|
107
|
+
annotations: { readOnlyHint: true, destructiveHint: false },
|
|
108
|
+
}, async ({ schema }) => {
|
|
109
|
+
try {
|
|
110
|
+
const owner = schema ?? config.schema;
|
|
111
|
+
const sql = owner
|
|
112
|
+
? `SELECT OWNER, TABLE_NAME FROM ALL_TABLES WHERE OWNER = '${quoteIdent(owner).slice(1, -1)}' ORDER BY TABLE_NAME`
|
|
113
|
+
: `SELECT TABLE_NAME FROM USER_TABLES ORDER BY TABLE_NAME`;
|
|
114
|
+
const result = await db.runRaw(sql);
|
|
115
|
+
return toolText(formatResult(result));
|
|
116
|
+
}
|
|
117
|
+
catch (e) {
|
|
118
|
+
return toolError(formatToolError(e));
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
server.registerTool("describe_table", {
|
|
122
|
+
description: "Show columns and data types for a table.",
|
|
123
|
+
inputSchema: {
|
|
124
|
+
table: z.string().describe("Table name."),
|
|
125
|
+
schema: z.string().optional().describe("Schema/owner name (optional)."),
|
|
126
|
+
},
|
|
127
|
+
annotations: { readOnlyHint: true, destructiveHint: false },
|
|
128
|
+
}, async ({ table, schema }) => {
|
|
129
|
+
try {
|
|
130
|
+
const tableQ = quoteIdent(table).slice(1, -1);
|
|
131
|
+
const owner = schema ?? config.schema;
|
|
132
|
+
const sql = owner
|
|
133
|
+
? `SELECT COLUMN_NAME, DATA_TYPE, DATA_LENGTH, NULLABLE, DATA_DEFAULT
|
|
110
134
|
FROM ALL_TAB_COLUMNS
|
|
111
135
|
WHERE OWNER = '${quoteIdent(owner).slice(1, -1)}' AND TABLE_NAME = '${tableQ}'
|
|
112
136
|
ORDER BY COLUMN_ID`
|
|
113
|
-
|
|
137
|
+
: `SELECT COLUMN_NAME, DATA_TYPE, DATA_LENGTH, NULLABLE, DATA_DEFAULT
|
|
114
138
|
FROM USER_TAB_COLUMNS
|
|
115
139
|
WHERE TABLE_NAME = '${tableQ}'
|
|
116
140
|
ORDER BY COLUMN_ID`;
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
141
|
+
const result = await db.runRaw(sql);
|
|
142
|
+
return toolText(formatResult(result));
|
|
143
|
+
}
|
|
144
|
+
catch (e) {
|
|
145
|
+
return toolError(formatToolError(e));
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
server.registerTool("lookup_docs", {
|
|
149
|
+
description: "Search the local Dameng knowledge base (Markdown manuals) for a phrase or pattern. Returns matches grouped by file with the nearest preceding heading. Requires DAMENG_DOCS_ROOT to be set.",
|
|
150
|
+
inputSchema: {
|
|
151
|
+
query: z.string().describe("Phrase to search for (literal, case-insensitive by default)."),
|
|
152
|
+
manual: z
|
|
153
|
+
.string()
|
|
154
|
+
.optional()
|
|
155
|
+
.describe("Optional top-level subdirectory under DAMENG_DOCS_ROOT to restrict the search (e.g. DM8-SQL语言使用手册)."),
|
|
156
|
+
regex: z
|
|
157
|
+
.boolean()
|
|
158
|
+
.optional()
|
|
159
|
+
.describe("Treat query as a JavaScript regex (case-insensitive). Default false."),
|
|
160
|
+
maxMatches: z
|
|
161
|
+
.number()
|
|
162
|
+
.int()
|
|
163
|
+
.positive()
|
|
164
|
+
.optional()
|
|
165
|
+
.describe("Cap on returned matches. Default 30."),
|
|
166
|
+
},
|
|
167
|
+
annotations: { readOnlyHint: true, destructiveHint: false },
|
|
168
|
+
}, async ({ query, manual, regex, maxMatches }) => {
|
|
169
|
+
if (!config.docsRoot)
|
|
170
|
+
return docsRootMissingError();
|
|
171
|
+
try {
|
|
172
|
+
const sections = await searchDocs({
|
|
173
|
+
root: config.docsRoot,
|
|
174
|
+
query,
|
|
175
|
+
manual,
|
|
176
|
+
regex,
|
|
177
|
+
maxMatches,
|
|
178
|
+
include: config.docsInclude,
|
|
179
|
+
exclude: config.docsExclude,
|
|
180
|
+
});
|
|
181
|
+
return toolText(formatSections(sections, maxMatches ?? 30));
|
|
182
|
+
}
|
|
183
|
+
catch (e) {
|
|
184
|
+
return toolError(formatToolError(e));
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
server.registerTool("list_manuals", {
|
|
188
|
+
description: "List the Dameng manuals available under DAMENG_DOCS_ROOT, with file counts and a short index summary per manual. Use this to discover what to pass to list_sections / lookup_docs(manual=...).",
|
|
189
|
+
inputSchema: {},
|
|
190
|
+
annotations: { readOnlyHint: true, destructiveHint: false },
|
|
191
|
+
}, async () => {
|
|
192
|
+
if (!config.docsRoot)
|
|
193
|
+
return docsRootMissingError();
|
|
194
|
+
try {
|
|
195
|
+
const manuals = await listManuals({
|
|
196
|
+
root: config.docsRoot,
|
|
197
|
+
include: config.docsInclude,
|
|
198
|
+
exclude: config.docsExclude,
|
|
199
|
+
});
|
|
200
|
+
return toolText(formatManuals(manuals));
|
|
201
|
+
}
|
|
202
|
+
catch (e) {
|
|
203
|
+
return toolError(formatToolError(e));
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
server.registerTool("list_sections", {
|
|
207
|
+
description: "List the .md files (chapters) inside one manual along with their H1/H2 headings. Use the (file, heading) pair to call read_section.",
|
|
208
|
+
inputSchema: {
|
|
209
|
+
manual: z.string().describe("Manual name (top-level dir under DAMENG_DOCS_ROOT)."),
|
|
210
|
+
},
|
|
211
|
+
annotations: { readOnlyHint: true, destructiveHint: false },
|
|
212
|
+
}, async ({ manual }) => {
|
|
213
|
+
if (!config.docsRoot)
|
|
214
|
+
return docsRootMissingError();
|
|
215
|
+
try {
|
|
216
|
+
const files = await listSections({ root: config.docsRoot, manual });
|
|
217
|
+
return toolText(formatSectionList(files));
|
|
218
|
+
}
|
|
219
|
+
catch (e) {
|
|
220
|
+
return toolError(formatToolError(e));
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
server.registerTool("read_section", {
|
|
224
|
+
description: "Read a Markdown chapter under DAMENG_DOCS_ROOT. With heading omitted, returns the whole file. With heading set, returns text from that heading until the next same-or-higher heading. Use after lookup_docs / list_sections to pull full context.",
|
|
225
|
+
inputSchema: {
|
|
226
|
+
file: z
|
|
227
|
+
.string()
|
|
228
|
+
.describe("Relative path under DAMENG_DOCS_ROOT, e.g. DM8-数据守护与读写分离集群/data-watch-version-upgrade.md"),
|
|
229
|
+
heading: z
|
|
230
|
+
.string()
|
|
231
|
+
.optional()
|
|
232
|
+
.describe("Heading text (without # markers) to extract a single section."),
|
|
233
|
+
maxBytes: z
|
|
234
|
+
.number()
|
|
235
|
+
.int()
|
|
236
|
+
.positive()
|
|
237
|
+
.optional()
|
|
238
|
+
.describe("Cap on returned content size. Default 64000."),
|
|
239
|
+
},
|
|
240
|
+
annotations: { readOnlyHint: true, destructiveHint: false },
|
|
241
|
+
}, async ({ file, heading, maxBytes }) => {
|
|
242
|
+
if (!config.docsRoot)
|
|
243
|
+
return docsRootMissingError();
|
|
244
|
+
try {
|
|
245
|
+
const r = await readSection({ root: config.docsRoot, file, heading, maxBytes });
|
|
246
|
+
const header = r.heading
|
|
247
|
+
? `# ${r.file} — ${r.heading}${r.truncated ? " (truncated)" : ""}\n\n`
|
|
248
|
+
: `# ${r.file}${r.truncated ? " (truncated)" : ""}\n\n`;
|
|
249
|
+
return toolText(header + r.content);
|
|
250
|
+
}
|
|
251
|
+
catch (e) {
|
|
252
|
+
return toolError(formatToolError(e));
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
server.registerTool("instance_status", {
|
|
256
|
+
description: "Report Dameng instance and database status from V$INSTANCE / V$DATABASE.",
|
|
257
|
+
inputSchema: {},
|
|
258
|
+
annotations: { readOnlyHint: true, destructiveHint: false },
|
|
259
|
+
}, async () => {
|
|
260
|
+
try {
|
|
261
|
+
const inst = await db.runRaw(`SELECT NAME, INSTANCE_NAME, HOST_NAME, SVR_VERSION, STATUS$, MODE$, START_TIME FROM V$INSTANCE`);
|
|
262
|
+
const dbi = await db.runRaw(`SELECT NAME, STATUS$, ARCH_MODE, DSC_ROLE FROM V$DATABASE`);
|
|
263
|
+
return toolText(`# V$INSTANCE\n${formatResult(inst)}\n\n# V$DATABASE\n${formatResult(dbi)}`);
|
|
264
|
+
}
|
|
265
|
+
catch (e) {
|
|
266
|
+
return toolError(formatToolError(e));
|
|
267
|
+
}
|
|
268
|
+
});
|
|
269
|
+
} // end if (db) block for DB tools
|
|
270
|
+
// --- Docs tools (always available when DOCS_ROOT is set) ---
|
|
245
271
|
const shutdown = async (signal) => {
|
|
246
272
|
console.error(`[dameng-mcp] received ${signal}, shutting down`);
|
|
247
273
|
try {
|
|
@@ -249,7 +275,8 @@ async function main() {
|
|
|
249
275
|
}
|
|
250
276
|
catch { }
|
|
251
277
|
try {
|
|
252
|
-
|
|
278
|
+
if (db)
|
|
279
|
+
await db.close();
|
|
253
280
|
}
|
|
254
281
|
catch { }
|
|
255
282
|
process.exit(0);
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA,+EAA+E;AAC/E,0EAA0E;AAC1E,4EAA4E;AAC5E,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,cAAc,GAClB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IACnE,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;AAEvE,IAAI,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;IAC7D,MAAM,CAAC,GAAG,SAAS,CACjB,OAAO,CAAC,QAAQ,EAChB;QACE,2BAA2B;QAC3B,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9B,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KACzB,EACD,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAoB,MAAM,eAAe,CAAC;AAC3D,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,eAAe,GAEhB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,KAAK,GAAG,0BAA0B,CAAC;AAEzC,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC;AACnC,CAAC;AAED,SAAS,YAAY,CAAC,CAAc;IAClC,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS;QACxB,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,qCAAqC;QACrD,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,QAAQ,CAAC;IAC3B,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,MAAM,aAAa,CAAC;IAChC,CAAC;IACD,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IACvD,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IACtD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,OAAe;IAChC,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,WAAW,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;IACxD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,IAAI,EAAE,EAAE,CAAC;QACP,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,yCAAyC;IAEzC,IAAI,EAAE,EAAE,CAAC;QACT,MAAM,CAAC,YAAY,CACjB,OAAO,EACP;YACE,WAAW,EACT,oKAAoK;YACtK,WAAW,EAAE;gBACX,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;aACvE;YACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE;SAC5D,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;YAChB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACzC,OAAO,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;YACE,WAAW,EACT,+FAA+F;YACjG,WAAW,EAAE;gBACX,MAAM,EAAE,CAAC;qBACN,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,gDAAgD,CAAC;aAC9D;YACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE;SAC5D,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACnB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;gBACtC,MAAM,GAAG,GAAG,KAAK;oBACf,CAAC,CAAC,2DAA2D,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB;oBAClH,CAAC,CAAC,wDAAwD,CAAC;gBAC7D,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpC,OAAO,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;YACE,WAAW,EAAE,0CAA0C;YACvD,WAAW,EAAE;gBACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;gBACzC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;aACxE;YACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE;SAC5D,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;YAC1B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC9C,MAAM,KAAK,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;gBACtC,MAAM,GAAG,GAAG,KAAK;oBACf,CAAC,CAAC;;8BAEkB,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB,MAAM;gCACzD;oBACtB,CAAC,CAAC;;mCAEuB,MAAM;gCACT,CAAC;gBACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpC,OAAO,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;YACE,WAAW,EACT,6LAA6L;YAC/L,WAAW,EAAE;gBACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;gBAC1F,MAAM,EAAE,CAAC;qBACN,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CACP,qGAAqG,CACtG;gBACH,KAAK,EAAE,CAAC;qBACL,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,QAAQ,CAAC,sEAAsE,CAAC;gBACnF,UAAU,EAAE,CAAC;qBACV,MAAM,EAAE;qBACR,GAAG,EAAE;qBACL,QAAQ,EAAE;qBACV,QAAQ,EAAE;qBACV,QAAQ,CAAC,sCAAsC,CAAC;aACpD;YACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE;SAC5D,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE;YAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAAE,OAAO,oBAAoB,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC;oBAChC,IAAI,EAAE,MAAM,CAAC,QAAQ;oBACrB,KAAK;oBACL,MAAM;oBACN,KAAK;oBACL,UAAU;oBACV,OAAO,EAAE,MAAM,CAAC,WAAW;oBAC3B,OAAO,EAAE,MAAM,CAAC,WAAW;iBAC5B,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;YACE,WAAW,EACT,gMAAgM;YAClM,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE;SAC5D,EACD,KAAK,IAAI,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAAE,OAAO,oBAAoB,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC;oBAChC,IAAI,EAAE,MAAM,CAAC,QAAQ;oBACrB,OAAO,EAAE,MAAM,CAAC,WAAW;oBAC3B,OAAO,EAAE,MAAM,CAAC,WAAW;iBAC5B,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;YACE,WAAW,EACT,qIAAqI;YACvI,WAAW,EAAE;gBACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;aACnF;YACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE;SAC5D,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACnB,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAAE,OAAO,oBAAoB,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;gBACpE,OAAO,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;YACE,WAAW,EACT,mPAAmP;YACrP,WAAW,EAAE;gBACX,IAAI,EAAE,CAAC;qBACJ,MAAM,EAAE;qBACR,QAAQ,CACP,0FAA0F,CAC3F;gBACH,OAAO,EAAE,CAAC;qBACP,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,+DAA+D,CAAC;gBAC5E,QAAQ,EAAE,CAAC;qBACR,MAAM,EAAE;qBACR,GAAG,EAAE;qBACL,QAAQ,EAAE;qBACV,QAAQ,EAAE;qBACV,QAAQ,CAAC,8CAA8C,CAAC;aAC5D;YACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE;SAC5D,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;YACpC,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAAE,OAAO,oBAAoB,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAChF,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO;oBACtB,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM;oBACtE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;gBAC1D,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;YACE,WAAW,EACT,0EAA0E;YAC5E,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE;SAC5D,EACD,KAAK,IAAI,EAAE;YACT,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,MAAM,CAC1B,gGAAgG,CACjG,CAAC;gBACF,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,MAAM,CACzB,2DAA2D,CAC5D,CAAC;gBACF,OAAO,QAAQ,CACb,iBAAiB,YAAY,CAAC,IAAI,CAAC,qBAAqB,YAAY,CAAC,GAAG,CAAC,EAAE,CAC5E,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CACF,CAAC;IAEF,CAAC,CAAC,iCAAiC;IAEnC,8DAA8D;IAE9D,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;QACxC,OAAO,CAAC,KAAK,CAAC,yBAAyB,MAAM,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,IAAI,CAAC;YACH,IAAI,EAAE;gBAAE,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAEtD,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,eAAe,CAAC,CAAU;IACjC,IAAI,CAAC,YAAY,aAAa;QAAE,OAAO,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC;IAChE,IAAI,CAAC,YAAY,eAAe;QAAE,OAAO,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9D,IAAI,CAAC,YAAY,YAAY;QAAE,OAAO,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9D,IAAI,CAAC,YAAY,KAAK;QAAE,OAAO,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IACzD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO,SAAS,CACd,uFAAuF,CACxF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,QAAsB,EAAE,GAAW;IACzD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC;IAChD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,UAAU,IAAI,GAAG,IAAI,UAAU,GAAG,QAAQ,CAAC;IAC7D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CACR,SAAS;QACP,CAAC,CAAC,GAAG,UAAU,OAAO,QAAQ,eAAe,QAAQ,CAAC,MAAM,2DAA2D;QACvH,CAAC,CAAC,GAAG,UAAU,SAAS,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,QAAQ,CAAC,MAAM,WACtE,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAC/B,yBAAyB,CAC9B,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,UAAU,OAAO,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAC9F,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,aAAa;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,CAAC,YAAY;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,aAAa,CAAC,OAAuE;IAC5F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,mBAAmB,CAAC;IACrD,MAAM,KAAK,GAAa,CAAC,GAAG,OAAO,CAAC,MAAM,UAAU,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IACxF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QACrF,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAoF;IAEpF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,0BAA0B,CAAC;IAC1D,MAAM,KAAK,GAAa,CAAC,GAAG,KAAK,CAAC,MAAM,QAAQ,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAClF,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACpC,SAAS;QACX,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "basedoc-dameng-mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Read-only MCP server for Dameng (DM8): SQL whitelist + local Markdown manual search (list_manuals / list_sections / read_section / lookup_docs).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|