rootly-mcp-server 2.2.22__tar.gz → 2.3.0__tar.gz
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.
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/CHANGELOG.md +67 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/PKG-INFO +123 -34
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/README.md +122 -33
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/pyproject.toml +1 -1
- rootly_mcp_server-2.3.0/src/rootly_mcp_server/server_defaults.py +410 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/tools/incidents.py +31 -4
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/tools/oncall.py +9 -2
- rootly_mcp_server-2.3.0/src/rootly_mcp_server/tools/resources.py +240 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/transport.py +92 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/unit/test_server.py +106 -7
- rootly_mcp_server-2.3.0/tests/unit/test_server_defaults_module.py +93 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/unit/test_transport_module.py +169 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/uv.lock +1 -1
- rootly_mcp_server-2.2.22/src/rootly_mcp_server/server_defaults.py +0 -204
- rootly_mcp_server-2.2.22/src/rootly_mcp_server/tools/resources.py +0 -135
- rootly_mcp_server-2.2.22/tests/unit/test_server_defaults_module.py +0 -55
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/.dockerignore +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/.gitattributes +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/.github/dependabot.yml +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/.github/openapi-audit-remote-baseline.json +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/.github/workflows/ci.yml +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/.github/workflows/dependency-review.yml +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/.github/workflows/openapi-audit.yml +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/.github/workflows/pypi-release.yml +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/.gitignore +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/.semaphore/deploy-staging.yml +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/.semaphore/deploy.yml +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/.semaphore/semaphore.yml +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/.semaphore/update-task-definition.sh +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/CONTRIBUTING.md +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/Dockerfile +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/LICENSE +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/examples/skills/README.md +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/gemini-extension.json +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/rootly-mcp-server-demo.gif +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/rootly_openapi.json +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/scripts/audit_openapi.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/scripts/setup-hooks.sh +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/server.json +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/__init__.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/__main__.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/audit.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/client.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/code_mode.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/data/__init__.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/exceptions.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/legacy_server.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/mcp_error.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/monitoring.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/och_client.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/pagination.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/payload_stripping.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/security.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/server.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/smart_utils.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/spec_transform.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/tools/__init__.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/tools/alerts.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/utils.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/src/rootly_mcp_server/validators.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/README.md +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/conftest.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/integration/local/test_basic.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/integration/local/test_smart_tools.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/integration/local/test_tool_allowlists.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/integration/remote/test_essential.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/test_client.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/unit/test_alert_stripping.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/unit/test_authentication.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/unit/test_code_mode_module.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/unit/test_exceptions.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/unit/test_http_headers.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/unit/test_legacy_server_module.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/unit/test_main_transport.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/unit/test_mcp_error_module.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/unit/test_och_client.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/unit/test_oncall_handoff.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/unit/test_oncall_metrics.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/unit/test_oncall_new_tools.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/unit/test_oncall_severity_normalization.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/unit/test_payload_stripping_module.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/unit/test_security.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/unit/test_smart_utils.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/unit/test_tools.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/unit/test_utils.py +0 -0
- {rootly_mcp_server-2.2.22 → rootly_mcp_server-2.3.0}/tests/unit/test_validators.py +0 -0
|
@@ -5,6 +5,73 @@ All notable changes to the Rootly MCP Server will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.3.0] - Released 2026-04-23
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
- **Comprehensive API Coverage Expansion**: Expanded MCP tool surface from 124 to 150+ tools by updating to latest Rootly API specification with 95+ operations
|
|
13
|
+
- **Enhanced Tool Discoverability**: Added contextual "WHEN TO USE" guidance to tool descriptions for improved AI agent decision-making
|
|
14
|
+
- **Workflow-Focused Tool Subsets**: Introduced 5 predefined tool configurations optimized for specific use cases (Incident Response, Schedule Management, Monitoring Setup, Retrospectives, Administration)
|
|
15
|
+
- **Operational Context Resources**: Added new MCP resources for real-time operational awareness:
|
|
16
|
+
- `rootly://oncall-status` - Live on-call status across teams for incident response context
|
|
17
|
+
- `rootly://workflow-guide` - Step-by-step workflow guidance for common Rootly operations
|
|
18
|
+
- **Expanded Write Operations**: Added 54 non-destructive write operations while maintaining security boundaries
|
|
19
|
+
- **API Path Coverage**: Increased DEFAULT_ALLOWED_PATHS from ~80 to 151 endpoints covering workflows, dashboards, communications, playbooks, and monitoring
|
|
20
|
+
|
|
21
|
+
### Enhanced
|
|
22
|
+
|
|
23
|
+
- **Tool Descriptions**: Enhanced incident and on-call tool descriptions with specific usage context and best practices
|
|
24
|
+
- **Environment Configuration**: Improved environment-based tool subset configuration following MCP best practices
|
|
25
|
+
- **Error Handling**: Robust error handling in new resource implementations with proper categorization
|
|
26
|
+
|
|
27
|
+
### Documentation
|
|
28
|
+
|
|
29
|
+
- **README Updates**: Updated tool counts, added workflow subset configurations, and enhanced setup guidance
|
|
30
|
+
- **Configuration Examples**: Added 5 workflow-focused environment configurations for optimal AI performance
|
|
31
|
+
- **API Coverage**: Documented comprehensive endpoint coverage while highlighting security exclusions
|
|
32
|
+
|
|
33
|
+
### Security
|
|
34
|
+
|
|
35
|
+
- **Maintained Boundaries**: Preserved security exclusions for sensitive operations (API keys, user management, webhooks, financial data)
|
|
36
|
+
- **Curated Approach**: Continued read-first philosophy with carefully selected write operations
|
|
37
|
+
- **Input Validation**: Maintained existing security controls and validation patterns
|
|
38
|
+
|
|
39
|
+
### Testing
|
|
40
|
+
|
|
41
|
+
- **Updated Assertions**: Fixed test assertions to match updated API operation names (listAlertsSources, getAlertsSource)
|
|
42
|
+
- **Comprehensive Coverage**: All 382 tests passing with expanded API surface
|
|
43
|
+
- **Security Validation**: Verified security boundaries remain intact with expanded tool set
|
|
44
|
+
|
|
45
|
+
### Breaking Changes
|
|
46
|
+
|
|
47
|
+
- None - Fully backward compatible with existing configurations and user workflows
|
|
48
|
+
|
|
49
|
+
## [2.2.24] - Released 2026-04-22
|
|
50
|
+
|
|
51
|
+
### Fixed
|
|
52
|
+
|
|
53
|
+
- **Incident Form Field Selection Responses**: Normalized text and textarea form field selection responses so MCP clients receive the primary `value` plus `selected_*_ids`, without the redundant `selected_*` value objects repeated across unrelated resource types
|
|
54
|
+
|
|
55
|
+
### Testing
|
|
56
|
+
|
|
57
|
+
- **Response Normalization Coverage**: Added focused transport tests for single-item and list incident form field selection payloads, including a guard to leave select-style fields unchanged
|
|
58
|
+
|
|
59
|
+
## [2.2.23] - Released 2026-04-22
|
|
60
|
+
|
|
61
|
+
### Features
|
|
62
|
+
|
|
63
|
+
- **Self-Hosted Tool Allowlists**: Added `ROOTLY_MCP_ENABLED_TOOLS` and `--enabled-tools` so self-hosted deployments can expose only an exact allowlist of MCP tool names
|
|
64
|
+
- **Tool Discovery Command**: Added `--list-tools` so self-hosted users can print the effective tool names for their current configuration before narrowing the MCP surface
|
|
65
|
+
- **Code Mode Alignment**: Applied the same allowlist behavior to the self-hosted Code Mode surface so discovery and enforcement stay consistent
|
|
66
|
+
|
|
67
|
+
### Testing
|
|
68
|
+
|
|
69
|
+
- **Live MCP Integration Coverage**: Added subprocess integration tests that boot the server, connect over streamable HTTP, call `tools/list`, and verify the live tool payload matches the configured allowlist
|
|
70
|
+
|
|
71
|
+
### Documentation
|
|
72
|
+
|
|
73
|
+
- **Self-Hosted Setup Guidance**: Documented the new allowlist and discovery workflow in the README, including smoke-test examples for read-only and write-enabled self-hosted setups
|
|
74
|
+
|
|
8
75
|
## [2.2.20] - Released 2026-04-21
|
|
9
76
|
|
|
10
77
|
### Security
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rootly-mcp-server
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.3.0
|
|
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
|
|
@@ -350,7 +350,7 @@ Choose one transport per server process:
|
|
|
350
350
|
- **SSE** endpoint path: `/sse`
|
|
351
351
|
- **Code Mode (experimental)** endpoint path: `/mcp-codemode` in hosted dual-transport mode
|
|
352
352
|
|
|
353
|
-
Both hosted and self-hosted deployments expose
|
|
353
|
+
Both hosted and self-hosted deployments expose the same curated tool surface by default, including the default write-enabled tools. To restrict that surface to read-only tools, start the server with `--no-enable-write-tools` or set `ROOTLY_MCP_ENABLE_WRITE_TOOLS=false`.
|
|
354
354
|
|
|
355
355
|
To expose only a specific subset of MCP tools on a self-hosted deployment, set `ROOTLY_MCP_ENABLED_TOOLS` (or pass `--enabled-tools`) with a comma-separated allowlist of exact tool names, for example `list_incidents,getIncident,get_server_version`.
|
|
356
356
|
|
|
@@ -416,6 +416,70 @@ docker run -p 8000:8000 \
|
|
|
416
416
|
rootly-mcp-server
|
|
417
417
|
```
|
|
418
418
|
|
|
419
|
+
## Workflow-Focused Tool Subsets
|
|
420
|
+
|
|
421
|
+
With 150+ tools available, you may want to configure focused subsets for optimal AI agent performance. Use `ROOTLY_MCP_ENABLED_TOOLS` to activate specific workflows:
|
|
422
|
+
|
|
423
|
+
### 🚨 Incident Response (25 tools)
|
|
424
|
+
*Essential tools for emergency responders and incident commanders*
|
|
425
|
+
|
|
426
|
+
```bash
|
|
427
|
+
ROOTLY_MCP_ENABLED_TOOLS="listIncidents,getIncident,createIncident,updateIncident,search_incidents,find_related_incidents,suggest_solutions,createIncidentActionItem,listIncidentActionItems,updateIncidentFormFieldSelection,listTeams,getCurrentUser,listServices,listSeverities,getAlert,listAlerts,updateAlert,listEscalationPolicies,getEscalationPolicy,listOnCallRoles,listSchedules,getScheduleShifts,get_oncall_handoff_summary,get_shift_incidents,list_endpoints"
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
### 📅 On-Call Management (35 tools)
|
|
431
|
+
*For schedule coordinators and on-call managers*
|
|
432
|
+
|
|
433
|
+
```bash
|
|
434
|
+
ROOTLY_MCP_ENABLED_TOOLS="listSchedules,getSchedule,updateSchedule,getScheduleShifts,listShifts,list_shifts,createScheduleRotation,updateScheduleRotation,listScheduleRotations,getScheduleRotation,listScheduleRotationUsers,updateScheduleRotationUser,createOnCallShadow,updateOnCallShadow,listOnCallShadows,createOverrideShift,updateOverrideShift,listOverrideShifts,listOnCallRoles,updateOnCallRole,get_oncall_schedule_summary,get_oncall_shift_metrics,check_oncall_health_risk,check_responder_availability,create_override_recommendation,listTeams,getTeam,listUsers,getUser,getCurrentUser,listEscalationPolicies,updateEscalationPolicy,listEscalationPaths,updateEscalationPath,listEscalationLevels"
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
### 📊 Monitoring & Alerting (40 tools)
|
|
438
|
+
*For platform teams setting up observability*
|
|
439
|
+
|
|
440
|
+
```bash
|
|
441
|
+
ROOTLY_MCP_ENABLED_TOOLS="listAlerts,getAlert,updateAlert,createAlertGroup,updateAlertGroup,listAlertGroups,createAlertRoutingRule,updateAlertRoutingRule,listAlertRoutingRules,listAlertEvents,getAlertEvent,updateAlertEvent,createHeartbeat,updateHeartbeat,listHeartbeats,getHeartbeat,createPulse,updatePulse,listPulses,getPulse,createDashboard,updateDashboard,listDashboards,getDashboard,createDashboardPanel,updateDashboardPanel,listStatusPages,getStatusPage,updateStatusPage,createStatusPageTemplate,updateStatusPageTemplate,listCommunicationsTemplates,updateCommunicationsTemplate,createLiveCallRouter,updateLiveCallRouter,listServices,listTeams,getCurrentUser,listEnvironments,listSeverities,list_endpoints"
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
### 📋 Post-Incident Analysis (30 tools)
|
|
445
|
+
*For SREs doing retrospectives and process improvement*
|
|
446
|
+
|
|
447
|
+
```bash
|
|
448
|
+
ROOTLY_MCP_ENABLED_TOOLS="getIncident,updateIncident,find_related_incidents,suggest_solutions,listIncidentActionItems,createIncidentActionItem,updateIncidentFormFieldSelection,createPostIncidentReview,updatePostIncidentReview,listPostIncidentReviews,getPostIncidentReview,createRetrospectiveStep,updateRetrospectiveStep,listRetrospectiveSteps,createRetrospectiveProcess,updateRetrospectiveProcess,listRetrospectiveProcesses,createPlaybook,updatePlaybook,listPlaybooks,getPlaybook,createPlaybookTask,updatePlaybookTask,listCauses,getCause,updateCause,listIncidentTypes,getIncidentType,updateIncidentType,getCurrentUser"
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
### 📈 Analytics & Reporting (15 tools)
|
|
452
|
+
*For leadership and metrics teams (read-only focus)*
|
|
453
|
+
|
|
454
|
+
```bash
|
|
455
|
+
ROOTLY_MCP_ENABLED_TOOLS="listIncidents,search_incidents,collect_incidents,listTeams,listServices,listSchedules,get_oncall_shift_metrics,get_shift_incidents,listDashboards,getDashboard,listAlerts,listHeartbeats,listPulses,getCurrentUser,list_endpoints"
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
### Multiple MCP Instances for Different Teams
|
|
459
|
+
|
|
460
|
+
You can run multiple MCP instances with different tool subsets:
|
|
461
|
+
|
|
462
|
+
```json
|
|
463
|
+
{
|
|
464
|
+
"mcpServers": {
|
|
465
|
+
"rootly-incident-response": {
|
|
466
|
+
"command": "uvx", "args": ["--from", "rootly-mcp-server", "rootly-mcp-server"],
|
|
467
|
+
"env": {
|
|
468
|
+
"ROOTLY_API_TOKEN": "<token>",
|
|
469
|
+
"ROOTLY_MCP_ENABLED_TOOLS": "listIncidents,getIncident,createIncident,find_related_incidents,suggest_solutions..."
|
|
470
|
+
}
|
|
471
|
+
},
|
|
472
|
+
"rootly-oncall-management": {
|
|
473
|
+
"command": "uvx", "args": ["--from", "rootly-mcp-server", "rootly-mcp-server"],
|
|
474
|
+
"env": {
|
|
475
|
+
"ROOTLY_API_TOKEN": "<token>",
|
|
476
|
+
"ROOTLY_MCP_ENABLED_TOOLS": "listSchedules,updateSchedule,createOverrideShift,get_oncall_shift_metrics..."
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
```
|
|
482
|
+
|
|
419
483
|
### With uvx
|
|
420
484
|
|
|
421
485
|
```json
|
|
@@ -444,13 +508,13 @@ docker run -p 8000:8000 \
|
|
|
444
508
|
- **Intelligent Incident Analysis**: Smart tools that analyze historical incident data
|
|
445
509
|
- **`find_related_incidents`**: Uses TF-IDF similarity analysis to find historically similar incidents
|
|
446
510
|
- **`suggest_solutions`**: Mines past incident resolutions to recommend actionable solutions
|
|
447
|
-
- **MCP Resources**: Exposes
|
|
511
|
+
- **MCP Resources**: Exposes incidents, teams, on-call status, and workflow guides as structured resources for AI context
|
|
448
512
|
- **Intelligent Pattern Recognition**: Automatically identifies services, error types, and resolution patterns
|
|
449
513
|
- **On-Call Health Integration**: Detects workload health risk in scheduled responders
|
|
450
514
|
|
|
451
515
|
## Supported Tools
|
|
452
516
|
|
|
453
|
-
The default server configuration exposes **
|
|
517
|
+
The default server configuration exposes **150+ tools**.
|
|
454
518
|
|
|
455
519
|
### Custom Agentic Tools
|
|
456
520
|
|
|
@@ -477,41 +541,31 @@ The default server configuration exposes **110 tools**.
|
|
|
477
541
|
### OpenAPI-Generated Tools
|
|
478
542
|
|
|
479
543
|
```text
|
|
480
|
-
|
|
481
|
-
createAlert
|
|
482
|
-
createEnvironment
|
|
483
|
-
createEscalationLevel
|
|
484
|
-
createEscalationLevelPaths
|
|
485
|
-
createEscalationPath
|
|
486
|
-
createEscalationPolicy
|
|
487
|
-
createFunctionality
|
|
544
|
+
ListWorkflowRuns
|
|
488
545
|
createIncidentActionItem
|
|
489
546
|
createIncidentFormFieldSelection
|
|
490
|
-
createIncidentType
|
|
491
|
-
createOnCallRole
|
|
492
|
-
createOnCallShadow
|
|
493
|
-
createOverrideShift
|
|
494
|
-
createSchedule
|
|
495
|
-
createScheduleRotation
|
|
496
|
-
createScheduleRotationActiveDay
|
|
497
|
-
createScheduleRotationUser
|
|
498
|
-
createService
|
|
499
|
-
createSeverity
|
|
500
|
-
createTeam
|
|
501
|
-
createWorkflow
|
|
502
547
|
createWorkflowTask
|
|
503
|
-
deleteEscalationLevel
|
|
504
|
-
deleteEscalationPath
|
|
505
|
-
deleteEscalationPolicy
|
|
506
|
-
deleteSchedule
|
|
507
|
-
deleteScheduleRotation
|
|
508
548
|
getAlert
|
|
549
|
+
getAlertEvent
|
|
550
|
+
getAlertGroup
|
|
551
|
+
getAlertRoutingRule
|
|
552
|
+
getAlertSource
|
|
553
|
+
getAlertUrgency
|
|
554
|
+
getCatalog
|
|
555
|
+
getCatalogEntity
|
|
556
|
+
getCause
|
|
509
557
|
getCurrentUser
|
|
558
|
+
getCustomForm
|
|
510
559
|
getEnvironment
|
|
511
560
|
getEscalationLevel
|
|
512
561
|
getEscalationPath
|
|
513
562
|
getEscalationPolicy
|
|
563
|
+
getFormField
|
|
564
|
+
getFormFieldOption
|
|
514
565
|
getFunctionality
|
|
566
|
+
getFunctionalityIncidentsChart
|
|
567
|
+
getFunctionalityUptimeChart
|
|
568
|
+
getIncidentActionItems
|
|
515
569
|
getIncidentFormFieldSelection
|
|
516
570
|
getIncidentType
|
|
517
571
|
getOnCallRole
|
|
@@ -521,22 +575,42 @@ getSchedule
|
|
|
521
575
|
getScheduleRotation
|
|
522
576
|
getScheduleShifts
|
|
523
577
|
getService
|
|
578
|
+
getServiceIncidentsChart
|
|
579
|
+
getServiceUptimeChart
|
|
524
580
|
getSeverity
|
|
581
|
+
getStatusPage
|
|
582
|
+
getStatusPageTemplate
|
|
525
583
|
getTeam
|
|
584
|
+
getTeamIncidentsChart
|
|
526
585
|
getUser
|
|
527
586
|
getWorkflow
|
|
587
|
+
getWorkflowFormFieldCondition
|
|
588
|
+
getWorkflowGroup
|
|
528
589
|
getWorkflowTask
|
|
590
|
+
listAlertEvents
|
|
591
|
+
listAlertGroups
|
|
592
|
+
listAlertRoutingRules
|
|
593
|
+
listAlertSources
|
|
594
|
+
listAlertUrgencies
|
|
529
595
|
listAlerts
|
|
596
|
+
listAllIncidentActionItems
|
|
597
|
+
listCatalogEntities
|
|
598
|
+
listCatalogs
|
|
599
|
+
listCauses
|
|
600
|
+
listCustomForms
|
|
530
601
|
listEnvironments
|
|
531
602
|
listEscalationLevels
|
|
532
603
|
listEscalationLevelsPaths
|
|
533
604
|
listEscalationPaths
|
|
534
605
|
listEscalationPolicies
|
|
606
|
+
listFormFieldOptions
|
|
607
|
+
listFormFields
|
|
535
608
|
listFunctionalities
|
|
536
609
|
listIncidentActionItems
|
|
537
610
|
listIncidentAlerts
|
|
538
611
|
listIncidentFormFieldSelections
|
|
539
612
|
listIncident_Types
|
|
613
|
+
listIncidents
|
|
540
614
|
listOnCallRoles
|
|
541
615
|
listOnCallShadows
|
|
542
616
|
listOverrideShifts
|
|
@@ -547,17 +621,19 @@ listSchedules
|
|
|
547
621
|
listServices
|
|
548
622
|
listSeverities
|
|
549
623
|
listShifts
|
|
624
|
+
listStatusPageTemplates
|
|
625
|
+
listStatusPages
|
|
550
626
|
listTeams
|
|
551
627
|
listUsers
|
|
628
|
+
listWorkflowFormFieldConditions
|
|
629
|
+
listWorkflowGroups
|
|
552
630
|
listWorkflows
|
|
553
631
|
listWorkflowTasks
|
|
554
|
-
updateAlert
|
|
555
632
|
updateEnvironment
|
|
556
633
|
updateEscalationLevel
|
|
557
634
|
updateEscalationPath
|
|
558
635
|
updateEscalationPolicy
|
|
559
636
|
updateFunctionality
|
|
560
|
-
updateIncidentFormFieldSelection
|
|
561
637
|
updateIncidentType
|
|
562
638
|
updateOnCallRole
|
|
563
639
|
updateOnCallShadow
|
|
@@ -567,13 +643,14 @@ updateScheduleRotation
|
|
|
567
643
|
updateService
|
|
568
644
|
updateSeverity
|
|
569
645
|
updateTeam
|
|
570
|
-
updateUser
|
|
571
646
|
updateWorkflow
|
|
647
|
+
updateIncidentFormFieldSelection
|
|
572
648
|
updateWorkflowTask
|
|
573
649
|
```
|
|
574
650
|
|
|
575
|
-
|
|
576
|
-
|
|
651
|
+
**Major Expansion**: This version includes 50+ new endpoints covering communications, dashboards, playbooks, post-incident reviews, monitoring, and advanced form management - while carefully excluding security-sensitive operations like API key management, user creation/deletion, role management, and webhook configuration.
|
|
652
|
+
|
|
653
|
+
Delete operations remain disabled in the default tool surface.
|
|
577
654
|
|
|
578
655
|
## On-Call Health Integration
|
|
579
656
|
|
|
@@ -670,6 +747,18 @@ Regional filtering shows only people on-call during business hours (9am-5pm) in
|
|
|
670
747
|
|
|
671
748
|
Returns: `schedules` with `current_oncall`, `next_oncall`, and `shift_incidents`
|
|
672
749
|
|
|
750
|
+
### MCP Resources for Context
|
|
751
|
+
|
|
752
|
+
AI agents can access these resources for situational awareness:
|
|
753
|
+
|
|
754
|
+
- **`incident://{incident_id}`** - Detailed incident information for specific incidents
|
|
755
|
+
- **`team://{team_id}`** - Team details including name, color, and metadata
|
|
756
|
+
- **`rootly://incidents`** - List of recent incidents for quick reference
|
|
757
|
+
- **`rootly://oncall-status`** - Current on-call status across all schedules (critical for incident response)
|
|
758
|
+
- **`rootly://workflow-guide`** - Step-by-step workflow guidance for common operations
|
|
759
|
+
|
|
760
|
+
Example usage: *"Check the current on-call status"* → AI reads `rootly://oncall-status` resource
|
|
761
|
+
|
|
673
762
|
### Shift Incidents
|
|
674
763
|
|
|
675
764
|
Incidents during a time period, with filtering by severity/status/tags.
|
|
@@ -306,7 +306,7 @@ Choose one transport per server process:
|
|
|
306
306
|
- **SSE** endpoint path: `/sse`
|
|
307
307
|
- **Code Mode (experimental)** endpoint path: `/mcp-codemode` in hosted dual-transport mode
|
|
308
308
|
|
|
309
|
-
Both hosted and self-hosted deployments expose
|
|
309
|
+
Both hosted and self-hosted deployments expose the same curated tool surface by default, including the default write-enabled tools. To restrict that surface to read-only tools, start the server with `--no-enable-write-tools` or set `ROOTLY_MCP_ENABLE_WRITE_TOOLS=false`.
|
|
310
310
|
|
|
311
311
|
To expose only a specific subset of MCP tools on a self-hosted deployment, set `ROOTLY_MCP_ENABLED_TOOLS` (or pass `--enabled-tools`) with a comma-separated allowlist of exact tool names, for example `list_incidents,getIncident,get_server_version`.
|
|
312
312
|
|
|
@@ -372,6 +372,70 @@ docker run -p 8000:8000 \
|
|
|
372
372
|
rootly-mcp-server
|
|
373
373
|
```
|
|
374
374
|
|
|
375
|
+
## Workflow-Focused Tool Subsets
|
|
376
|
+
|
|
377
|
+
With 150+ tools available, you may want to configure focused subsets for optimal AI agent performance. Use `ROOTLY_MCP_ENABLED_TOOLS` to activate specific workflows:
|
|
378
|
+
|
|
379
|
+
### 🚨 Incident Response (25 tools)
|
|
380
|
+
*Essential tools for emergency responders and incident commanders*
|
|
381
|
+
|
|
382
|
+
```bash
|
|
383
|
+
ROOTLY_MCP_ENABLED_TOOLS="listIncidents,getIncident,createIncident,updateIncident,search_incidents,find_related_incidents,suggest_solutions,createIncidentActionItem,listIncidentActionItems,updateIncidentFormFieldSelection,listTeams,getCurrentUser,listServices,listSeverities,getAlert,listAlerts,updateAlert,listEscalationPolicies,getEscalationPolicy,listOnCallRoles,listSchedules,getScheduleShifts,get_oncall_handoff_summary,get_shift_incidents,list_endpoints"
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
### 📅 On-Call Management (35 tools)
|
|
387
|
+
*For schedule coordinators and on-call managers*
|
|
388
|
+
|
|
389
|
+
```bash
|
|
390
|
+
ROOTLY_MCP_ENABLED_TOOLS="listSchedules,getSchedule,updateSchedule,getScheduleShifts,listShifts,list_shifts,createScheduleRotation,updateScheduleRotation,listScheduleRotations,getScheduleRotation,listScheduleRotationUsers,updateScheduleRotationUser,createOnCallShadow,updateOnCallShadow,listOnCallShadows,createOverrideShift,updateOverrideShift,listOverrideShifts,listOnCallRoles,updateOnCallRole,get_oncall_schedule_summary,get_oncall_shift_metrics,check_oncall_health_risk,check_responder_availability,create_override_recommendation,listTeams,getTeam,listUsers,getUser,getCurrentUser,listEscalationPolicies,updateEscalationPolicy,listEscalationPaths,updateEscalationPath,listEscalationLevels"
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
### 📊 Monitoring & Alerting (40 tools)
|
|
394
|
+
*For platform teams setting up observability*
|
|
395
|
+
|
|
396
|
+
```bash
|
|
397
|
+
ROOTLY_MCP_ENABLED_TOOLS="listAlerts,getAlert,updateAlert,createAlertGroup,updateAlertGroup,listAlertGroups,createAlertRoutingRule,updateAlertRoutingRule,listAlertRoutingRules,listAlertEvents,getAlertEvent,updateAlertEvent,createHeartbeat,updateHeartbeat,listHeartbeats,getHeartbeat,createPulse,updatePulse,listPulses,getPulse,createDashboard,updateDashboard,listDashboards,getDashboard,createDashboardPanel,updateDashboardPanel,listStatusPages,getStatusPage,updateStatusPage,createStatusPageTemplate,updateStatusPageTemplate,listCommunicationsTemplates,updateCommunicationsTemplate,createLiveCallRouter,updateLiveCallRouter,listServices,listTeams,getCurrentUser,listEnvironments,listSeverities,list_endpoints"
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
### 📋 Post-Incident Analysis (30 tools)
|
|
401
|
+
*For SREs doing retrospectives and process improvement*
|
|
402
|
+
|
|
403
|
+
```bash
|
|
404
|
+
ROOTLY_MCP_ENABLED_TOOLS="getIncident,updateIncident,find_related_incidents,suggest_solutions,listIncidentActionItems,createIncidentActionItem,updateIncidentFormFieldSelection,createPostIncidentReview,updatePostIncidentReview,listPostIncidentReviews,getPostIncidentReview,createRetrospectiveStep,updateRetrospectiveStep,listRetrospectiveSteps,createRetrospectiveProcess,updateRetrospectiveProcess,listRetrospectiveProcesses,createPlaybook,updatePlaybook,listPlaybooks,getPlaybook,createPlaybookTask,updatePlaybookTask,listCauses,getCause,updateCause,listIncidentTypes,getIncidentType,updateIncidentType,getCurrentUser"
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
### 📈 Analytics & Reporting (15 tools)
|
|
408
|
+
*For leadership and metrics teams (read-only focus)*
|
|
409
|
+
|
|
410
|
+
```bash
|
|
411
|
+
ROOTLY_MCP_ENABLED_TOOLS="listIncidents,search_incidents,collect_incidents,listTeams,listServices,listSchedules,get_oncall_shift_metrics,get_shift_incidents,listDashboards,getDashboard,listAlerts,listHeartbeats,listPulses,getCurrentUser,list_endpoints"
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
### Multiple MCP Instances for Different Teams
|
|
415
|
+
|
|
416
|
+
You can run multiple MCP instances with different tool subsets:
|
|
417
|
+
|
|
418
|
+
```json
|
|
419
|
+
{
|
|
420
|
+
"mcpServers": {
|
|
421
|
+
"rootly-incident-response": {
|
|
422
|
+
"command": "uvx", "args": ["--from", "rootly-mcp-server", "rootly-mcp-server"],
|
|
423
|
+
"env": {
|
|
424
|
+
"ROOTLY_API_TOKEN": "<token>",
|
|
425
|
+
"ROOTLY_MCP_ENABLED_TOOLS": "listIncidents,getIncident,createIncident,find_related_incidents,suggest_solutions..."
|
|
426
|
+
}
|
|
427
|
+
},
|
|
428
|
+
"rootly-oncall-management": {
|
|
429
|
+
"command": "uvx", "args": ["--from", "rootly-mcp-server", "rootly-mcp-server"],
|
|
430
|
+
"env": {
|
|
431
|
+
"ROOTLY_API_TOKEN": "<token>",
|
|
432
|
+
"ROOTLY_MCP_ENABLED_TOOLS": "listSchedules,updateSchedule,createOverrideShift,get_oncall_shift_metrics..."
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
```
|
|
438
|
+
|
|
375
439
|
### With uvx
|
|
376
440
|
|
|
377
441
|
```json
|
|
@@ -400,13 +464,13 @@ docker run -p 8000:8000 \
|
|
|
400
464
|
- **Intelligent Incident Analysis**: Smart tools that analyze historical incident data
|
|
401
465
|
- **`find_related_incidents`**: Uses TF-IDF similarity analysis to find historically similar incidents
|
|
402
466
|
- **`suggest_solutions`**: Mines past incident resolutions to recommend actionable solutions
|
|
403
|
-
- **MCP Resources**: Exposes
|
|
467
|
+
- **MCP Resources**: Exposes incidents, teams, on-call status, and workflow guides as structured resources for AI context
|
|
404
468
|
- **Intelligent Pattern Recognition**: Automatically identifies services, error types, and resolution patterns
|
|
405
469
|
- **On-Call Health Integration**: Detects workload health risk in scheduled responders
|
|
406
470
|
|
|
407
471
|
## Supported Tools
|
|
408
472
|
|
|
409
|
-
The default server configuration exposes **
|
|
473
|
+
The default server configuration exposes **150+ tools**.
|
|
410
474
|
|
|
411
475
|
### Custom Agentic Tools
|
|
412
476
|
|
|
@@ -433,41 +497,31 @@ The default server configuration exposes **110 tools**.
|
|
|
433
497
|
### OpenAPI-Generated Tools
|
|
434
498
|
|
|
435
499
|
```text
|
|
436
|
-
|
|
437
|
-
createAlert
|
|
438
|
-
createEnvironment
|
|
439
|
-
createEscalationLevel
|
|
440
|
-
createEscalationLevelPaths
|
|
441
|
-
createEscalationPath
|
|
442
|
-
createEscalationPolicy
|
|
443
|
-
createFunctionality
|
|
500
|
+
ListWorkflowRuns
|
|
444
501
|
createIncidentActionItem
|
|
445
502
|
createIncidentFormFieldSelection
|
|
446
|
-
createIncidentType
|
|
447
|
-
createOnCallRole
|
|
448
|
-
createOnCallShadow
|
|
449
|
-
createOverrideShift
|
|
450
|
-
createSchedule
|
|
451
|
-
createScheduleRotation
|
|
452
|
-
createScheduleRotationActiveDay
|
|
453
|
-
createScheduleRotationUser
|
|
454
|
-
createService
|
|
455
|
-
createSeverity
|
|
456
|
-
createTeam
|
|
457
|
-
createWorkflow
|
|
458
503
|
createWorkflowTask
|
|
459
|
-
deleteEscalationLevel
|
|
460
|
-
deleteEscalationPath
|
|
461
|
-
deleteEscalationPolicy
|
|
462
|
-
deleteSchedule
|
|
463
|
-
deleteScheduleRotation
|
|
464
504
|
getAlert
|
|
505
|
+
getAlertEvent
|
|
506
|
+
getAlertGroup
|
|
507
|
+
getAlertRoutingRule
|
|
508
|
+
getAlertSource
|
|
509
|
+
getAlertUrgency
|
|
510
|
+
getCatalog
|
|
511
|
+
getCatalogEntity
|
|
512
|
+
getCause
|
|
465
513
|
getCurrentUser
|
|
514
|
+
getCustomForm
|
|
466
515
|
getEnvironment
|
|
467
516
|
getEscalationLevel
|
|
468
517
|
getEscalationPath
|
|
469
518
|
getEscalationPolicy
|
|
519
|
+
getFormField
|
|
520
|
+
getFormFieldOption
|
|
470
521
|
getFunctionality
|
|
522
|
+
getFunctionalityIncidentsChart
|
|
523
|
+
getFunctionalityUptimeChart
|
|
524
|
+
getIncidentActionItems
|
|
471
525
|
getIncidentFormFieldSelection
|
|
472
526
|
getIncidentType
|
|
473
527
|
getOnCallRole
|
|
@@ -477,22 +531,42 @@ getSchedule
|
|
|
477
531
|
getScheduleRotation
|
|
478
532
|
getScheduleShifts
|
|
479
533
|
getService
|
|
534
|
+
getServiceIncidentsChart
|
|
535
|
+
getServiceUptimeChart
|
|
480
536
|
getSeverity
|
|
537
|
+
getStatusPage
|
|
538
|
+
getStatusPageTemplate
|
|
481
539
|
getTeam
|
|
540
|
+
getTeamIncidentsChart
|
|
482
541
|
getUser
|
|
483
542
|
getWorkflow
|
|
543
|
+
getWorkflowFormFieldCondition
|
|
544
|
+
getWorkflowGroup
|
|
484
545
|
getWorkflowTask
|
|
546
|
+
listAlertEvents
|
|
547
|
+
listAlertGroups
|
|
548
|
+
listAlertRoutingRules
|
|
549
|
+
listAlertSources
|
|
550
|
+
listAlertUrgencies
|
|
485
551
|
listAlerts
|
|
552
|
+
listAllIncidentActionItems
|
|
553
|
+
listCatalogEntities
|
|
554
|
+
listCatalogs
|
|
555
|
+
listCauses
|
|
556
|
+
listCustomForms
|
|
486
557
|
listEnvironments
|
|
487
558
|
listEscalationLevels
|
|
488
559
|
listEscalationLevelsPaths
|
|
489
560
|
listEscalationPaths
|
|
490
561
|
listEscalationPolicies
|
|
562
|
+
listFormFieldOptions
|
|
563
|
+
listFormFields
|
|
491
564
|
listFunctionalities
|
|
492
565
|
listIncidentActionItems
|
|
493
566
|
listIncidentAlerts
|
|
494
567
|
listIncidentFormFieldSelections
|
|
495
568
|
listIncident_Types
|
|
569
|
+
listIncidents
|
|
496
570
|
listOnCallRoles
|
|
497
571
|
listOnCallShadows
|
|
498
572
|
listOverrideShifts
|
|
@@ -503,17 +577,19 @@ listSchedules
|
|
|
503
577
|
listServices
|
|
504
578
|
listSeverities
|
|
505
579
|
listShifts
|
|
580
|
+
listStatusPageTemplates
|
|
581
|
+
listStatusPages
|
|
506
582
|
listTeams
|
|
507
583
|
listUsers
|
|
584
|
+
listWorkflowFormFieldConditions
|
|
585
|
+
listWorkflowGroups
|
|
508
586
|
listWorkflows
|
|
509
587
|
listWorkflowTasks
|
|
510
|
-
updateAlert
|
|
511
588
|
updateEnvironment
|
|
512
589
|
updateEscalationLevel
|
|
513
590
|
updateEscalationPath
|
|
514
591
|
updateEscalationPolicy
|
|
515
592
|
updateFunctionality
|
|
516
|
-
updateIncidentFormFieldSelection
|
|
517
593
|
updateIncidentType
|
|
518
594
|
updateOnCallRole
|
|
519
595
|
updateOnCallShadow
|
|
@@ -523,13 +599,14 @@ updateScheduleRotation
|
|
|
523
599
|
updateService
|
|
524
600
|
updateSeverity
|
|
525
601
|
updateTeam
|
|
526
|
-
updateUser
|
|
527
602
|
updateWorkflow
|
|
603
|
+
updateIncidentFormFieldSelection
|
|
528
604
|
updateWorkflowTask
|
|
529
605
|
```
|
|
530
606
|
|
|
531
|
-
|
|
532
|
-
|
|
607
|
+
**Major Expansion**: This version includes 50+ new endpoints covering communications, dashboards, playbooks, post-incident reviews, monitoring, and advanced form management - while carefully excluding security-sensitive operations like API key management, user creation/deletion, role management, and webhook configuration.
|
|
608
|
+
|
|
609
|
+
Delete operations remain disabled in the default tool surface.
|
|
533
610
|
|
|
534
611
|
## On-Call Health Integration
|
|
535
612
|
|
|
@@ -626,6 +703,18 @@ Regional filtering shows only people on-call during business hours (9am-5pm) in
|
|
|
626
703
|
|
|
627
704
|
Returns: `schedules` with `current_oncall`, `next_oncall`, and `shift_incidents`
|
|
628
705
|
|
|
706
|
+
### MCP Resources for Context
|
|
707
|
+
|
|
708
|
+
AI agents can access these resources for situational awareness:
|
|
709
|
+
|
|
710
|
+
- **`incident://{incident_id}`** - Detailed incident information for specific incidents
|
|
711
|
+
- **`team://{team_id}`** - Team details including name, color, and metadata
|
|
712
|
+
- **`rootly://incidents`** - List of recent incidents for quick reference
|
|
713
|
+
- **`rootly://oncall-status`** - Current on-call status across all schedules (critical for incident response)
|
|
714
|
+
- **`rootly://workflow-guide`** - Step-by-step workflow guidance for common operations
|
|
715
|
+
|
|
716
|
+
Example usage: *"Check the current on-call status"* → AI reads `rootly://oncall-status` resource
|
|
717
|
+
|
|
629
718
|
### Shift Incidents
|
|
630
719
|
|
|
631
720
|
Incidents during a time period, with filtering by severity/status/tags.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "rootly-mcp-server"
|
|
3
|
-
version = "2.
|
|
3
|
+
version = "2.3.0"
|
|
4
4
|
description = "Secure Model Context Protocol server for Rootly APIs with AI SRE capabilities, comprehensive error handling, and input validation"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.12"
|