diff --git a/Readme.md b/Readme.md index 72bf7b8..c574625 100644 --- a/Readme.md +++ b/Readme.md @@ -11,6 +11,8 @@ This MCP server provides access to Gremlin's reliability testing and management - Reliability reporting - Usage and pricing reports - Client (agent) and attack summaries +- Reliability test execution and queued run inspection +- Direct access to the Gremlin API ## Installation @@ -86,6 +88,11 @@ Add the following to your MCP settings: ## Available Tools +### Teams + +#### `list_teams` +Lists all teams you have access to. Nearly every other tool requires a `teamId`, and this is how to find one. + ### Service Management #### `list_services` @@ -111,7 +118,7 @@ Generates a reliability report for a service on a specific date. #### `get_reliability_experiments` Retrieves recent reliability experiments for a service. -- **Parameters:** `teamId` (required), `serviceId` (required), `dependencyId` (optional), `testId` (optional), `limit` (optional, default: 100) +- **Parameters:** `teamId` (required), `serviceId` (required), `dependencyId` (optional), `testId` (optional), `limit` (optional, default: 100), `includeScenarioRun` (optional, default: false, full step-by-step scenario run graph data) ### Usage & Billing @@ -129,6 +136,14 @@ Loads the attack summary for a team over a specified time period. Shows attack a ### Testing & Experiments +#### `run_reliability_test` +Triggers a reliability test run for a service. Requires the `SERVICES_RUN` privilege. Returns HTTP 400 if a test is already running or scheduled for the service. +- **Parameters:** `teamId` (required), `serviceId` (required), `reliabilityTestId` (required), `dependencyId` (optional), `failureFlagName` (optional), `includeScenarioRun` (optional, default: false) + +#### `get_pending_test_runs` +Retrieves pending or queued test runs for a service, ordered by expected trigger time. Useful for diagnosing a 400 from `run_reliability_test`. +- **Parameters:** `teamId` (required), `serviceId` (required) + #### `get_recent_reliability_tests` Gets recent reliability tests for a team. - **Parameters:** `teamId` (required), `pageSize` (optional, default: 5), `pageToken` (optional) @@ -137,11 +152,23 @@ Gets recent reliability tests for a team. Retrieves the current test suite for a team or all teams. - **Parameters:** `teamId` (optional) +### Direct API Access + +#### `search_gremlin_api` +Searches the Gremlin OpenAPI spec for endpoints, returning method, path, parameters, and request body schema for each match. +- **Parameters:** `query` (required), `method` (optional, enum: `GET`, `POST`, `PUT`, `DELETE`, `PATCH`), `tag` (optional, partial/case-insensitive match), `limit` (optional, default: 10, max: 50) + +#### `execute_gremlin_api` +Executes an arbitrary Gremlin API endpoint. Endpoints requiring a `*_RUN` privilege prompt for interactive confirmation unless bypassed; can trigger real chaos experiments. +- **Parameters:** `method` (required, enum: `GET`, `POST`, `PUT`, `DELETE`, `PATCH`), `path` (required, OpenAPI template syntax, leading slash optional), `pathParams` (optional), `queryParams` (optional), `body` (optional), `confirmExecution` (optional, bypasses the confirmation prompt) + ## Usage Notes - All date parameters should use YYYY-MM-DD format - Team and service IDs are required for most service-specific operations - Optional parameters have sensible defaults where applicable +- Team IDs can be discovered with `list_teams` +- Operations that trigger tests require the corresponding `*_RUN` privilege ## Example Queries