> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devhelm.io/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Tools Reference

> Complete catalog of DevHelm MCP server tools for AI agent integration

The DevHelm MCP server exposes **128 tools across 17 categories**. Authentication is handled at the transport layer (Bearer header or env var) — `api_token` is accepted as a back-compat parameter on every tool but is hidden from LLM-facing schemas to prevent token leakage.

## Monitors (10 tools)

| Tool | Parameters | Description |
| - | - | - |
| `list_monitors` | — | List all monitors |
| `get_monitor` | `monitor_id` | Get a monitor by ID |
| `create_monitor` | `body` | Create a monitor. Required: `name`, `type`, `config`, `frequencySeconds` |
| `update_monitor` | `monitor_id`, `body` | Update a monitor's configuration |
| `delete_monitor` | `monitor_id` | Delete a monitor |
| `pause_monitor` | `monitor_id` | Pause a monitor |
| `resume_monitor` | `monitor_id` | Resume a paused monitor |
| `test_monitor` | `monitor_id` | Run an ad-hoc check |
| `list_monitor_results` | `monitor_id`, `cursor?`, `limit?` | List recent check results (cursor-paginated) |
| `list_monitor_versions` | `monitor_id`, `page?`, `size?` | List version history |

## Incidents (4 tools)

| Tool | Parameters | Description |
| - | - | - |
| `list_incidents` | — | List all incidents |
| `get_incident` | `incident_id` | Get an incident with full details |
| `create_incident` | `body` | Create a manual incident. Required: `title`, `severity` (DOWN/DEGRADED/MAINTENANCE). Optional: `monitorId`, `body` |
| `resolve_incident` | `incident_id`, `message?` | Resolve an active incident |

<Note>
  Incidents cannot be deleted — only resolved. Once resolved, they remain in history for audit and reporting.
</Note>

## Alert channels (6 tools)

| Tool | Parameters | Description |
| - | - | - |
| `list_alert_channels` | — | List all alert channels |
| `get_alert_channel` | `channel_id` | Get a channel by ID |
| `create_alert_channel` | `body` | Create a channel. Required: `name`, `type`, `config` |
| `update_alert_channel` | `channel_id`, `body` | Update a channel |
| `delete_alert_channel` | `channel_id` | Delete a channel |
| `test_alert_channel` | `channel_id` | Send a test notification |

## Notification policies (6 tools)

| Tool | Parameters | Description |
| - | - | - |
| `list_notification_policies` | — | List all policies |
| `get_notification_policy` | `policy_id` | Get a policy by ID |
| `create_notification_policy` | `body` | Create a policy. Required: `name`, `matchRules`, `escalation`, `enabled`, `priority` |
| `update_notification_policy` | `policy_id`, `body` | Update a policy |
| `delete_notification_policy` | `policy_id` | Delete a policy |
| `test_notification_policy` | `policy_id` | Send a test dispatch |

## Environments (5 tools)

| Tool | Parameters | Description |
| - | - | - |
| `list_environments` | — | List all environments |
| `get_environment` | `slug` | Get an environment by slug |
| `create_environment` | `body` | Create an environment. Required: `name`, `slug` |
| `update_environment` | `slug`, `body` | Update an environment |
| `delete_environment` | `slug` | Delete an environment |

## Secrets (4 tools)

| Tool | Parameters | Description |
| - | - | - |
| `list_secrets` | — | List all secrets (metadata only, values are never returned) |
| `create_secret` | `body` | Create an encrypted secret. Required: `key`, `value` |
| `update_secret` | `key`, `body` | Update a secret's value |
| `delete_secret` | `key` | Delete a secret |

## Tags (5 tools)

| Tool | Parameters | Description |
| - | - | - |
| `list_tags` | — | List all tags |
| `get_tag` | `tag_id` | Get a tag by ID |
| `create_tag` | `body` | Create a tag. Required: `name` |
| `update_tag` | `tag_id`, `body` | Update a tag |
| `delete_tag` | `tag_id` | Delete a tag |

## Resource groups (7 tools)

| Tool | Parameters | Description |
| - | - | - |
| `list_resource_groups` | — | List all resource groups |
| `get_resource_group` | `group_id` | Get a group by ID |
| `create_resource_group` | `body` | Create a group. Required: `name` |
| `update_resource_group` | `group_id`, `body` | Update a group |
| `delete_resource_group` | `group_id` | Delete a group |
| `add_resource_group_member` | `group_id`, `body` | Add a monitor to a group |
| `remove_resource_group_member` | `group_id`, `member_id` | Remove a member from a group |

## Webhooks (6 tools)

