rootly-mcp-server 2.1.1__py3-none-any.whl → 2.1.3__py3-none-any.whl

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rootly-mcp-server
3
- Version: 2.1.1
3
+ Version: 2.1.3
4
4
  Summary: Secure Model Context Protocol server for Rootly APIs with AI SRE capabilities, comprehensive error handling, and input validation
5
5
  Project-URL: Homepage, https://github.com/Rootly-AI-Labs/Rootly-MCP-server
6
6
  Project-URL: Issues, https://github.com/Rootly-AI-Labs/Rootly-MCP-server/issues
@@ -113,27 +113,6 @@ Configure your MCP-compatible editor (tested with Cursor) with one of the config
113
113
  }
114
114
  ```
115
115
 
116
- To customize `allowed_paths` and access additional Rootly API paths, clone the repository and use this configuration:
117
-
118
- ```json
119
- {
120
- "mcpServers": {
121
- "rootly": {
122
- "command": "uv",
123
- "args": [
124
- "run",
125
- "--directory",
126
- "/path/to/rootly-mcp-server",
127
- "rootly-mcp-server"
128
- ],
129
- "env": {
130
- "ROOTLY_API_TOKEN": "<YOUR_ROOTLY_API_TOKEN>"
131
- }
132
- }
133
- }
134
- }
135
- ```
136
-
137
116
  ### Connect to Hosted MCP Server
138
117
 
139
118
  Alternatively, connect directly to our hosted MCP server:
@@ -168,6 +147,41 @@ Alternatively, connect directly to our hosted MCP server:
168
147
  - **`suggest_solutions`**: Mines past incident resolutions to recommend actionable solutions
169
148
  - **MCP Resources**: Exposes incident and team data as structured resources for easy AI reference
170
149
  - **Intelligent Pattern Recognition**: Automatically identifies services, error types, and resolution patterns
150
+ - **On-Call Health Integration**: Detects burnout risk in scheduled responders
151
+
152
+ ## On-Call Health Integration
153
+
154
+ Rootly MCP integrates with [On-Call Health](https://oncallhealth.ai) to detect burnout risk in scheduled responders.
155
+
156
+ ### Setup
157
+
158
+ Set the `ONCALLHEALTH_API_KEY` environment variable:
159
+
160
+ ```json
161
+ {
162
+ "mcpServers": {
163
+ "rootly": {
164
+ "command": "uvx",
165
+ "args": ["rootly-mcp-server"],
166
+ "env": {
167
+ "ROOTLY_API_TOKEN": "your_rootly_token",
168
+ "ONCALLHEALTH_API_KEY": "och_live_your_key"
169
+ }
170
+ }
171
+ }
172
+ }
173
+ ```
174
+
175
+ ### Usage
176
+
177
+ ```
178
+ check_oncall_burnout_risk(
179
+ start_date="2026-02-09",
180
+ end_date="2026-02-15"
181
+ )
182
+ ```
183
+
184
+ Returns at-risk users who are scheduled, recommended safe replacements, and action summaries.
171
185
 
172
186
  ## Example Skills
173
187
 
@@ -196,103 +210,6 @@ cp examples/skills/rootly-incident-responder.md .claude/skills/
196
210
 
197
211
  This skill demonstrates a complete incident response workflow using Rootly's intelligent tools combined with GitHub integration for code correlation.
198
212
 
199
- ### Available Tools
200
-
201
- **Alerts**
202
- - `listIncidentAlerts`
203
- - `listAlerts`
204
- - `attachAlert`
205
- - `createAlert`
206
-
207
- **Environments**
208
- - `listEnvironments`
209
- - `createEnvironment`
210
-
211
- **Functionalities**
212
- - `listFunctionalities`
213
- - `createFunctionality`
214
-
215
- **Workflows**
216
- - `listWorkflows`
217
- - `createWorkflow`
218
-
219
- **Incidents**
220
- - `listIncidentActionItems`
221
- - `createIncidentActionItem`
222
- - `listIncident_Types`
223
- - `createIncidentType`
224
- - `search_incidents`
225
- - `find_related_incidents`
226
- - `suggest_solutions`
227
-
228
- **On-Call**
229
- - `get_oncall_shift_metrics`
230
- - `get_oncall_handoff_summary`
231
- - `get_shift_incidents`
232
-
233
- **Services & Severities**
234
- - `listServices`
235
- - `createService`
236
- - `listSeverities`
237
- - `createSeverity`
238
-
239
- **Teams & Users**
240
- - `listTeams`
241
- - `createTeam`
242
- - `listUsers`
243
- - `getCurrentUser`
244
-
245
- **Meta**
246
- - `list_endpoints`
247
-
248
- ### Why Path Limiting?
249
-
250
- We limit exposed API paths for two key reasons:
251
-
252
- 1. **Context Management**: Rootly's comprehensive API can overwhelm AI agents, affecting their ability to perform simple tasks effectively
253
- 2. **Security**: Controls which information and actions are accessible through the MCP server
254
-
255
- To expose additional paths, modify the `allowed_paths` variable in `src/rootly_mcp_server/server.py`.
256
-
257
- ### Smart Analysis Tools
258
-
259
- The MCP server includes intelligent tools that analyze historical incident data to provide actionable insights:
260
-
261
- #### `find_related_incidents`
262
- Finds historically similar incidents using text similarity analysis:
263
- ```
264
- find_related_incidents(incident_id="12345", similarity_threshold=0.15, max_results=5)
265
- ```
266
- - **Input**: Incident ID, similarity threshold (0.0-1.0), max results
267
- - **Output**: Similar incidents with confidence scores, matched services, and resolution times
268
- - **Use Case**: Get context from past incidents to understand patterns and solutions
269
-
270
- #### `suggest_solutions`
271
- Recommends solutions by analyzing how similar incidents were resolved:
272
- ```
273
- suggest_solutions(incident_id="12345", max_solutions=3)
274
- # OR for new incidents:
275
- suggest_solutions(incident_title="Payment API errors", incident_description="Users getting 500 errors during checkout")
276
- ```
277
- - **Input**: Either incident ID OR title/description text
278
- - **Output**: Actionable solution recommendations with confidence scores and time estimates
279
- - **Use Case**: Get intelligent suggestions based on successful past resolutions
280
-
281
- #### How It Works
282
- - **Text Similarity**: Uses TF-IDF vectorization and cosine similarity (scikit-learn)
283
- - **Service Detection**: Automatically identifies affected services from incident text
284
- - **Pattern Recognition**: Finds common error types, resolution patterns, and time estimates
285
- - **Fallback Mode**: Works without ML libraries using keyword-based similarity
286
- - **Solution Mining**: Extracts actionable steps from resolution summaries
287
-
288
- #### Data Requirements
289
- For optimal results, ensure your Rootly incidents have descriptive:
290
- - **Titles**: Clear, specific incident descriptions
291
- - **Summaries**: Detailed resolution steps when closing incidents
292
- - **Service Tags**: Proper service identification
293
-
294
- Example good resolution summary: `"Restarted auth-service, cleared Redis cache, and increased connection pool from 10 to 50"`
295
-
296
213
  ### On-Call Shift Metrics
297
214
 
298
215
  Get on-call shift metrics for any time period, grouped by user, team, or schedule. Includes primary/secondary role tracking, shift counts, hours, and days on-call.
@@ -344,52 +261,9 @@ get_shift_incidents(
344
261
  Returns: `incidents` list + `summary` (counts, avg resolution time, grouping)
345
262
 
346
263
 
347
- ## Developer Setup & Troubleshooting
348
-
349
- ### Prerequisites
350
- - Python 3.12 or higher
351
- - [`uv`](https://github.com/astral-sh/uv) for dependency management
352
-
353
- ### 1. Set Up Virtual Environment
354
-
355
- Create and activate a virtual environment:
356
-
357
- ```bash
358
- uv venv .venv
359
- source .venv/bin/activate # Always activate before running scripts
360
- ```
361
-
362
- ### 2. Install Dependencies
363
-
364
- Install all project dependencies:
365
-
366
- ```bash
367
- uv pip install .
368
- ```
369
-
370
- To add new dependencies during development:
371
- ```bash
372
- uv pip install <package>
373
- ```
374
-
375
- ### 3. Set Up Git Hooks (Recommended for Contributors)
376
-
377
- Install pre-commit hooks to automatically run linting and tests before commits:
378
-
379
- ```bash
380
- ./scripts/setup-hooks.sh
381
- ```
382
-
383
- This ensures code quality by running:
384
- - Ruff linting
385
- - Pyright type checking
386
- - Unit tests
387
-
388
- ### 4. Verify Installation
389
-
390
- The server should now be ready to use with your MCP-compatible editor.
264
+ ## Contributing
391
265
 
392
- **For developers:** Additional testing tools are available in the `tests/` directory.
266
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for developer setup and guidelines.
393
267
 
394
268
  ## Play with it on Postman
395
269
  [<img src="https://run.pstmn.io/button.svg" alt="Run In Postman" style="width: 128px; height: 32px;">](https://god.gw.postman.com/run-collection/45004446-1074ba3c-44fe-40e3-a932-af7c071b96eb?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D45004446-1074ba3c-44fe-40e3-a932-af7c071b96eb%26entityType%3Dcollection%26workspaceId%3D4bec6e3c-50a0-4746-85f1-00a703c32f24)
@@ -3,16 +3,17 @@ rootly_mcp_server/__main__.py,sha256=mt74vaOpfHnX5rTO0CFAeulatR_9K3NBNCaLAhBLxlc
3
3
  rootly_mcp_server/client.py,sha256=Qca2R9cgBxXcyobQj4RHl8gdxLB4Jphq0RIr61DAVKw,6542
4
4
  rootly_mcp_server/exceptions.py,sha256=67J_wlfOICg87eUipbkARzn_6u_Io82L-5cVnk2UPr0,4504
5
5
  rootly_mcp_server/monitoring.py,sha256=k1X7vK65FOTrCrOsLUXrFm6AJxKpXt_a0PzL6xdPuVU,11681
6
+ rootly_mcp_server/och_client.py,sha256=tz_Qw8NwAmrlSjtl-V6WNVChiIofyur06YJZRfYotKE,2737
6
7
  rootly_mcp_server/pagination.py,sha256=2hZSO4DLUEJZbdF8oDfIt2_7X_XGBG1jIxN8VGmeJBE,2420
7
8
  rootly_mcp_server/security.py,sha256=YkMoVALZ3XaKnMu3yF5kVf3SW_jdKHllSMwVLk1OlX0,11556
8
- rootly_mcp_server/server.py,sha256=IQ2lZNZKckLRFr2ALjRL9AAjGWTsfQq4jkhlh0-BUig,109962
9
+ rootly_mcp_server/server.py,sha256=9XcQ5_yOv4ofMRjXoDg3LsPFb8qDiOHEFz9dPNfwl7o,163221
9
10
  rootly_mcp_server/smart_utils.py,sha256=c7S-8H151GfmDw6dZBDdLH_cCmR1qiXkKEYSKc0WwUY,23481
10
11
  rootly_mcp_server/texttest.json,sha256=KV9m13kWugmW1VEpU80Irp50uCcLgJtV1YT-JzMogQg,154182
11
12
  rootly_mcp_server/utils.py,sha256=TWG1MaaFKrU1phRhU6FgHuZAEv91JOe_1w0L2OrPJMY,4406
12
13
  rootly_mcp_server/validators.py,sha256=z1Lvel2SpOFLo1cPdQGSrX2ySt6zqR42w0R6QV9c2Cc,4092
13
14
  rootly_mcp_server/data/__init__.py,sha256=KdWD6hiRssHXt0Ywgj3wjNHY1sx-XSPEqVHqrTArf54,143
14
- rootly_mcp_server-2.1.1.dist-info/METADATA,sha256=iaXmvsZRLzSyYHpERE-xdn0Rd6rrrCXbO57lWZeIBHs,13560
15
- rootly_mcp_server-2.1.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
16
- rootly_mcp_server-2.1.1.dist-info/entry_points.txt,sha256=NE33b8VgigVPGBkboyo6pvN1Vz35HZtLybxMO4Q03PI,70
17
- rootly_mcp_server-2.1.1.dist-info/licenses/LICENSE,sha256=c9w9ZZGl14r54tsP40oaq5adTVX_HMNHozPIH2ymzmw,11341
18
- rootly_mcp_server-2.1.1.dist-info/RECORD,,
15
+ rootly_mcp_server-2.1.3.dist-info/METADATA,sha256=321Q8VyO2kJGCHbpEyf1NT73jZpB7Eb-KxbECDZcnVs,9892
16
+ rootly_mcp_server-2.1.3.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
17
+ rootly_mcp_server-2.1.3.dist-info/entry_points.txt,sha256=NE33b8VgigVPGBkboyo6pvN1Vz35HZtLybxMO4Q03PI,70
18
+ rootly_mcp_server-2.1.3.dist-info/licenses/LICENSE,sha256=c9w9ZZGl14r54tsP40oaq5adTVX_HMNHozPIH2ymzmw,11341
19
+ rootly_mcp_server-2.1.3.dist-info/RECORD,,