elasticsearch-mcp-vsee 0.5.13 → 0.5.15
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/build/server.d.ts +2 -9
- package/build/server.d.ts.map +1 -1
- package/build/server.js +24 -445
- package/build/server.js.map +1 -1
- package/build/tools/base-tool.d.ts +4 -2
- package/build/tools/base-tool.d.ts.map +1 -1
- package/build/tools/base-tool.js +10 -3
- package/build/tools/base-tool.js.map +1 -1
- package/build/tools/find-entities-by-metric.d.ts +1 -0
- package/build/tools/find-entities-by-metric.d.ts.map +1 -1
- package/build/tools/find-entities-by-metric.js +4 -2
- package/build/tools/find-entities-by-metric.js.map +1 -1
- package/build/tools/get-index-fields.d.ts +38 -4
- package/build/tools/get-index-fields.d.ts.map +1 -1
- package/build/tools/get-index-fields.js +36 -49
- package/build/tools/get-index-fields.js.map +1 -1
- package/build/tools/get-platform-breakdown.d.ts +1 -0
- package/build/tools/get-platform-breakdown.d.ts.map +1 -1
- package/build/tools/get-platform-breakdown.js +7 -5
- package/build/tools/get-platform-breakdown.js.map +1 -1
- package/build/tools/get-rating-distribution.d.ts +1 -0
- package/build/tools/get-rating-distribution.d.ts.map +1 -1
- package/build/tools/get-rating-distribution.js +6 -4
- package/build/tools/get-rating-distribution.js.map +1 -1
- package/build/tools/get-subscription-breakdown.d.ts +1 -0
- package/build/tools/get-subscription-breakdown.d.ts.map +1 -1
- package/build/tools/get-subscription-breakdown.js +5 -3
- package/build/tools/get-subscription-breakdown.js.map +1 -1
- package/build/tools/get-usage-leaderboard.d.ts +1 -0
- package/build/tools/get-usage-leaderboard.d.ts.map +1 -1
- package/build/tools/get-usage-leaderboard.js +6 -4
- package/build/tools/get-usage-leaderboard.js.map +1 -1
- package/build/tools/get-usage-profile.d.ts +1 -0
- package/build/tools/get-usage-profile.d.ts.map +1 -1
- package/build/tools/get-usage-profile.js +5 -3
- package/build/tools/get-usage-profile.js.map +1 -1
- package/build/tools/get-visit-trends.d.ts +7 -6
- package/build/tools/get-visit-trends.d.ts.map +1 -1
- package/build/tools/get-visit-trends.js +16 -3
- package/build/tools/get-visit-trends.js.map +1 -1
- package/build/tools/health-check.d.ts +20 -0
- package/build/tools/health-check.d.ts.map +1 -0
- package/build/tools/health-check.js +40 -0
- package/build/tools/health-check.js.map +1 -0
- package/build/tools/top-change.d.ts +1 -0
- package/build/tools/top-change.d.ts.map +1 -1
- package/build/tools/top-change.js +7 -5
- package/build/tools/top-change.js.map +1 -1
- package/build/tools/types.d.ts +1 -2
- package/build/tools/types.d.ts.map +1 -1
- package/build/utils/date-math.d.ts +7 -1
- package/build/utils/date-math.d.ts.map +1 -1
- package/build/utils/date-math.js +74 -29
- package/build/utils/date-math.js.map +1 -1
- package/build/utils/schema-converter.d.ts +17 -0
- package/build/utils/schema-converter.d.ts.map +1 -0
- package/build/utils/schema-converter.js +101 -0
- package/build/utils/schema-converter.js.map +1 -0
- package/package.json +1 -1
package/build/utils/date-math.js
CHANGED
|
@@ -8,43 +8,88 @@ exports.parseDateMath = parseDateMath;
|
|
|
8
8
|
exports.capTimePeriod = capTimePeriod;
|
|
9
9
|
/**
|
|
10
10
|
* Resolve a date string (ISO or relative math) to a Javascript Date object
|
|
11
|
-
*
|
|
11
|
+
* Supports:
|
|
12
|
+
* - "now"
|
|
13
|
+
* - Relative math: "now-1d", "now+2w", "now-1M"
|
|
14
|
+
* - Rounding: "now/d", "now/M", "now/y"
|
|
15
|
+
* - Combined: "now-1d/d"
|
|
16
|
+
*
|
|
17
|
+
* @param dateStr - Date string
|
|
12
18
|
* @returns Date object
|
|
13
19
|
* @throws Error if date format is invalid
|
|
14
20
|
*/
|
|
15
21
|
function resolveDate(dateStr) {
|
|
16
|
-
// Handle "now"
|
|
17
22
|
if (dateStr === 'now') {
|
|
18
23
|
return new Date();
|
|
19
24
|
}
|
|
20
|
-
// Handle
|
|
21
|
-
if (dateStr.startsWith('now
|
|
22
|
-
const match = dateStr.match(/now-(\d+)([dwMy]|\+)?/);
|
|
23
|
-
if (!match) {
|
|
24
|
-
throw new Error(`Invalid relative date format: ${dateStr}`);
|
|
25
|
-
}
|
|
26
|
-
const value = parseInt(match[1], 10);
|
|
27
|
-
const unit = match[2];
|
|
25
|
+
// Handle standard Elasticsearch date math: now[+|-][num][unit][/rounding]
|
|
26
|
+
if (dateStr.startsWith('now')) {
|
|
28
27
|
const now = new Date();
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
28
|
+
let workingStr = dateStr.substring(3); // Remove 'now'
|
|
29
|
+
// 1. Parse Offset (e.g. -1d, +2w)
|
|
30
|
+
// Match optional +/- followed by digits and unit
|
|
31
|
+
const offsetMatch = workingStr.match(/^([+-])(\d+)([dMwYy])/);
|
|
32
|
+
if (offsetMatch) {
|
|
33
|
+
const operator = offsetMatch[1];
|
|
34
|
+
const value = parseInt(offsetMatch[2], 10);
|
|
35
|
+
const unit = offsetMatch[3];
|
|
36
|
+
const multiplier = operator === '-' ? -1 : 1;
|
|
37
|
+
const amount = value * multiplier;
|
|
38
|
+
switch (unit) {
|
|
39
|
+
case 'd':
|
|
40
|
+
case 'D':
|
|
41
|
+
now.setDate(now.getDate() + amount);
|
|
42
|
+
break;
|
|
43
|
+
case 'w':
|
|
44
|
+
case 'W':
|
|
45
|
+
now.setDate(now.getDate() + (amount * 7));
|
|
46
|
+
break;
|
|
47
|
+
case 'M':
|
|
48
|
+
now.setMonth(now.getMonth() + amount);
|
|
49
|
+
break;
|
|
50
|
+
case 'y':
|
|
51
|
+
case 'Y':
|
|
52
|
+
now.setFullYear(now.getFullYear() + amount);
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
// Advance string past the offset
|
|
56
|
+
workingStr = workingStr.substring(offsetMatch[0].length);
|
|
57
|
+
}
|
|
58
|
+
// 2. Parse Rounding (e.g. /d, /M)
|
|
59
|
+
// Check if remaining string starts with /
|
|
60
|
+
if (workingStr.startsWith('/')) {
|
|
61
|
+
const roundingUnit = workingStr.substring(1, 2); // get char after /
|
|
62
|
+
switch (roundingUnit) {
|
|
63
|
+
case 'd':
|
|
64
|
+
case 'D':
|
|
65
|
+
now.setHours(0, 0, 0, 0);
|
|
66
|
+
break;
|
|
67
|
+
case 'w':
|
|
68
|
+
case 'W':
|
|
69
|
+
// Set to previous Monday (or Sunday depending on locale, standard ES is Monday iirc but let's stick to simple day rounding for now or 0 day of week)
|
|
70
|
+
// For simplicity/safety let's assume Sunday=0. ES uses Monday as start of week usually.
|
|
71
|
+
// Let's implement Monday rounding:
|
|
72
|
+
const day = now.getDay();
|
|
73
|
+
const diff = now.getDate() - day + (day === 0 ? -6 : 1); // adjust when day is sunday
|
|
74
|
+
now.setDate(diff);
|
|
75
|
+
now.setHours(0, 0, 0, 0);
|
|
76
|
+
break;
|
|
77
|
+
case 'M':
|
|
78
|
+
now.setDate(1);
|
|
79
|
+
now.setHours(0, 0, 0, 0);
|
|
80
|
+
break;
|
|
81
|
+
case 'y':
|
|
82
|
+
case 'Y':
|
|
83
|
+
now.setMonth(0, 1);
|
|
84
|
+
now.setHours(0, 0, 0, 0);
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
workingStr = workingStr.substring(2);
|
|
88
|
+
}
|
|
89
|
+
if (workingStr.length > 0) {
|
|
90
|
+
// If there's still junk left, it might be invalid or unsupported syntax
|
|
91
|
+
// For now, if we processed something, ignoring trailing junk might be risky, but throwing is safer
|
|
92
|
+
throw new Error(`Invalid or unsupported date math format: ${dateStr}`);
|
|
48
93
|
}
|
|
49
94
|
return now;
|
|
50
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-math.js","sourceRoot":"","sources":["../../src/utils/date-math.ts"],"names":[],"mappings":";AAAA;;GAEG;;
|
|
1
|
+
{"version":3,"file":"date-math.js","sourceRoot":"","sources":["../../src/utils/date-math.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export interface ToolDefinition {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
inputSchema: {
|
|
6
|
+
type: 'object';
|
|
7
|
+
properties: Record<string, any>;
|
|
8
|
+
required: string[];
|
|
9
|
+
additionalProperties: boolean;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Converts a Zod schema to an MCP-compatible JSON schema for tool inputs.
|
|
14
|
+
* Takes metadata from .describe() and validation constraints.
|
|
15
|
+
*/
|
|
16
|
+
export declare function zodToMcpToolSchema(schema: z.ZodObject<any> | z.ZodEffects<any>): ToolDefinition['inputSchema'];
|
|
17
|
+
//# sourceMappingURL=schema-converter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-converter.d.ts","sourceRoot":"","sources":["../../src/utils/schema-converter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACT,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,oBAAoB,EAAE,OAAO,CAAC;KACjC,CAAC;CACL;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,aAAa,CAAC,CA6F9G"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.zodToMcpToolSchema = zodToMcpToolSchema;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
/**
|
|
6
|
+
* Converts a Zod schema to an MCP-compatible JSON schema for tool inputs.
|
|
7
|
+
* Takes metadata from .describe() and validation constraints.
|
|
8
|
+
*/
|
|
9
|
+
function zodToMcpToolSchema(schema) {
|
|
10
|
+
// Unwrap effects (refinements/transforms) to get the underlying object schema
|
|
11
|
+
let effectiveSchema = schema;
|
|
12
|
+
while (effectiveSchema instanceof zod_1.z.ZodEffects) {
|
|
13
|
+
effectiveSchema = effectiveSchema._def.schema;
|
|
14
|
+
}
|
|
15
|
+
if (!(effectiveSchema instanceof zod_1.z.ZodObject)) {
|
|
16
|
+
throw new Error(`Tool schema must be a ZodObject or ZodEffects wrapping a ZodObject. Got: ${effectiveSchema.constructor.name}`);
|
|
17
|
+
}
|
|
18
|
+
const shape = effectiveSchema.shape;
|
|
19
|
+
const properties = {};
|
|
20
|
+
const required = [];
|
|
21
|
+
for (const [key, value] of Object.entries(shape)) {
|
|
22
|
+
const fieldSchema = value; // Helper cast
|
|
23
|
+
const description = fieldSchema.description;
|
|
24
|
+
// Determine type and constraints
|
|
25
|
+
let type = 'string'; // default
|
|
26
|
+
let enumValues;
|
|
27
|
+
let minimum;
|
|
28
|
+
let maximum;
|
|
29
|
+
let defaultVal;
|
|
30
|
+
let items;
|
|
31
|
+
// Unwrap optional/default to get inner type
|
|
32
|
+
let innerSchema = fieldSchema;
|
|
33
|
+
let isOptional = false;
|
|
34
|
+
// Handle Optional/Default wrappers loop
|
|
35
|
+
while (innerSchema instanceof zod_1.z.ZodOptional || innerSchema instanceof zod_1.z.ZodDefault) {
|
|
36
|
+
if (innerSchema instanceof zod_1.z.ZodOptional) {
|
|
37
|
+
isOptional = true;
|
|
38
|
+
innerSchema = innerSchema.unwrap();
|
|
39
|
+
}
|
|
40
|
+
else if (innerSchema instanceof zod_1.z.ZodDefault) {
|
|
41
|
+
isOptional = true; // Defaults are effectively optional inputs
|
|
42
|
+
defaultVal = innerSchema._def.defaultValue();
|
|
43
|
+
innerSchema = innerSchema.removeDefault();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
// Inspect inner type
|
|
47
|
+
if (innerSchema instanceof zod_1.z.ZodString) {
|
|
48
|
+
type = 'string';
|
|
49
|
+
}
|
|
50
|
+
else if (innerSchema instanceof zod_1.z.ZodNumber) {
|
|
51
|
+
type = 'number';
|
|
52
|
+
if (innerSchema.minValue !== null)
|
|
53
|
+
minimum = innerSchema.minValue;
|
|
54
|
+
if (innerSchema.maxValue !== null)
|
|
55
|
+
maximum = innerSchema.maxValue;
|
|
56
|
+
// Int check? (Zod doesn't expose easily without checking checks array)
|
|
57
|
+
}
|
|
58
|
+
else if (innerSchema instanceof zod_1.z.ZodBoolean) {
|
|
59
|
+
type = 'boolean';
|
|
60
|
+
}
|
|
61
|
+
else if (innerSchema instanceof zod_1.z.ZodEnum) {
|
|
62
|
+
type = 'string';
|
|
63
|
+
enumValues = innerSchema._def.values;
|
|
64
|
+
}
|
|
65
|
+
else if (innerSchema instanceof zod_1.z.ZodArray) {
|
|
66
|
+
type = 'array';
|
|
67
|
+
// Simplified array handling (assuming object array for now based on known usage)
|
|
68
|
+
if (innerSchema.element instanceof zod_1.z.ZodObject) {
|
|
69
|
+
items = {
|
|
70
|
+
type: 'object',
|
|
71
|
+
properties: zodToMcpToolSchema(innerSchema.element).properties,
|
|
72
|
+
required: zodToMcpToolSchema(innerSchema.element).required,
|
|
73
|
+
additionalProperties: false
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
// Fallback for primitive arrays if needed, though mostly unused in current tools
|
|
78
|
+
items = { type: 'string' };
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (!isOptional) {
|
|
82
|
+
required.push(key);
|
|
83
|
+
}
|
|
84
|
+
properties[key] = {
|
|
85
|
+
type,
|
|
86
|
+
description,
|
|
87
|
+
...(enumValues && { enum: enumValues }),
|
|
88
|
+
...(minimum !== undefined && { minimum }),
|
|
89
|
+
...(maximum !== undefined && { maximum }),
|
|
90
|
+
...(defaultVal !== undefined && { default: defaultVal }),
|
|
91
|
+
...(items && { items })
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
return {
|
|
95
|
+
type: 'object',
|
|
96
|
+
properties,
|
|
97
|
+
required,
|
|
98
|
+
additionalProperties: false,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=schema-converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-converter.js","sourceRoot":"","sources":["../../src/utils/schema-converter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "elasticsearch-mcp-vsee",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.15",
|
|
4
4
|
"description": "Secure MCP server for Elasticsearch integration with comprehensive tools and Elastic Cloud support (fork with improved health check, get_index_fields tool, enhanced query flexibility, and consolidated analytics tools)",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"bin": {
|