qorrelate-mcp-server 0.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.
Files changed (50) hide show
  1. package/README.md +197 -0
  2. package/dist/client.d.ts +293 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +358 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/index.d.ts +26 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +242 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/tools/alerts.d.ts +14 -0
  11. package/dist/tools/alerts.d.ts.map +1 -0
  12. package/dist/tools/alerts.js +381 -0
  13. package/dist/tools/alerts.js.map +1 -0
  14. package/dist/tools/dashboards.d.ts +14 -0
  15. package/dist/tools/dashboards.d.ts.map +1 -0
  16. package/dist/tools/dashboards.js +409 -0
  17. package/dist/tools/dashboards.js.map +1 -0
  18. package/dist/tools/data-control.d.ts +19 -0
  19. package/dist/tools/data-control.d.ts.map +1 -0
  20. package/dist/tools/data-control.js +213 -0
  21. package/dist/tools/data-control.js.map +1 -0
  22. package/dist/tools/logs.d.ts +14 -0
  23. package/dist/tools/logs.d.ts.map +1 -0
  24. package/dist/tools/logs.js +191 -0
  25. package/dist/tools/logs.js.map +1 -0
  26. package/dist/tools/metrics.d.ts +14 -0
  27. package/dist/tools/metrics.d.ts.map +1 -0
  28. package/dist/tools/metrics.js +217 -0
  29. package/dist/tools/metrics.js.map +1 -0
  30. package/dist/tools/organizations.d.ts +16 -0
  31. package/dist/tools/organizations.d.ts.map +1 -0
  32. package/dist/tools/organizations.js +378 -0
  33. package/dist/tools/organizations.js.map +1 -0
  34. package/dist/tools/services.d.ts +14 -0
  35. package/dist/tools/services.d.ts.map +1 -0
  36. package/dist/tools/services.js +218 -0
  37. package/dist/tools/services.js.map +1 -0
  38. package/dist/tools/sessions.d.ts +14 -0
  39. package/dist/tools/sessions.d.ts.map +1 -0
  40. package/dist/tools/sessions.js +221 -0
  41. package/dist/tools/sessions.js.map +1 -0
  42. package/dist/tools/setup.d.ts +17 -0
  43. package/dist/tools/setup.d.ts.map +1 -0
  44. package/dist/tools/setup.js +304 -0
  45. package/dist/tools/setup.js.map +1 -0
  46. package/dist/tools/traces.d.ts +14 -0
  47. package/dist/tools/traces.d.ts.map +1 -0
  48. package/dist/tools/traces.js +350 -0
  49. package/dist/tools/traces.js.map +1 -0
  50. package/package.json +48 -0