| Tool | Parameters | Description |
| - | - | - |
| `list_webhooks` | — | List all webhook endpoints |
| `get_webhook` | `webhook_id` | Get a webhook by ID |
| `create_webhook` | `body` | Create a webhook. Required: `url`, `subscribedEvents` |
| `update_webhook` | `webhook_id`, `body` | Update a webhook |
| `delete_webhook` | `webhook_id` | Delete a webhook |
| `test_webhook` | `webhook_id` | Send a test event |

## API keys (4 tools)

| Tool | Parameters | Description |
| - | - | - |
| `list_api_keys` | — | List all API keys |
| `create_api_key` | `body` | Create a key. Required: `name`. Optional: `expiresAt`. Key value returned only once |
| `revoke_api_key` | `key_id` | Revoke a key (disables without deleting) |
| `delete_api_key` | `key_id` | Delete a key permanently |

## Dependencies (5 tools)

| Tool | Parameters | Description |
| - | - | - |
| `list_dependencies` | — | List tracked service dependencies |
| `get_dependency` | `dependency_id` | Get a dependency by ID |
| `track_dependency` | `slug`, `component_id?`, `alert_sensitivity?` | Start tracking a service (e.g., `github`, `aws`). Optionally track a single component and set alert sensitivity |
| `update_dependency_alert_sensitivity` | `subscription_id`, `alert_sensitivity` | Change alert sensitivity: AWARENESS, INCIDENTS\_ONLY, MAJOR\_ONLY, or ALL |
| `delete_dependency` | `dependency_id` | Stop tracking a service |

## Deploy lock (4 tools)

| Tool | Parameters | Description |
| - | - | - |
| `acquire_deploy_lock` | `body` | Acquire a lock. Required: `lockedBy`. Optional: `ttlMinutes` (default 30, max 60) |
| `get_current_deploy_lock` | — | Get current lock status (null if unlocked) |
| `release_deploy_lock` | `lock_id` | Release a lock |
| `force_release_deploy_lock` | — | Force-release any active lock |

## Status (1 tool)

| Tool | Parameters | Description |
| - | - | - |
| `get_status_overview` | — | Dashboard overview with monitor counts and uptime stats |

## Forensics (5 tools)

Read-only audit trail for the detection engine — incident timelines, check traces, policy snapshots, rule evaluations, and state transitions. See [Incident Forensics](/incidents/forensics) for the conceptual overview.

| Tool | Parameters | Description |
| - | - | - |
| `get_incident_timeline` | `incident_id` | Full timeline: state transitions, triggering rule evaluations, and active policy snapshot |
| `get_check_trace` | `check_id` | Everything recorded for a single check execution |
| `get_policy_snapshot` | `hash_hex` | Fetch a policy snapshot by its SHA-256 hash |
| `list_monitor_rule_evaluations` | `monitor_id`, `rule_type?`, `region?`, `only_matched?`, `from_?`, `to?`, `page?`, `size?` | Paginated rule evaluations for a monitor |
| `list_monitor_transitions` | `monitor_id`, `from_?`, `to?`, `page?`, `size?` | Paginated state transitions for a monitor |

## Status pages (38 tools)

The largest category — covers the full status page surface: pages, components, groups, incidents, maintenance, subscribers, and custom domains.

### Pages

| Tool | Parameters | Description |
| - | - | - |
| `list_status_pages` | — | List all status pages |
| `get_status_page` | `page_id` | Get a status page |
| `create_status_page` | `body` | Create a page. Required: `name`, `slug` |
| `update_status_page` | `page_id`, `body` | Update a page |
| `delete_status_page` | `page_id` | Delete a page (cascades to components, groups, incidents) |
| `reorder_status_page_layout` | `page_id`, `body` | Reorder top-level groups and components |

### Components

| Tool | Parameters | Description |
| - | - | - |
| `list_status_page_components` | `page_id` | List components on a page |
| `create_status_page_component` | `page_id`, `body` | Add a component |
| `update_status_page_component` | `page_id`, `component_id`, `body` | Update a component |
| `delete_status_page_component` | `page_id`, `component_id` | Remove a component |
| `reorder_status_page_components` | `page_id`, `body` | Reorder components within a group |

### Groups

| Tool | Parameters | Description |
| - | - | - |
| `list_status_page_groups` | `page_id` | List component groups |
| `create_status_page_group` | `page_id`, `body` | Create a group |
| `update_status_page_group` | `page_id`, `group_id`, `body` | Update a group |
| `delete_status_page_group` | `page_id`, `group_id` | Delete a group |

### Incidents

| Tool | Parameters | Description |
| - | - | - |
| `list_status_page_incidents` | `page_id`, `page?`, `size?` | List published / draft incidents (paginated) |
| `get_status_page_incident` | `page_id`, `incident_id` | Get incident details |
| `create_status_page_incident` | `page_id`, `body` | Draft a new incident |
| `update_status_page_incident` | `page_id`, `incident_id`, `body` | Update title / impact / status |
| `post_status_page_incident_update` | `page_id`, `incident_id`, `body` | Append a status update entry |
| `publish_status_page_incident` | `page_id`, `incident_id` | Promote a draft to public |
| `dismiss_status_page_incident` | `page_id`, `incident_id` | Discard a draft incident |
| `delete_status_page_incident` | `page_id`, `incident_id` | Delete a published incident |

