@minicor/mcp-server 2.0.8 → 3.0.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/README.md +29 -2
- package/dist/__tests__/state.test.d.ts +2 -0
- package/dist/__tests__/state.test.d.ts.map +1 -0
- package/dist/__tests__/state.test.js +90 -0
- package/dist/__tests__/state.test.js.map +1 -0
- package/dist/__tests__/vm-service-client.test.d.ts +2 -0
- package/dist/__tests__/vm-service-client.test.d.ts.map +1 -0
- package/dist/__tests__/vm-service-client.test.js +80 -0
- package/dist/__tests__/vm-service-client.test.js.map +1 -0
- package/dist/agent-service-client.d.ts +34 -0
- package/dist/agent-service-client.d.ts.map +1 -0
- package/dist/agent-service-client.js +64 -0
- package/dist/agent-service-client.js.map +1 -0
- package/dist/helpers.d.ts +1 -1
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +1 -1
- package/dist/helpers.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -1
- package/dist/lib.d.ts +2 -0
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js +8 -0
- package/dist/lib.js.map +1 -1
- package/dist/prompts/build-rpa.d.ts.map +1 -1
- package/dist/prompts/build-rpa.js +39 -5
- package/dist/prompts/build-rpa.js.map +1 -1
- package/dist/state.d.ts +10 -0
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +9 -0
- package/dist/state.js.map +1 -1
- package/dist/tools/{stats.d.ts → agents.d.ts} +1 -1
- package/dist/tools/agents.d.ts.map +1 -0
- package/dist/tools/agents.js +78 -0
- package/dist/tools/agents.js.map +1 -0
- package/dist/tools/issues.d.ts.map +1 -1
- package/dist/tools/issues.js +12 -9
- package/dist/tools/issues.js.map +1 -1
- package/dist/tools/vm.d.ts.map +1 -1
- package/dist/tools/vm.js +81 -12
- package/dist/tools/vm.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/vm-service-client.d.ts +24 -0
- package/dist/vm-service-client.d.ts.map +1 -0
- package/dist/vm-service-client.js +23 -0
- package/dist/vm-service-client.js.map +1 -0
- package/package.json +2 -2
- package/dist/browser-client.d.ts +0 -42
- package/dist/browser-client.d.ts.map +0 -1
- package/dist/browser-client.js +0 -66
- package/dist/browser-client.js.map +0 -1
- package/dist/prompts/build-browser-rpa.d.ts +0 -3
- package/dist/prompts/build-browser-rpa.d.ts.map +0 -1
- package/dist/prompts/build-browser-rpa.js +0 -90
- package/dist/prompts/build-browser-rpa.js.map +0 -1
- package/dist/prompts/build-nerve-rpa.d.ts +0 -3
- package/dist/prompts/build-nerve-rpa.d.ts.map +0 -1
- package/dist/prompts/build-nerve-rpa.js +0 -148
- package/dist/prompts/build-nerve-rpa.js.map +0 -1
- package/dist/services.d.ts +0 -61
- package/dist/services.d.ts.map +0 -1
- package/dist/services.js +0 -249
- package/dist/services.js.map +0 -1
- package/dist/tools/browser.d.ts +0 -3
- package/dist/tools/browser.d.ts.map +0 -1
- package/dist/tools/browser.js +0 -254
- package/dist/tools/browser.js.map +0 -1
- package/dist/tools/cron.d.ts +0 -3
- package/dist/tools/cron.d.ts.map +0 -1
- package/dist/tools/cron.js +0 -168
- package/dist/tools/cron.js.map +0 -1
- package/dist/tools/elasticsearch.d.ts +0 -3
- package/dist/tools/elasticsearch.d.ts.map +0 -1
- package/dist/tools/elasticsearch.js +0 -248
- package/dist/tools/elasticsearch.js.map +0 -1
- package/dist/tools/stats.d.ts.map +0 -1
- package/dist/tools/stats.js +0 -18
- package/dist/tools/stats.js.map +0 -1
|
@@ -1,248 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { ok, text, NOT_CONFIGURED_ES } from "../helpers.js";
|
|
3
|
-
function requireES(deps) {
|
|
4
|
-
if (!deps.esService())
|
|
5
|
-
return text(NOT_CONFIGURED_ES);
|
|
6
|
-
return null;
|
|
7
|
-
}
|
|
8
|
-
export function register(deps) {
|
|
9
|
-
const { server } = deps;
|
|
10
|
-
server.tool("search_logs", "Full-text search across workflow execution logs, responses, programs, and transformations using Elasticsearch. Requires ES to be configured (see setup). Supports field syntax (status:FAILED), fuzzy search, date ranges, and raw ES queries.", {
|
|
11
|
-
workspaceId: z.string().describe("Workspace ID"),
|
|
12
|
-
query: z
|
|
13
|
-
.string()
|
|
14
|
-
.optional()
|
|
15
|
-
.describe("Search text. Supports field:value syntax, wildcards, boolean operators, exact phrases in quotes."),
|
|
16
|
-
workflowId: z
|
|
17
|
-
.string()
|
|
18
|
-
.optional()
|
|
19
|
-
.describe("Filter to a single workflow ID"),
|
|
20
|
-
workflowIds: z
|
|
21
|
-
.array(z.string())
|
|
22
|
-
.optional()
|
|
23
|
-
.describe("Filter to multiple workflow IDs"),
|
|
24
|
-
status: z
|
|
25
|
-
.string()
|
|
26
|
-
.optional()
|
|
27
|
-
.describe("Filter by status: SUCCESS, FAILED, RUNNING, etc."),
|
|
28
|
-
startDate: z.string().optional().describe("Start date (ISO 8601)"),
|
|
29
|
-
endDate: z.string().optional().describe("End date (ISO 8601)"),
|
|
30
|
-
fuzzy: z
|
|
31
|
-
.boolean()
|
|
32
|
-
.optional()
|
|
33
|
-
.describe("Enable fuzzy matching (default false)"),
|
|
34
|
-
includeGlobalObject: z
|
|
35
|
-
.boolean()
|
|
36
|
-
.optional()
|
|
37
|
-
.describe("Also search global workflow object — slower but more thorough"),
|
|
38
|
-
rawQuery: z
|
|
39
|
-
.string()
|
|
40
|
-
.optional()
|
|
41
|
-
.describe("Raw Elasticsearch JSON query (advanced mode)"),
|
|
42
|
-
size: z.number().optional().describe("Results per page (default 20)"),
|
|
43
|
-
from: z.number().optional().describe("Offset for pagination"),
|
|
44
|
-
}, async (params) => {
|
|
45
|
-
const blocked = requireES(deps);
|
|
46
|
-
if (blocked)
|
|
47
|
-
return blocked;
|
|
48
|
-
try {
|
|
49
|
-
const results = await deps.esService().search(params);
|
|
50
|
-
return ok(results);
|
|
51
|
-
}
|
|
52
|
-
catch (e) {
|
|
53
|
-
return text(`Error: ${e.message}`);
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
server.tool("search_across_workflows", "Search for a value (order ID, error message, customer name, etc.) across multiple workflows in a time range. Great for incident investigation — finds correlated failures. Requires ES to be configured.", {
|
|
57
|
-
workspaceId: z.string().describe("Workspace ID"),
|
|
58
|
-
query: z
|
|
59
|
-
.string()
|
|
60
|
-
.describe("What to search for (order ID, error message, entity name, etc.)"),
|
|
61
|
-
workflowIds: z
|
|
62
|
-
.array(z.string())
|
|
63
|
-
.optional()
|
|
64
|
-
.describe("Specific workflow IDs to search (omit to search ALL workflows)"),
|
|
65
|
-
startDate: z
|
|
66
|
-
.string()
|
|
67
|
-
.optional()
|
|
68
|
-
.describe("Start of time range (ISO 8601)"),
|
|
69
|
-
endDate: z
|
|
70
|
-
.string()
|
|
71
|
-
.optional()
|
|
72
|
-
.describe("End of time range (ISO 8601)"),
|
|
73
|
-
status: z
|
|
74
|
-
.string()
|
|
75
|
-
.optional()
|
|
76
|
-
.describe("Filter by status (e.g., FAILED)"),
|
|
77
|
-
size: z.number().optional().describe("Max results (default 50)"),
|
|
78
|
-
}, async ({ workspaceId, query, workflowIds, startDate, endDate, status, size }) => {
|
|
79
|
-
const blocked = requireES(deps);
|
|
80
|
-
if (blocked)
|
|
81
|
-
return blocked;
|
|
82
|
-
try {
|
|
83
|
-
const results = await deps.esService().search({
|
|
84
|
-
workspaceId,
|
|
85
|
-
query,
|
|
86
|
-
workflowIds,
|
|
87
|
-
startDate,
|
|
88
|
-
endDate,
|
|
89
|
-
status,
|
|
90
|
-
size: size || 50,
|
|
91
|
-
fuzzy: true,
|
|
92
|
-
includeGlobalObject: true,
|
|
93
|
-
});
|
|
94
|
-
const byWorkflow = new Map();
|
|
95
|
-
for (const hit of results.hits) {
|
|
96
|
-
const wId = hit.workflowId || "unknown";
|
|
97
|
-
if (!byWorkflow.has(wId))
|
|
98
|
-
byWorkflow.set(wId, []);
|
|
99
|
-
byWorkflow.get(wId).push(hit);
|
|
100
|
-
}
|
|
101
|
-
return ok({
|
|
102
|
-
total: results.total,
|
|
103
|
-
took: results.took,
|
|
104
|
-
query,
|
|
105
|
-
timeRange: { startDate, endDate },
|
|
106
|
-
byWorkflow: Object.fromEntries(byWorkflow),
|
|
107
|
-
warning: results.warning,
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
catch (e) {
|
|
111
|
-
return text(`Error: ${e.message}`);
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
server.tool("investigate_incident", "Investigate an incident across workflows. Finds all failures in a time window, correlates by shared data, and produces a timeline. Works with or without Elasticsearch — ES gives full-text search, without ES falls back to API-based execution listing.", {
|
|
115
|
-
workspaceId: z.number().describe("Workspace ID"),
|
|
116
|
-
workflowIds: z.array(z.number()).describe("Workflow IDs to investigate"),
|
|
117
|
-
startDate: z
|
|
118
|
-
.string()
|
|
119
|
-
.optional()
|
|
120
|
-
.describe("Start of incident window (ISO 8601)"),
|
|
121
|
-
endDate: z
|
|
122
|
-
.string()
|
|
123
|
-
.optional()
|
|
124
|
-
.describe("End of incident window (ISO 8601)"),
|
|
125
|
-
keywords: z
|
|
126
|
-
.array(z.string())
|
|
127
|
-
.optional()
|
|
128
|
-
.describe("Search terms to correlate (order IDs, error messages, etc.)"),
|
|
129
|
-
status: z
|
|
130
|
-
.string()
|
|
131
|
-
.optional()
|
|
132
|
-
.describe("Filter status (default: FAILED)"),
|
|
133
|
-
}, async ({ workspaceId, workflowIds, startDate, endDate, keywords, status }) => {
|
|
134
|
-
try {
|
|
135
|
-
const filterStatus = status || "FAILED";
|
|
136
|
-
const es = deps.esService();
|
|
137
|
-
if (es && keywords?.length) {
|
|
138
|
-
const searchPromises = keywords.map((kw) => es.search({
|
|
139
|
-
workspaceId: String(workspaceId),
|
|
140
|
-
query: kw,
|
|
141
|
-
workflowIds: workflowIds.map(String),
|
|
142
|
-
startDate,
|
|
143
|
-
endDate,
|
|
144
|
-
status: filterStatus,
|
|
145
|
-
size: 20,
|
|
146
|
-
fuzzy: true,
|
|
147
|
-
includeGlobalObject: true,
|
|
148
|
-
}));
|
|
149
|
-
const searchResults = await Promise.all(searchPromises);
|
|
150
|
-
const allHits = [];
|
|
151
|
-
const seen = new Set();
|
|
152
|
-
for (let i = 0; i < searchResults.length; i++) {
|
|
153
|
-
for (const hit of searchResults[i].hits) {
|
|
154
|
-
if (!seen.has(hit.id)) {
|
|
155
|
-
seen.add(hit.id);
|
|
156
|
-
allHits.push({
|
|
157
|
-
...hit,
|
|
158
|
-
matchedKeyword: keywords[i],
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
allHits.sort((a, b) => new Date(a.startedAt || 0).getTime() -
|
|
164
|
-
new Date(b.startedAt || 0).getTime());
|
|
165
|
-
return ok({
|
|
166
|
-
mode: "elasticsearch",
|
|
167
|
-
totalMatches: allHits.length,
|
|
168
|
-
keywords,
|
|
169
|
-
timeline: allHits.map((h) => ({
|
|
170
|
-
time: h.startedAt,
|
|
171
|
-
workflowId: h.workflowId,
|
|
172
|
-
workflowName: h.workflowName,
|
|
173
|
-
executionId: h.executionId,
|
|
174
|
-
status: h.status,
|
|
175
|
-
matchedKeyword: h.matchedKeyword,
|
|
176
|
-
score: h.score,
|
|
177
|
-
})),
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
// API-based fallback
|
|
181
|
-
const client = deps.client();
|
|
182
|
-
const allExecs = [];
|
|
183
|
-
await Promise.all(workflowIds.map(async (wId) => {
|
|
184
|
-
try {
|
|
185
|
-
const workflow = await client.getWorkflow(wId);
|
|
186
|
-
const execs = await client.listExecutions(wId, {
|
|
187
|
-
startDate,
|
|
188
|
-
endDate,
|
|
189
|
-
status: filterStatus,
|
|
190
|
-
size: 20,
|
|
191
|
-
});
|
|
192
|
-
const list = execs?.content || execs || [];
|
|
193
|
-
for (const exec of Array.isArray(list) ? list : []) {
|
|
194
|
-
allExecs.push({
|
|
195
|
-
workflowId: wId,
|
|
196
|
-
workflowName: workflow.name,
|
|
197
|
-
...exec,
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
catch { }
|
|
202
|
-
}));
|
|
203
|
-
allExecs.sort((a, b) => new Date(a.startedAt || 0).getTime() -
|
|
204
|
-
new Date(b.startedAt || 0).getTime());
|
|
205
|
-
const diagnosed = await Promise.all(allExecs.slice(0, 10).map(async (exec) => {
|
|
206
|
-
try {
|
|
207
|
-
const full = await client.getExecution(exec.workflowId, exec.id);
|
|
208
|
-
const failedSteps = (full.flowRuns || []).filter((r) => r.status === "FAILED");
|
|
209
|
-
return {
|
|
210
|
-
time: exec.startedAt,
|
|
211
|
-
workflowId: exec.workflowId,
|
|
212
|
-
workflowName: exec.workflowName,
|
|
213
|
-
executionId: exec.id,
|
|
214
|
-
status: exec.status,
|
|
215
|
-
failedSteps: failedSteps.map((f) => ({
|
|
216
|
-
step: f.executionOrder,
|
|
217
|
-
name: f.flowName,
|
|
218
|
-
error: f.executionLog?.substring(0, 500) ||
|
|
219
|
-
(typeof f.response === "string"
|
|
220
|
-
? f.response.substring(0, 500)
|
|
221
|
-
: JSON.stringify(f.response)?.substring(0, 500)),
|
|
222
|
-
})),
|
|
223
|
-
};
|
|
224
|
-
}
|
|
225
|
-
catch {
|
|
226
|
-
return {
|
|
227
|
-
time: exec.startedAt,
|
|
228
|
-
workflowId: exec.workflowId,
|
|
229
|
-
workflowName: exec.workflowName,
|
|
230
|
-
executionId: exec.id,
|
|
231
|
-
status: exec.status,
|
|
232
|
-
failedSteps: [],
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
|
-
}));
|
|
236
|
-
return ok({
|
|
237
|
-
mode: "api",
|
|
238
|
-
hint: "Configure Elasticsearch for keyword-based correlation search",
|
|
239
|
-
totalFailures: allExecs.length,
|
|
240
|
-
timeline: diagnosed,
|
|
241
|
-
});
|
|
242
|
-
}
|
|
243
|
-
catch (e) {
|
|
244
|
-
return text(`Error: ${e.message}`);
|
|
245
|
-
}
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
//# sourceMappingURL=elasticsearch.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"elasticsearch.js","sourceRoot":"","sources":["../../src/tools/elasticsearch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/tools/stats.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,QAmCtC"}
|
package/dist/tools/stats.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { safe } from "../helpers.js";
|
|
3
|
-
export function register(deps) {
|
|
4
|
-
const { server } = deps;
|
|
5
|
-
server.tool("get_flow_stats", "Get flow execution statistics for a workspace (total runs, success rate, avg duration, etc.)", {
|
|
6
|
-
workspaceId: z.number().describe("Workspace ID"),
|
|
7
|
-
days: z
|
|
8
|
-
.number()
|
|
9
|
-
.optional()
|
|
10
|
-
.describe("Number of days to look back (default 7)"),
|
|
11
|
-
}, async ({ workspaceId, days }) => safe(() => deps.client().getFlowStats(workspaceId, days)));
|
|
12
|
-
server.tool("get_recent_flow_runs", "Get recent flow runs across all workflows in a workspace", {
|
|
13
|
-
workspaceId: z.number().describe("Workspace ID"),
|
|
14
|
-
limit: z.number().optional().describe("Max results (default 10)"),
|
|
15
|
-
}, async ({ workspaceId, limit }) => safe(() => deps.client().getRecentFlowRuns(workspaceId, limit)));
|
|
16
|
-
server.tool("list_api_keys", "List API keys in a workspace", { workspaceId: z.number().describe("Workspace ID") }, async ({ workspaceId }) => safe(() => deps.client().listApiKeys(workspaceId)));
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=stats.js.map
|
package/dist/tools/stats.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/tools/stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGrC,MAAM,UAAU,QAAQ,CAAC,IAAc;IACrC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAExB,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,8FAA8F,EAC9F;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChD,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,yCAAyC,CAAC;KACvD,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,CAC9B,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAC5D,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,0DAA0D,EAC1D;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;KAClE,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,CAC/B,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAClE,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,8BAA8B,EAC9B,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EACpD,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CACxB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CACrD,CAAC;AACJ,CAAC"}
|