@@ -0,0 +1,221 @@
1
+ "use strict";
2
+ /**
3
+ * Session replay-related MCP tools
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.registerSessionTools = registerSessionTools;
7
+ exports.handleSessionTool = handleSessionTool;
8
+ function registerSessionTools() {
9
+ return [
10
+ {
11
+ name: "list_sessions",
12
+ description: `List user sessions from session replay. Use this to find sessions to investigate user issues or understand user behavior.
13
+
14
+ Examples:
15
+ - Find sessions with errors: list_sessions with has_errors=true
16
+ - Find sessions for a user: list_sessions with user_id="user-123"
17
+ - Recent sessions: list_sessions with limit=10`,
18
+ inputSchema: {
19
+ type: "object",
20
+ properties: {
21
+ has_errors: {
22
+ type: "boolean",
23
+ description: "Filter to only sessions with JavaScript errors",
24
+ },
25
+ user_id: {
26
+ type: "string",
27
+ description: "Filter by user ID",
28
+ },
29
+ start_time: {
30
+ type: "string",
31
+ description: "Start of time range (ISO 8601 format). Defaults to 24 hours ago.",
32
+ },
33
+ end_time: {
34
+ type: "string",
35
+ description: "End of time range (ISO 8601 format). Defaults to now.",
36
+ },
37
+ limit: {
38
+ type: "number",
39
+ description: "Maximum number of sessions to return (default: 20, max: 100)",
40
+ default: 20,
41
+ },
42
+ },
43
+ },
44
+ },
45
+ {
46
+ name: "get_session",
47
+ description: `Get details about a specific session, including events and user actions. Use the session_id from list_sessions.`,
48
+ inputSchema: {
49
+ type: "object",
50
+ properties: {
51
+ session_id: {
52
+ type: "string",
53
+ description: "The session ID to retrieve",
54
+ },
55
+ },
56
+ required: ["session_id"],
57
+ },
58
+ },
59
+ {
60
+ name: "sessions_analyze_errors",
61
+ description: "Analyze JavaScript errors across sessions. Shows error frequency, affected users, and common patterns.",
62
+ inputSchema: {
63
+ type: "object",
64
+ properties: {
65
+ start_time: {
66
+ type: "string",
67
+ description: "Start of time range (ISO 8601 format). Defaults to 24 hours ago.",
68
+ },
69
+ end_time: {
70
+ type: "string",
71
+ description: "End of time range (ISO 8601 format). Defaults to now.",
72
+ },
73
+ },
74
+ },
75
+ },
76
+ ];
77
+ }
78
+ async function handleSessionTool(client, toolName, args) {
79
+ const params = args || {};
80
+ switch (toolName) {
81
+ case "list_sessions": {
82
+ const result = await client.listSessions({
83
+ has_errors: params.has_errors,
84
+ user_id: params.user_id,
85
+ start_time: params.start_time,
86
+ end_time: params.end_time,
87
+ limit: Math.min(params.limit || 20, 100),
88
+ });
89
+ const sessions = result.sessions.map(session => ({
90
+ session_id: session.session_id,
91
+ user_id: session.user_id || 'anonymous',
92
+ url: session.url,
93
+ duration_minutes: Math.round(session.duration_ms / 60000 * 10) / 10,
94
+ event_count: session.event_count,
95
+ has_errors: session.has_errors,
96
+ location: [session.city, session.country].filter(Boolean).join(', ') || 'Unknown',
97
+ device: session.device_type,
98
+ browser: session.browser,
99
+ start_time: session.start_time,
100
+ }));
101
+ return {
102
+ content: [{
103
+ type: "text",
104
+ text: JSON.stringify({
105
+ count: sessions.length,
106
+ sessions,
107
+ }, null, 2),
108
+ }],
109
+ };
110
+ }
111
+ case "get_session": {
112
+ const sessionId = params.session_id;
113
+ if (!sessionId) {
114
+ return {
115
+ content: [{ type: "text", text: "session_id is required" }],
116
+ isError: true,
117
+ };
118
+ }
119
+ const session = await client.getSession(sessionId);
120
+ const events = session.events;
121
+ const keyEvents = [];
122
+ for (const event of events) {
123
+ // rrweb event types: 0=DomContentLoaded, 1=Load, 2=FullSnapshot, 3=IncrementalSnapshot, 4=Meta, 5=Custom
124
+ if (event.type === 5) { // Custom event
125
+ keyEvents.push({
126
+ type: 'custom',
127
+ timestamp: event.timestamp ? new Date(event.timestamp).toISOString() : undefined,
128
+ details: event.data?.type,
129
+ });
130
+ }
131
+ // Look for click events in incremental snapshots
132
+ if (event.type === 3 && event.data?.source === 2) { // Mouse interaction
133
+ keyEvents.push({
134
+ type: 'click',
135
+ timestamp: event.timestamp ? new Date(event.timestamp).toISOString() : undefined,
136
+ });
137
+ }
138
+ // Look for console errors
139
+ if (event.type === 5 && event.data?.type === 'console_error') {
140
+ keyEvents.push({
141
+ type: 'error',
142
+ timestamp: event.timestamp ? new Date(event.timestamp).toISOString() : undefined,
143
+ details: event.data?.text || event.data?.message,
144
+ });
145
+ }
146
+ }
147
+ return {
148
+ content: [{
149
+ type: "text",
150
+ text: JSON.stringify({
151
+ session_id: session.session_id,
152
+ user_id: session.user_id || 'anonymous',
153
+ url: session.url,
154
+ duration_minutes: Math.round(session.duration_ms / 60000 * 10) / 10,
155
+ total_events: session.event_count,
156
+ has_errors: session.has_errors,
157
+ location: [session.city, session.country].filter(Boolean).join(', ') || 'Unknown',
158
+ device: session.device_type,
159
+ browser: session.browser,
160
+ start_time: session.start_time,
161
+ end_time: session.end_time,
162
+ key_events: keyEvents.slice(0, 50), // Limit to 50 key events
163
+ replay_url: `https://qorrelate.io/app?view=replays&session=${session.session_id}`,
164
+ }, null, 2),
165
+ }],
166
+ };
167
+ }
168
+ case "sessions_analyze_errors": {
169
+ // Get sessions with errors
170
+ const result = await client.listSessions({
171
+ has_errors: true,
172
+ start_time: params.start_time,
173
+ end_time: params.end_time,
174
+ limit: 100,
175
+ });
176
+ // Aggregate error information
177
+ const errorSessions = result.sessions.length;
178
+ const affectedUsers = new Set(result.sessions.map(s => s.user_id).filter(Boolean)).size;
179
+ // Group by URL
180
+ const byUrl = new Map();
181
+ for (const session of result.sessions) {
182
+ byUrl.set(session.url, (byUrl.get(session.url) || 0) + 1);
183
+ }
184
+ // Group by browser
185
+ const byBrowser = new Map();
186
+ for (const session of result.sessions) {
187
+ if (session.browser) {
188
+ byBrowser.set(session.browser, (byBrowser.get(session.browser) || 0) + 1);
189
+ }
190
+ }
191
+ return {
192
+ content: [{
193
+ type: "text",
194
+ text: JSON.stringify({
195
+ error_sessions: errorSessions,
196
+ affected_users: affectedUsers,
197
+ by_url: Array.from(byUrl.entries())
198
+ .map(([url, count]) => ({ url, count }))
199
+ .sort((a, b) => b.count - a.count)
200
+ .slice(0, 10),
201
+ by_browser: Array.from(byBrowser.entries())
202
+ .map(([browser, count]) => ({ browser, count }))
203
+ .sort((a, b) => b.count - a.count),
204
+ sample_sessions: result.sessions.slice(0, 5).map(s => ({
205
+ session_id: s.session_id,
206
+ url: s.url,
207
+ user_id: s.user_id,
208
+ start_time: s.start_time,
209
+ })),
210
+ }, null, 2),
211
+ }],
212
+ };
213
+ }
214
+ default:
215
+ return {
216
+ content: [{ type: "text", text: `Unknown sessions tool: ${toolName}` }],
217
+ isError: true,
218
+ };
219
+ }
220
+ }
221
+ //# sourceMappingURL=sessions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/tools/sessions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Setup and Instrumentation Tools
3
+ *
4
+ * Tools for generating OpenTelemetry configurations, session replay snippets,
5
+ * and validating data ingestion. Enables AI agents to fully automate the
6
+ * instrumentation setup process.
7
+ */
8
+ import { Tool } from "@modelcontextprotocol/sdk/types.js";
9
+ import { QorrelateClient } from "../client.js";
10
+ export declare function registerSetupTools(): Tool[];
11
+ export declare function handleSetupTool(client: QorrelateClient, name: string, args: Record<string, unknown>): Promise<{
12
+ content: Array<{
13
+ type: string;
14
+ text: string;
15
+ }>;
16
+ }>;
17
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/tools/setup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAqD/C,wBAAgB,kBAAkB,IAAI,IAAI,EAAE,CAkJ3C;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA4J7D"}
@@ -0,0 +1,304 @@
1
+ "use strict";
2
+ /**
3
+ * Setup and Instrumentation Tools
4
+ *
5
+ * Tools for generating OpenTelemetry configurations, session replay snippets,
6
+ * and validating data ingestion. Enables AI agents to fully automate the
7
+ * instrumentation setup process.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.registerSetupTools = registerSetupTools;
11
+ exports.handleSetupTool = handleSetupTool;
12
+ function registerSetupTools() {
13
+ return [
14
+ {
15
+ name: "generate_otel_python",
16
+ description: "Generate Python OpenTelemetry SDK configuration code for a service",
17
+ inputSchema: {
18
+ type: "object",
19
+ properties: {
20
+ service_name: {
21
+ type: "string",
22
+ description: "Name of the service to instrument",
23
+ },
24
+ environment: {
25
+ type: "string",
26
+ description: "Environment (production, staging, development)",
27
+ default: "production",
28
+ },
29
+ enable_traces: {
30
+ type: "boolean",
31
+ description: "Enable distributed tracing",
32
+ default: true,
33
+ },
34
+ enable_metrics: {
35
+ type: "boolean",
36
+ description: "Enable metrics collection",
37
+ default: true,
38
+ },
39
+ enable_logs: {
40
+ type: "boolean",
41
+ description: "Enable log forwarding",
42
+ default: true,
43
+ },
44
+ },
45
+ required: ["service_name"],
46
+ },
47
+ },
48
+ {
49
+ name: "generate_otel_node",
50
+ description: "Generate Node.js OpenTelemetry SDK configuration code for a service",
51
+ inputSchema: {
52
+ type: "object",
53
+ properties: {
54
+ service_name: {
55
+ type: "string",
56
+ description: "Name of the service to instrument",
57
+ },
58
+ environment: {
59
+ type: "string",
60
+ description: "Environment (production, staging, development)",
61
+ default: "production",
62
+ },
63
+ enable_traces: {
64
+ type: "boolean",
65
+ description: "Enable distributed tracing",
66
+ default: true,
67
+ },
68
+ enable_metrics: {
69
+ type: "boolean",
70
+ description: "Enable metrics collection",
71
+ default: true,
72
+ },
73
+ enable_logs: {
74
+ type: "boolean",
75
+ description: "Enable log forwarding",
76
+ default: true,
77
+ },
78
+ },
79
+ required: ["service_name"],
80
+ },
81
+ },
82
+ {
83
+ name: "generate_otel_go",
84
+ description: "Generate Go OpenTelemetry SDK configuration code for a service",
85
+ inputSchema: {
86
+ type: "object",
87
+ properties: {
88
+ service_name: {
89
+ type: "string",
90
+ description: "Name of the service to instrument",
91
+ },
92
+ environment: {
93
+ type: "string",
94
+ description: "Environment (production, staging, development)",
95
+ default: "production",
96
+ },
97
+ },
98
+ required: ["service_name"],
99
+ },
100
+ },
101
+ {
102
+ name: "generate_collector_config",
103
+ description: "Generate OpenTelemetry Collector configuration YAML",
104
+ inputSchema: {
105
+ type: "object",
106
+ properties: {
107
+ services: {
108
+ type: "string",
109
+ description: "Comma-separated list of service names",
110
+ },
111
+ environment: {
112
+ type: "string",
113
+ description: "Environment (production, staging, development)",
114
+ default: "production",
115
+ },
116
+ enable_host_metrics: {
117
+ type: "boolean",
118
+ description: "Collect host metrics (CPU, memory, disk)",
119
+ default: true,
120
+ },
121
+ enable_kubernetes: {
122
+ type: "boolean",
123
+ description: "Enable Kubernetes metadata enrichment",
124
+ default: false,
125
+ },
126
+ },
127
+ required: ["services"],
128
+ },
129
+ },
130
+ {
131
+ name: "generate_session_replay",
132
+ description: "Generate session replay JavaScript snippet for web applications",
133
+ inputSchema: {
134
+ type: "object",
135
+ properties: {},
136
+ required: [],
137
+ },
138
+ },
139
+ {
140
+ name: "validate_ingestion",
141
+ description: "Check if telemetry data is being received for the organization",
142
+ inputSchema: {
143
+ type: "object",
144
+ properties: {},
145
+ required: [],
146
+ },
147
+ },
148
+ {
149
+ name: "get_onboarding_status",
150
+ description: "Get complete onboarding status and checklist for the organization",
151
+ inputSchema: {
152
+ type: "object",
153
+ properties: {},
154
+ required: [],
155
+ },
156
+ },
157
+ ];
158
+ }
159
+ async function handleSetupTool(client, name, args) {
160
+ switch (name) {
161
+ case "generate_otel_python": {
162
+ const params = new URLSearchParams();
163
+ params.set("service_name", args.service_name);
164
+ if (args.environment)
165
+ params.set("environment", args.environment);
166
+ if (args.enable_traces !== undefined)
167
+ params.set("enable_traces", String(args.enable_traces));
168
+ if (args.enable_metrics !== undefined)
169
+ params.set("enable_metrics", String(args.enable_metrics));
170
+ if (args.enable_logs !== undefined)
171
+ params.set("enable_logs", String(args.enable_logs));
172
+ const result = await client.getSetupOtelPython(params);
173
+ return {
174
+ content: [
175
+ {
176
+ type: "text",
177
+ text: `# Python OpenTelemetry Configuration\n\n## Install Dependencies\n\`\`\`bash\n${result.install_command}\n\`\`\`\n\n## Configuration Code\n\`\`\`python\n${result.code}\n\`\`\`\n\n## Environment Variables\n${Object.entries(result.env_vars).map(([k, v]) => `- ${k}=${v}`).join('\n')}`,
178
+ },
179
+ ],
180
+ };
181
+ }
182
+ case "generate_otel_node": {
183
+ const params = new URLSearchParams();
184
+ params.set("service_name", args.service_name);
185
+ if (args.environment)
186
+ params.set("environment", args.environment);
187
+ if (args.enable_traces !== undefined)
188
+ params.set("enable_traces", String(args.enable_traces));
189
+ if (args.enable_metrics !== undefined)
190
+ params.set("enable_metrics", String(args.enable_metrics));
191
+ if (args.enable_logs !== undefined)
192
+ params.set("enable_logs", String(args.enable_logs));
193
+ const result = await client.getSetupOtelNode(params);
194
+ return {
195
+ content: [
196
+ {
197
+ type: "text",
198
+ text: `# Node.js OpenTelemetry Configuration\n\n## Install Dependencies\n\`\`\`bash\n${result.install_command}\n\`\`\`\n\n## Configuration Code (tracing.js)\n\`\`\`javascript\n${result.code}\n\`\`\`\n\n## Usage\n\`\`\`bash\nnode -r ./tracing.js your-app.js\n\`\`\`\n\n## Environment Variables\n${Object.entries(result.env_vars).map(([k, v]) => `- ${k}=${v}`).join('\n')}`,
199
+ },
200
+ ],
201
+ };
202
+ }
203
+ case "generate_otel_go": {
204
+ const params = new URLSearchParams();
205
+ params.set("service_name", args.service_name);
206
+ if (args.environment)
207
+ params.set("environment", args.environment);
208
+ const result = await client.getSetupOtelGo(params);
209
+ return {
210
+ content: [
211
+ {
212
+ type: "text",
213
+ text: `# Go OpenTelemetry Configuration\n\n## Install Dependencies\n\`\`\`bash\n${result.install_command}\n\`\`\`\n\n## Configuration Code\n\`\`\`go\n${result.code}\n\`\`\`\n\n## Environment Variables\n${Object.entries(result.env_vars).map(([k, v]) => `- ${k}=${v}`).join('\n')}`,
214
+ },
215
+ ],
216
+ };
217
+ }
218
+ case "generate_collector_config": {
219
+ const params = new URLSearchParams();
220
+ params.set("services", args.services);
221
+ if (args.environment)
222
+ params.set("environment", args.environment);
223
+ if (args.enable_host_metrics !== undefined)
224
+ params.set("enable_host_metrics", String(args.enable_host_metrics));
225
+ if (args.enable_kubernetes !== undefined)
226
+ params.set("enable_kubernetes", String(args.enable_kubernetes));
227
+ const result = await client.getSetupCollector(params);
228
+ return {
229
+ content: [
230
+ {
231
+ type: "text",
232
+ text: `# OpenTelemetry Collector Configuration\n\n## otel-collector-config.yaml\n\`\`\`yaml\n${result.config}\n\`\`\`\n\n## Run Commands\n\n### Native\n\`\`\`bash\n${result.run_command}\n\`\`\`\n\n### Docker\n\`\`\`bash\n${result.docker_command}\n\`\`\`\n\n## Environment Variables\n${Object.entries(result.env_vars).map(([k, v]) => `- ${k}=${v}`).join('\n')}`,
233
+ },
234
+ ],
235
+ };
236
+ }
237
+ case "generate_session_replay": {
238
+ const result = await client.getSetupSessionReplay();
239
+ return {
240
+ content: [
241
+ {
242
+ type: "text",
243
+ text: `# Session Replay Setup\n\n## HTML Snippet\n\`\`\`html\n${result.snippet}\n\`\`\`\n\n## Placement\n${result.placement}\n\n## Features\n${result.features.map((f) => `- ${f}`).join('\n')}`,
244
+ },
245
+ ],
246
+ };
247
+ }
248
+ case "validate_ingestion": {
249
+ const result = await client.getSetupValidate();
250
+ const statusEmoji = result.status === "healthy" ? "✅" : result.status === "partial" ? "⚠️" : "❌";
251
+ let output = `# Data Ingestion Status: ${statusEmoji} ${result.status.toUpperCase()}\n\n`;
252
+ output += `${result.message}\n\n`;
253
+ output += `## Telemetry Summary (Last Hour)\n\n`;
254
+ output += `| Type | Receiving | Count | Details |\n`;
255
+ output += `|------|-----------|-------|--------|\n`;
256
+ output += `| Logs | ${result.telemetry.logs.receiving ? "✅" : "❌"} | ${result.telemetry.logs.count} | ${result.telemetry.logs.services} services |\n`;
257
+ output += `| Traces | ${result.telemetry.traces.receiving ? "✅" : "❌"} | ${result.telemetry.traces.count} | ${result.telemetry.traces.services} services |\n`;
258
+ output += `| Metrics | ${result.telemetry.metrics.receiving ? "✅" : "❌"} | ${result.telemetry.metrics.count} | ${result.telemetry.metrics.unique_metrics} unique |\n`;
259
+ output += `| Sessions | ${result.telemetry.sessions.receiving ? "✅" : "❌"} | ${result.telemetry.sessions.count} | |\n`;
260
+ output += `\n## Recommendations\n\n`;
261
+ output += result.recommendations.map((r) => `- ${r}`).join('\n');
262
+ return {
263
+ content: [
264
+ {
265
+ type: "text",
266
+ text: output,
267
+ },
268
+ ],
269
+ };
270
+ }
271
+ case "get_onboarding_status": {
272
+ const result = await client.getSetupStatus();
273
+ let output = `# Onboarding Status: ${result.completion_percent}% Complete\n\n`;
274
+ output += `**Organization:** ${result.organization_name} (${result.organization_id})\n\n`;
275
+ output += `## Checklist\n\n`;
276
+ for (const [key, value] of Object.entries(result.checklist)) {
277
+ const label = key.replace(/_/g, ' ').replace(/\b\w/g, l => l.toUpperCase());
278
+ output += `- [${value ? 'x' : ' '}] ${label}\n`;
279
+ }
280
+ output += `\n## Current Stats\n\n`;
281
+ output += `- API Keys: ${result.stats.api_keys}\n`;
282
+ output += `- Team Members: ${result.stats.members}\n`;
283
+ output += `- Active Alerts: ${result.stats.active_alerts}\n`;
284
+ output += `- Dashboards: ${result.stats.dashboards}\n`;
285
+ output += `- Services: ${result.stats.services.join(', ') || 'None detected'}\n`;
286
+ output += `\n## Next Steps\n\n`;
287
+ for (const step of result.next_steps) {
288
+ const priority = step.priority === 'high' ? '🔴' : step.priority === 'medium' ? '🟡' : step.priority === 'low' ? '🟢' : 'ℹ️';
289
+ output += `${priority} **${step.action}**\n Endpoint: \`${step.endpoint}\`\n\n`;
290
+ }
291
+ return {
292
+ content: [
293
+ {
294
+ type: "text",
295
+ text: output,
296
+ },
297
+ ],
298
+ };
299
+ }
300
+ default:
301
+ throw new Error(`Unknown setup tool: ${name}`);
302
+ }
303
+ }
304
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/tools/setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Trace-related MCP tools
3
+ */
4
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
5
+ import type { QorrelateClient } from "../client.js";
6
+ export declare function registerTraceTools(): Tool[];
7
+ export declare function handleTraceTool(client: QorrelateClient, toolName: string, args: Record<string, unknown> | undefined): Promise<{
8
+ content: Array<{
9
+ type: string;
10
+ text: string;
11
+ }>;
12
+ isError?: boolean;
13
+ }>;
14
+ //# sourceMappingURL=traces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traces.d.ts","sourceRoot":"","sources":["../../src/tools/traces.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,wBAAgB,kBAAkB,IAAI,IAAI,EAAE,CAoG3C;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACxC,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAwQhF"}