### Maintenance

Customer-facing scheduled notices on the public status page: title, impact, and window. Mute alerts with `create_maintenance_window`. Vendor catalog windows are `list_service_maintenances`.

| Tool | Parameters | Description |
| - | - | - |
| `list_status_page_maintenance` | `page_id` | List maintenance windows |
| `get_status_page_maintenance` | `page_id`, `window_id` | Get a window |
| `create_status_page_maintenance` | `page_id`, `body` | Draft a window. Required: `title`, `impact`, `body`, `scheduledFor` |
| `update_status_page_maintenance` | `page_id`, `window_id`, `body` | Update title / impact / schedule |
| `post_status_page_maintenance_update` | `page_id`, `window_id`, `body` | Append a timeline update |
| `publish_status_page_maintenance` | `page_id`, `window_id` | Promote a draft to public |
| `dismiss_status_page_maintenance` | `page_id`, `window_id` | Discard a draft window |
| `delete_status_page_maintenance` | `page_id`, `window_id` | Delete a published window |

### Subscribers

| Tool | Parameters | Description |
| - | - | - |
| `list_status_page_subscribers` | `page_id`, `page?`, `size?` | List confirmed subscribers (paginated) |
| `add_status_page_subscriber` | `page_id`, `body` | Add a subscriber |
| `remove_status_page_subscriber` | `page_id`, `subscriber_id` | Remove a subscriber |

### Custom domains

| Tool | Parameters | Description |
| - | - | - |
| `list_status_page_domains` | `page_id` | List custom domains |
| `add_status_page_domain` | `page_id`, `body` | Register a new domain |
| `verify_status_page_domain` | `page_id`, `domain_id` | Trigger DNS verification |
| `remove_status_page_domain` | `page_id`, `domain_id` | Detach a domain |

## Services (13 tools)

Browse the third-party service catalog — search services, check live status, pull uptime history, list vendor incidents and maintenance windows.

| Tool | Parameters | Description |
| - | - | - |
| `search_services` | `query?`, `category?`, `limit?` | Search the catalog by name or category |
| `get_service` | `slug` | Get a service summary by slug (e.g. `github`) |
| `get_service_live_status` | `slug` | Get real-time operational status from the upstream status page |
| `get_services_summary` | — | Global status summary across the entire catalog |
| `list_service_categories` | — | List catalog categories (cloud, payments, devtools, ...) |
| `list_service_components` | `slug` | List a service's components with individual statuses |
| `get_service_uptime` | `slug`, `period?` | Historical uptime stats (default 30d) |
| `list_service_incidents` | `slug?`, `status?` | List vendor incidents for a service or across all services |
| `get_service_incident` | `slug`, `incident_id` | Get one vendor incident in full detail |
| `get_service_day_rollup` | `slug`, `date` | One-day rollup: uptime, impact windows, incidents (ISO date) |
| `get_component_uptime` | `slug`, `component_id`, `period?` | Daily uptime history for a single component |
| `get_all_components_uptime` | `slug`, `period?` | Daily uptime history for every leaf component in one call |
| `list_service_maintenances` | `slug` | Scheduled and past maintenance windows from a vendor |

## Maintenance windows (5 tools)

Schedule downtime to suppress alerts during planned work (deploys, migrations, vendor maintenance).

| Tool | Parameters | Description |
| - | - | - |
| `list_maintenance_windows` | `monitor_id?`, `status?` | List maintenance windows. Filter by monitor or status (active/upcoming) |
| `get_maintenance_window` | `window_id` | Get a single maintenance window by ID |
| `create_maintenance_window` | `body` | Schedule a window. Required: `startsAt`, `endsAt`. Optional: `monitorId`, `reason`, `repeatRule`, `suppressAlerts` |
| `update_maintenance_window` | `window_id`, `body` | Update a window (full replacement). Required: `startsAt`, `endsAt` |
| `cancel_maintenance_window` | `window_id` | Cancel a window — alerts resume immediately |

## Body parameter format

Tools that accept a `body` parameter expect a JSON object matching the corresponding REST API request schema. Refer to the [API Reference](/api-reference) for field-level details.

## Next steps

<CardGroup cols={2}>
  <Card title="MCP configuration" icon="gear" href="/sdk/mcp/configuration">
    Transport modes and client setup.
  </Card>

  <Card title="API Reference" icon="book" href="/api-reference">
    REST API schemas for body parameters.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.