@gremlin/mcp-server 2.2.1 → 2.2.2
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 +14 -0
- package/build/client/gremlin.d.ts +27 -0
- package/build/client/interface.d.ts +22 -0
- package/build/elicitation.d.ts +27 -0
- package/build/index.d.ts +11 -0
- package/build/index.mjs +821 -0
- package/build/main.d.ts +1 -0
- package/build/main.mjs +15557 -8280
- package/build/openapi/spec-loader.d.ts +41 -0
- package/build/resources/index.d.ts +9 -0
- package/build/tools/company.d.ts +49 -0
- package/build/tools/index.d.ts +3 -0
- package/build/tools/openapi.d.ts +49 -0
- package/build/tools/reliability-management.d.ts +98 -0
- package/build/tools/services.d.ts +55 -0
- package/build/tools/teams.d.ts +7 -0
- package/build/types.d.ts +155 -0
- package/package.json +9 -3
package/Readme.md
CHANGED
|
@@ -38,6 +38,19 @@ Go to Claude Settings > Developer and add the following to your `claude_desktop_
|
|
|
38
38
|
|
|
39
39
|
### VS Code / Cursor
|
|
40
40
|
|
|
41
|
+
> Requires [VS Code 1.99](https://code.visualstudio.com/updates/v1_99) or higher (MCP support was added in the March 2025 release). See also: [Cursor MCP docs](https://cursor.com/docs/mcp).
|
|
42
|
+
|
|
43
|
+
Open your MCP Settings:
|
|
44
|
+
- Cursor: `Cmd+Shift+P` → search "Cursor Settings" → Tools & Integrations → Add Custom MCP
|
|
45
|
+
- VSCode: `Cmd+Shift+P` → type "MCP: Open User Configuration"
|
|
46
|
+
|
|
47
|
+
Or directly edit them:
|
|
48
|
+
- Cursor (Mac/Linux): `~/.cursor/mcp.json`
|
|
49
|
+
- Cursor (Win): `%USERPROFILE%\.cursor\mcp.json`
|
|
50
|
+
- VSCode (Mac): `~/Library/Application Support/Code/User/mcp.json`
|
|
51
|
+
- VSCode (Win): `%APPDATA%\Code\User\mcp.json`
|
|
52
|
+
- VSCode (Linux): `~/.config/Code/User/mcp.json`
|
|
53
|
+
|
|
41
54
|
Add the following to your MCP settings:
|
|
42
55
|
|
|
43
56
|
```json
|
|
@@ -63,6 +76,7 @@ Add the following to your MCP settings:
|
|
|
63
76
|
}
|
|
64
77
|
```
|
|
65
78
|
|
|
79
|
+
|
|
66
80
|
## Available Tools
|
|
67
81
|
|
|
68
82
|
### Service Management
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { GremlinClient } from './interface';
|
|
2
|
+
import type { Page, PendingReliabilityTestRun, PricingReport, RecentRunResponse, ReliabilityReport, ReliabilityTestRun, ReliabilityTestRunParameters, ReliabilityTestSuite, ReportPeriod, Self, Service, Team, TrackingPeriod, User } from '../types';
|
|
3
|
+
export declare class GremlinApi implements GremlinClient {
|
|
4
|
+
private baseUrl;
|
|
5
|
+
private userAgent;
|
|
6
|
+
private cache;
|
|
7
|
+
listUsers(): Promise<User[]>;
|
|
8
|
+
listTeams(): Promise<Team[]>;
|
|
9
|
+
getTeam(teamId: string): Promise<Team>;
|
|
10
|
+
listServicesForTeam(teamId: string): Promise<Page<Service>>;
|
|
11
|
+
getReliabilityReport(serviceId: string, teamId: string, date?: string): Promise<ReliabilityReport>;
|
|
12
|
+
getServiceDependencies(serviceId: string, teamId: string): Promise<ReliabilityReport>;
|
|
13
|
+
getServiceStatusChecks(serviceId: string, teamId: string): Promise<ReliabilityReport>;
|
|
14
|
+
getServiceRisks(serviceId: string, teamId: string): Promise<ReliabilityReport>;
|
|
15
|
+
getAllTestSuite(): Promise<ReliabilityTestSuite[]>;
|
|
16
|
+
getRecentReliabilityTests(teamId: string, limit?: number, pageToken?: string): Promise<Page<RecentRunResponse>>;
|
|
17
|
+
getReliabilityExperiment(serviceId: string, teamId: string, dependencyId?: string, testId?: string, limit?: number): Promise<Page<ReliabilityTestRun> | ReliabilityTestRun>;
|
|
18
|
+
runReliabilityTest(reliabilityTestId: string, teamId: string, params: ReliabilityTestRunParameters): Promise<ReliabilityTestRun>;
|
|
19
|
+
getPendingTestRuns(serviceId: string, teamId: string): Promise<PendingReliabilityTestRun[]>;
|
|
20
|
+
getService(serviceId: string, teamId: string): Promise<Page<Service>>;
|
|
21
|
+
getPricingReport(startDate: string, endDate: string, trackingPeriod?: TrackingPeriod): Promise<PricingReport>;
|
|
22
|
+
getClientSummary(teamId: string, start: string, end: string, period: ReportPeriod): Promise<unknown>;
|
|
23
|
+
getAttackSummary(teamId: string, start: string, end: string, period: ReportPeriod): Promise<unknown>;
|
|
24
|
+
getSelf(): Promise<Self>;
|
|
25
|
+
execute<T = unknown>(method: string, path: string, queryParams?: Record<string, string>, body?: Record<string, unknown>): Promise<T>;
|
|
26
|
+
private requestWithRetry;
|
|
27
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Page, PendingReliabilityTestRun, PricingReport, RecentRunResponse, ReliabilityReport, ReliabilityTestRun, ReliabilityTestRunParameters, ReliabilityTestSuite, ReportPeriod, Self, Service, Team, TrackingPeriod, User } from '../types';
|
|
2
|
+
export interface GremlinClient {
|
|
3
|
+
listUsers(): Promise<User[]>;
|
|
4
|
+
listTeams(): Promise<Team[]>;
|
|
5
|
+
getTeam(teamId: string): Promise<Team>;
|
|
6
|
+
listServicesForTeam(teamId: string): Promise<Page<Service>>;
|
|
7
|
+
getService(serviceId: string, teamId: string): Promise<Page<Service>>;
|
|
8
|
+
getSelf(): Promise<Self>;
|
|
9
|
+
getReliabilityReport(serviceId: string, teamId: string, date?: string): Promise<ReliabilityReport>;
|
|
10
|
+
getServiceDependencies(serviceId: string, teamId: string): Promise<ReliabilityReport>;
|
|
11
|
+
getServiceStatusChecks(serviceId: string, teamId: string): Promise<ReliabilityReport>;
|
|
12
|
+
getServiceRisks(serviceId: string, teamId: string): Promise<ReliabilityReport>;
|
|
13
|
+
getAllTestSuite(): Promise<ReliabilityTestSuite[]>;
|
|
14
|
+
getRecentReliabilityTests(teamId: string, limit?: number, pageToken?: string): Promise<Page<RecentRunResponse>>;
|
|
15
|
+
getReliabilityExperiment(serviceId: string, teamId: string, dependencyId?: string, testId?: string, limit?: number): Promise<Page<ReliabilityTestRun> | ReliabilityTestRun>;
|
|
16
|
+
runReliabilityTest(reliabilityTestId: string, teamId: string, params: ReliabilityTestRunParameters): Promise<ReliabilityTestRun>;
|
|
17
|
+
getPendingTestRuns(serviceId: string, teamId: string): Promise<PendingReliabilityTestRun[]>;
|
|
18
|
+
getPricingReport(startDate: string, endDate: string, trackingPeriod?: TrackingPeriod): Promise<PricingReport>;
|
|
19
|
+
getClientSummary(teamId: string, start: string, end: string, period: ReportPeriod): Promise<unknown>;
|
|
20
|
+
getAttackSummary(teamId: string, start: string, end: string, period: ReportPeriod): Promise<unknown>;
|
|
21
|
+
execute<T = unknown>(method: string, path: string, queryParams?: Record<string, string>, body?: Record<string, unknown>): Promise<T>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
export interface ElicitationOption {
|
|
3
|
+
label: string;
|
|
4
|
+
value: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Abstracts over any mechanism that asks a user to pick from a set of options.
|
|
9
|
+
* Implement this to plug custom confirmation UIs into the Gremlin tools.
|
|
10
|
+
*/
|
|
11
|
+
export interface ElicitationClient {
|
|
12
|
+
/**
|
|
13
|
+
* Prompt the user to choose one of the provided options.
|
|
14
|
+
* Returns the `value` of the chosen option.
|
|
15
|
+
* Throw if the prompt cannot be shown (e.g. unsupported runtime).
|
|
16
|
+
*/
|
|
17
|
+
confirm(prompt: string, options: ElicitationOption[]): Promise<string>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Adapter that implements ElicitationClient on top of the MCP SDK's elicitInput.
|
|
21
|
+
* Treats the first option as "proceed" and everything else as "cancel".
|
|
22
|
+
*/
|
|
23
|
+
export declare class McpElicitationClient implements ElicitationClient {
|
|
24
|
+
private readonly server;
|
|
25
|
+
constructor(server: McpServer);
|
|
26
|
+
confirm(prompt: string, options: ElicitationOption[]): Promise<string>;
|
|
27
|
+
}
|
package/build/index.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type { GremlinClient } from './client/interface';
|
|
2
|
+
export type { ElicitationClient, ElicitationOption } from './elicitation';
|
|
3
|
+
export { McpElicitationClient } from './elicitation';
|
|
4
|
+
export type { Page, PendingReliabilityTestRun, PolicyEvaluation, PricingReport, PricingUsage, RecentRunResponse, ReliabilityCategorySummary, ReliabilityReport, ReliabilityTestRun, ReliabilityTestRunParameters, ReliabilityTestSuite, ReportPeriod, Self, Service, Team, TrackingPeriod, User, } from './types';
|
|
5
|
+
export { createGetReliabilityExperimentTool, createGetReliabilityReportTool, createGetCurrentTestSuiteTool, createRunReliabilityTestTool, createGetPendingTestRunsTool, createGetRecentReliabilityTestsTool, } from './tools/reliability-management';
|
|
6
|
+
export { createListServicesTool, createGetServiceDependenciesTool, createGetServiceStatusChecksTool, createListServiceRisksTool, } from './tools/services';
|
|
7
|
+
export { createListTeamsTool } from './tools/teams';
|
|
8
|
+
export { createGetPricingReportTool, createGetClientSummaryTool, createGetAttackSummaryTool, } from './tools/company';
|
|
9
|
+
export { createSearchGremlinApiTool, createExecuteGremlinApiTool } from './tools/openapi';
|
|
10
|
+
export { registerTools } from './tools/index';
|
|
11
|
+
export { registerResources } from './resources/index';
|