DevHelm MCP Server
Monitor uptime, manage incidents, configure alerting, and query dependency status via DevHelm
Connector by devhelmhq · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/devhelmhq-mcp-server
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 78 read · 54 write · 19 delete · 2 not yet classified
- Secrets
- 1 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Python package
Tools by what they do 153
Read from the source code; the running server may list different tools.
Read 78 · Look things up without changing anything.
dismiss_status_page_incidentdismiss_status_page_maintenanceget_alert_channelget_all_components_uptimeget_api_keyget_check_traceget_component_uptimeget_current_deploy_lockget_dependencyget_email_domainget_email_messageget_email_message_source
Show 66 more tools
get_environmentget_incidentget_incident_timelineget_latest_emailget_latest_webhook_eventget_maintenance_windowget_monitorget_notification_policyget_policy_snapshotget_resource_groupget_serviceget_service_day_rollupget_service_incidentget_service_live_statusget_service_uptimeget_services_summaryget_status_overviewget_status_pageget_status_page_incidentget_status_page_maintenanceget_tagget_webhookget_webhook_eventget_webhook_inboxlist_alert_channelslist_api_keyslist_dependencieslist_email_domain_activitylist_email_domainslist_email_linkslist_email_messageslist_email_otp_codeslist_environmentslist_incidentslist_maintenance_windowslist_monitor_resultslist_monitor_rule_evaluationslist_monitor_transitionslist_monitor_versionslist_monitorslist_notification_policieslist_resource_groupslist_secretslist_service_categorieslist_service_componentslist_service_incidentslist_service_maintenanceslist_status_page_componentslist_status_page_domainslist_status_page_groupslist_status_page_incidentslist_status_page_maintenancelist_status_page_subscriberslist_status_pageslist_tagslist_webhook_eventslist_webhook_inbox_activitylist_webhook_inboxeslist_webhookspause_monitorreorder_status_page_componentsreorder_status_page_layoutresume_monitorsearch_serviceswait_for_emailwait_for_webhook_event
Write 54 · Create, change, send or run things.
acquire_deploy_lockadd_resource_group_memberadd_status_page_domainadd_status_page_subscribercancel_maintenance_windowcreate_alert_channelcreate_api_keycreate_email_addresscreate_email_domaincreate_environmentcreate_incidentcreate_maintenance_window
Show 42 more tools
create_monitorcreate_notification_policycreate_resource_groupcreate_secretcreate_status_pagecreate_status_page_componentcreate_status_page_groupcreate_status_page_incidentcreate_status_page_maintenancecreate_tagcreate_webhookcreate_webhook_inboxforce_release_deploy_lockinject_email_messagepost_status_page_incident_updatepost_status_page_maintenance_updatepublish_status_page_incidentpublish_status_page_maintenancerelease_deploy_lockresolve_incidenttest_alert_channeltest_notification_policytest_webhooktrack_dependencyupdate_alert_channelupdate_dependency_alert_sensitivityupdate_email_domainupdate_environmentupdate_maintenance_windowupdate_monitorupdate_notification_policyupdate_resource_groupupdate_secretupdate_status_pageupdate_status_page_componentupdate_status_page_groupupdate_status_page_incidentupdate_status_page_maintenanceupdate_tagupdate_webhookupdate_webhook_inboxverify_email_domain
Delete 19 · Delete, drop, revoke or wipe things.
delete_alert_channeldelete_api_keydelete_dependencydelete_environmentdelete_monitordelete_notification_policydelete_resource_groupdelete_secretdelete_status_pagedelete_status_page_componentdelete_status_page_groupdelete_status_page_incident
Show 7 more tools
delete_status_page_maintenancedelete_tagdelete_webhookremove_resource_group_memberremove_status_page_domainremove_status_page_subscriberrevoke_api_key
Not yet classified 2 · We could not tell from the name and description.
test_monitorverify_status_page_domain
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
DEVHELM_API_TOKEN
Network hosts it talks to 4
api.devhelm.io· found in codedocs.devhelm.io· found in codegithub.com· found in codemcp.devhelm.io· found in code
Files it touches
- Any path the agent passes to its tools
Tools (153)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
acquire_deploy_lockAcquire a deploy lock to prevent concurrent deployments. Required: lockedBy (identity of requester, e.g. hostname or CI job ID). Optional: ttlMinutes (default 30, max 60).
add_resource_group_memberAdd a monitor to a resource group. Required fields: monitorId.
add_status_page_domainAdd a custom domain to a status page. Required fields: hostname (e.g. "status.example.com"). Returns verification records (CNAME target and TXT token) that must be configured in your DNS before calling verify.
add_status_page_subscriberAdd a subscriber to a status page (admin). Optional: email (legacy EMAIL), channel, destination, componentIds, requireConfirmation.
cancel_maintenance_windowCancel a maintenance window — alerts resume immediately. Call this AFTER a deploy or maintenance operation completes successfully so any new monitor failures surface as real incidents instead of being silently absorbed. If the window was scheduled but not yet started, this prevents it from ever opening. The window record is removed; the audit log preserves the historical fact that the window existed. There is no "uncancel" — schedule a new window if you need to restore suppression.
create_alert_channelCreate a new alert channel. Required: name, type, config (type-specific). Types: EMAIL, WEBHOOK, SLACK, PAGERDUTY, OPSGENIE, TEAMS, DISCORD, TELEGRAM, GOOGLE_CHAT, PUSHOVER, MATTERMOST, SPLUNK_ONCALL, PUSHBULLET, LINEAR, INCIDENT_IO, ROOTLY, ZAPIER, DATADOG, JIRA, GITLAB.
create_api_keyCreate a new API key. The key value is returned only once. Required fields: name. Optional: expiresAt.
create_email_addressCreate a fresh test email address to receive mail. Uses the workspace's DevHelm-assigned domain (allocated on first use) unless ``domain`` names a verified custom domain. ``label`` prefixes the random local part. Returns ``email``, ``domain`` and ``localPart``.
create_email_domainCreate an email testing domain. Omit ``name`` for the DevHelm-assigned domain; pass a hostname you control for a custom domain, then add the returned DNS records and call ``verify_email_domain``.
create_environmentCreate an environment. Required fields: name, slug, color.
create_incidentCreate a manual incident. Required fields: title, severity (DOWN/DEGRADED/MAINTENANCE). Optional: monitorId (UUID), body (detailed description).
create_maintenance_windowSchedule a maintenance window to suppress alerts during planned work. Call this BEFORE running an operation that may legitimately cause monitors to fail — a deploy, a database migration, a third-party service's announced downtime — so the on-call rotation isn't paged for known-expected failures. Always pair every successful create with a follow-up ``cancel_maintenance_window`` once the operation finishes; if the operation runs long, call ``update_maintenance_window`` to push the end time back rather than letting the window lapse early. Time fields use ISO 8601 / RFC 3339 timestamps with expl…
create_monitorCreate a new uptime monitor. Required: name and type (HTTP, DNS, TCP, ICMP, HEARTBEAT, MCP_SERVER, BROWSER, MULTI_STEP_API). ``config`` is required for probe types (HTTP, DNS, TCP, ICMP, HEARTBEAT, MCP_SERVER). Browser and multi-step monitors use a type default when ``config`` is omitted. ``frequencySeconds`` is optional (10–86400). Omit it to use the plan minimum. ``managedBy`` is set automatically to ``MCP`` server-side; callers cannot override it. Use the SDK or CLI directly if you need a different attribution.
create_notification_policyCreate a notification policy. Required: name, matchRules (list of {type, value?, monitorIds?, regions?}), escalation ({steps: [{delayMinutes, channelIds}], onResolve?, onReopen?}), enabled (bool), priority (int, higher = evaluated first).
create_resource_groupCreate a resource group. Required fields: name. Optional: description.
Show 138 more tools
create_secretCreate an encrypted secret. Required fields: key, value. The value is encrypted at rest and can be referenced in monitor auth configs as {{secrets.KEY}}.
create_status_pageCreate a new status page. Required fields: name, slug. Optional: description, branding (brandColor, theme, headerStyle, etc.), visibility (PUBLIC/PASSWORD), enabled, incidentMode (MANUAL/REVIEW/AUTOMATIC).
create_status_page_componentAdd a component to a status page. Required fields: name, type (STATIC or MONITOR). Optional: groupId (nest under a group), monitorId (for MONITOR type).
create_status_page_groupCreate a component group on a status page. Required fields: name.
create_status_page_incidentCreate an incident on a status page. Required fields: title, impact (NONE/MINOR/MAJOR/CRITICAL), body. Optional: status (INVESTIGATING/IDENTIFIED/MONITORING/RESOLVED), affectedComponents (list of {componentId, status}), notifySubscribers. To schedule a maintenance window, use create_status_page_maintenance.
create_status_page_maintenanceCreate a maintenance window on a status page. Required fields: title, impact (NONE/MINOR/MAJOR/CRITICAL), body, scheduledFor (ISO 8601). Optional: scheduledUntil, autoResolve, status, affectedComponents, notifySubscribers.
create_tagCreate a tag. Required fields: name. Optional: color.
create_webhookCreate a webhook endpoint. Required fields: url, events (list of event types to subscribe to).
create_webhook_inboxCreate a webhook testing inbox and return its capture ``httpUrl``. Required: name. Optional: status, httpResponse (mock reply), cors, retentionDays, maxEvents.
delete_alert_channelDelete an alert channel.
delete_api_keyDelete an API key permanently.
delete_dependencyStop tracking a service dependency.
delete_environmentDelete an environment by slug.
delete_monitorDelete a monitor permanently.
delete_notification_policyDelete a notification policy.
delete_resource_groupDelete a resource group.
delete_secretDelete a secret by key.
delete_status_pageDelete a status page permanently.
delete_status_page_componentRemove a component from a status page.
delete_status_page_groupDelete a component group from a status page.
delete_status_page_incidentDelete a status page incident permanently.
delete_status_page_maintenanceDelete a status page maintenance window permanently.
delete_tagDelete a tag.
delete_webhookDelete a webhook endpoint.
dismiss_status_page_incidentDismiss a draft incident (deletes it without publishing).
dismiss_status_page_maintenanceDismiss a draft maintenance window (deletes it without publishing).
force_release_deploy_lockForce-release any active deploy lock (admin action).
get_alert_channelGet an alert channel by ID.
get_all_components_uptimeGet daily uptime history for every leaf component of a catalog service in one call, keyed by component ID, over a period ('7d', '30d', '90d', '1y'; default '30d'). Prefer this over repeated get_component_uptime calls when comparing components.
get_api_keyGet a single API key's metadata by id. The secret value is never returned.
get_check_traceEverything the detection engine recorded for a single check. Includes the rule evaluations produced for this check_id, the state transitions that fired (if any), and the policy snapshot active at evaluation time. Use when a user references a specific check execution ID (e.g. from a support ticket or webhook).
get_component_uptimeGet daily uptime history for a single component of a catalog service (e.g. just the 'API' component of Stripe) over a period ('7d', '30d', '90d', '1y'; default '30d'). Get component IDs from list_service_components.
get_current_deploy_lockGet the currently active deploy lock, or null if unlocked.
get_dependencyGet a tracked dependency by ID.
get_email_domainread-onlyGet an email testing domain, including the DNS records to set.
get_email_messageread-onlyGet one captured message (headers, text, html, otp, links).
get_email_message_sourceread-onlyGet the stored message source as text (capped at 64 KB).
get_environmentGet an environment by slug (e.g. 'production', 'staging').
get_incidentGet a single incident by ID with full details.
get_incident_timelineFull forensic timeline for an incident. Returns every recorded state transition for the incident, the rule evaluations that caused each triggering transition, and the policy snapshot in effect at the time. Use this to explain why an incident was declared/confirmed/resolved, or to audit a past detection decision.
get_latest_emailread-onlyGet the newest message at a full address without waiting. Returns ``{"message": null}`` when nothing has arrived yet.
get_latest_webhook_eventread-onlyGet the newest request captured by an inbox without waiting. Returns ``{"event": null}`` when nothing has arrived yet.
get_maintenance_windowGet a single maintenance window by ID with full details.
get_monitorGet a single monitor by ID, including its full configuration.
get_notification_policyGet a notification policy by ID.
get_policy_snapshotFetch a policy snapshot by its content-addressed SHA-256 hash. Useful for inspecting the exact detection policy that was active when a specific evaluation or transition happened — the hash is stable, so historical data keeps pointing at the right policy even if the monitor has been edited since.
get_resource_groupGet a resource group by ID.
get_serviceGet a catalog service's summary by slug (e.g. 'github'), including its current status, categories, and component overview.
get_service_day_rollupGet a one-day rollup for a catalog service on a UTC calendar day (ISO YYYY-MM-DD): aggregated uptime, per-component impact windows, and the incidents that overlapped that day. Use this to answer 'what happened to Stripe on 2026-06-01?'.
get_service_incidentGet one vendor incident in full detail, including the vendor's timeline of status updates (investigating → identified → resolved). Get incident IDs from list_service_incidents.
get_service_live_statusGet the live (real-time) operational status of a catalog service, fetched from its upstream status page. Use this when freshness matters more than latency — e.g. 'is Stripe down right now?'.
get_service_uptimeGet historical uptime stats for a catalog service over a period (e.g. '7d', '30d', '90d'; default '30d').
get_services_summaryGet the global status summary across the entire service catalog — counts of operational / degraded / outage services. Use this for a quick 'is anything broken on the internet right now?' overview before drilling into a specific service.
get_status_overviewGet the dashboard overview with monitor counts, incident summary, and uptime stats.
get_status_pageGet a status page by ID, including branding and overall status.
get_status_page_incidentGet a status page incident with its full timeline of updates.
get_status_page_maintenanceGet a status page maintenance window with its full timeline of updates.
get_tagGet a tag by ID.
get_webhookGet a webhook endpoint by ID.
get_webhook_eventread-onlyGet one captured request with headers and body (capped at 64 KB).
get_webhook_inboxread-onlyGet a webhook testing inbox, including its capture ``httpUrl``.
inject_email_messageDeliver a test message to an address without SMTP. Uses the same capture path as real mail, so waits and extraction behave the same. Returns ``eventId``, ``receivedAt`` and ``inbox``.
list_alert_channelsList all alert channels configured in the workspace.
list_api_keysList all API keys in the workspace.
list_dependenciesList all tracked service dependencies.
list_email_domain_activityread-onlyHourly received-message counts for the last 24 h, per domain ID.
list_email_domainsread-onlyList email testing domains (assigned and custom) in the workspace.
list_email_linksread-onlyList links extracted from a message (verification, reset, ...).
list_email_messagesread-onlyList messages received at a full address, newest first. ``limit`` defaults to 20 (max 50); pass ``nextCursor`` back as ``cursor`` for the next page. ``q`` filters on subject and sender.
list_email_otp_codesread-onlyList one-time codes extracted from a message.
list_environmentsList all environments in the workspace.
list_incidentsList all incidents in the workspace.
list_maintenance_windowsList maintenance windows for the workspace. Use this BEFORE creating a new window to check whether someone else (or an earlier agent run) already scheduled overlap, or AFTER a deploy to confirm the window you opened is still active. Filters (all optional; combine freely): - ``monitor_id``: UUID of a monitor — only windows attached to that single monitor (org-wide windows are excluded). - ``status``: ``"active"`` for windows currently in progress, or ``"upcoming"`` for windows scheduled in the future. Past / cancelled windows are not returned by the API today; omit ``statu…
list_monitor_resultsList recent check results for a monitor (cursor-paginated).
list_monitor_rule_evaluationsList rule evaluations produced for a monitor (paginated). Filters: - rule_type: e.g. "consecutive_failures", "latency_threshold" - region: probe region, e.g. "us-east" - only_matched: if True, return only evaluations that fired - from_/to: ISO-8601 datetime bounds Use to answer "which rules fired on monitor X in the last hour?".
list_monitor_transitionsList state transitions recorded for a monitor (paginated). A transition captures every WATCHING→TRIGGERED→CONFIRMED→RESOLVED edge the detection engine walked. Includes transitions that occurred before an incident was declared (incident_id = null). Use to reconstruct the full reliability history of a monitor.
list_monitor_versionsList version history for a monitor.
list_monitorsList all uptime monitors in the workspace.
list_notification_policiesList all notification policies in the workspace.
list_resource_groupsList all resource groups in the workspace.
list_secretsList all secrets (metadata only, values are never returned).
list_service_categoriesList all service catalog categories (e.g. cloud, payments, devtools) usable as the `category` filter in search_services.
list_service_componentsList a catalog service's components (e.g. 'API', 'Dashboard', 'Webhooks') with their individual statuses. Component IDs can be used to track a single component via track_dependency.
list_service_incidentsList incidents for a catalog service, or across all services when `slug` is omitted. Filter by `status` (e.g. 'active', 'resolved') to answer questions like 'which of my dependencies have open incidents?'.
list_service_maintenancesList scheduled and past maintenance windows announced by a catalog service (e.g. upcoming AWS maintenance that could affect you).
list_status_page_componentsList all components on a status page.
list_status_page_domainsList custom domains on a status page.
list_status_page_groupsList component groups on a status page (with nested components).
list_status_page_incidentsList incidents on a status page (paginated).
list_status_page_maintenanceList maintenance windows on a status page (paginated).
list_status_page_subscribersList confirmed subscribers on a status page (paginated).
list_status_pagesList all status pages in the workspace.
list_tagsList all tags in the workspace.
list_webhook_eventsread-onlyList requests captured by an inbox, newest first. ``limit`` defaults to 20 (max 50); pass ``nextCursor`` back as ``cursor`` for the next page. Rows carry a body preview only.
list_webhook_inbox_activityread-onlyHourly received-request counts for the last 24 h, per inbox ID.
list_webhook_inboxesread-onlyList webhook testing inboxes in the workspace.
list_webhooksList all webhook endpoints in the workspace.
pause_monitorPause a monitor (stops checking until resumed).
post_status_page_incident_updatePost a timeline update on a status page incident. Required fields: body (message text), status. Optional: notifySubscribers (default true), affectedComponents (list of {componentId, status}).
post_status_page_maintenance_updatePost a timeline update on a status page maintenance window. Required fields: body (message text), status. Optional: notifySubscribers (default true), affectedComponents (list of {componentId, status}).
publish_status_page_incidentPublish a draft incident (sets it live, notifies subscribers). Use update_status_page_incident first if you need to change the draft's title, impact, status, body, or affected components before publishing.
publish_status_page_maintenancePublish a draft maintenance window (sets it live, notifies subscribers).
release_deploy_lockRelease a deploy lock by ID.
remove_resource_group_memberRemove a monitor from a resource group.
remove_status_page_domainRemove a custom domain from a status page.
remove_status_page_subscriberRemove a subscriber from a status page.
reorder_status_page_componentsReorder components on a status page. Required: positions — list of {componentId, position} entries giving every component its new zero-based ordinal. The full set must be provided; partial reorders are rejected by the API.
reorder_status_page_layoutBatch-reorder a status page's full layout. Required: sections — top-level layout in their new order, where each entry is either {kind:"component", componentId} or {kind:"group", groupId}. Use ``groupOrders`` (optional) to also reorder components within specific groups; only include groups whose internal order changed. The full top-level set must be provided — partial reorders are rejected by the API. Use this for "drag-and-drop" layout edits that touch both groups and ungrouped components. To reorder components within a single group only, prefer ``reorder_status_page_components``.
resolve_incidentResolve an active incident, optionally with a resolution message.
resume_monitorResume a paused monitor.
revoke_api_keyRevoke an API key (disables it without deleting).
search_servicesSearch the catalog of third-party services (Stripe, GitHub, AWS, ...) that can be tracked as dependencies. Use `query` for free-text search by name (e.g. 'stripe', 'cloudflare') and `category` to filter by catalog category (see list_service_categories). Results are paginated; raise `limit` (default 20) for broader sweeps.
test_alert_channelSend a test notification to an alert channel to verify it works.
test_monitorTrigger an ad-hoc test run for a monitor and return the result.
test_notification_policySend a test dispatch to verify a notification policy's routing.
test_webhookSend a test event to a webhook endpoint to verify it works.
track_dependencyStart tracking a service dependency by its slug (e.g. 'github', 'aws'). Optionally track a single component via `component_id` (see list_service_components) and set `alert_sensitivity`: AWARENESS (silent tracking, default), INCIDENTS_ONLY, MAJOR_ONLY, or ALL.
update_alert_channelUpdate an existing alert channel. Updatable fields: name, type, config (type-specific). See create_alert_channel for supported types.
update_dependency_alert_sensitivityChange how loudly a tracked dependency alerts you. Levels: AWARENESS (silent tracking, default — status visible on the dashboard but no notifications), INCIDENTS_ONLY (notify on any incident), MAJOR_ONLY (notify only on major/critical incidents), and ALL (every status change, including maintenance).
update_email_domainEnable (``active``) or disable (``disabled``) mail capture on a domain.
update_environmentUpdate an environment by slug.
update_maintenance_windowUpdate an in-flight or scheduled maintenance window. The most common use is **extending** an active window when a deploy runs longer than expected — call this with the new ``endsAt`` to keep alerts suppressed past the original deadline. The endpoint is a full replacement (PUT, not PATCH): pass the complete intended state, not a delta. Any field omitted falls back to the underlying model's default rather than preserving the existing value. Time fields use ISO 8601 / RFC 3339 timestamps with explicit timezone (UTC preferred), e.g. ``"2026-05-15T16:30:00Z"``. Body fields (same schema as create…
update_monitorUpdate an existing monitor's configuration.
update_notification_policyUpdate a notification policy.
update_resource_groupUpdate a resource group.
update_secretUpdate a secret's value by key.
update_status_pageUpdate a status page's name, slug, branding, visibility, or incident mode.
update_status_page_componentUpdate a status page component's name, group, or status.
update_status_page_groupUpdate a component group's name or display order.
update_status_page_incidentUpdate a status page incident's title, impact, status, or components. Schedule fields belong on update_status_page_maintenance.
update_status_page_maintenanceUpdate a maintenance window's title, impact, status, or schedule.
update_tagUpdate a tag.
update_webhookUpdate a webhook endpoint.
update_webhook_inboxUpdate a webhook testing inbox (name, status, mock reply, limits).
verify_email_domainRe-check the TXT and MX records of a custom email testing domain.
verify_status_page_domainTrigger DNS verification for a custom domain. Returns the updated domain with current verification status.
wait_for_emailread-onlyWait up to ``wait_s`` seconds (max 25) for mail to a full address. Returns the oldest matching message, with extracted ``otp`` and ``links``. On timeout the tool errors; call it again or poll ``get_latest_email``. ``received_after`` is an ISO 8601 timestamp.
wait_for_webhook_eventread-onlyWait up to ``wait_s`` seconds (max 25) for a request to an inbox. Returns the oldest matching event with headers and body (body capped at 64 KB). Filter with ``method`` and ``path_prefix``. On timeout the tool errors; call it again or poll ``get_latest_webhook_event``.
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 2
- Weekly downloads
- 103
- Last commit
- Oct 21, 2026 (7 days ago)
- Last release
- Oct 12, 2026 (16 days ago)
- Last package publish
- Oct 12, 2026 (16 days ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.devhelmhq/mcp-server- Version
- 1.0.2
- Auth
- API key
- Packages
- pypi devhelm-mcp-server
- License
- MIT
- Repository
- github.com/devhelmhq/mcp-server
- Website
- docs.devhelm.io/mcp-server
- First seen
- Oct 24, 2026
- Last checked
- Oct 25, 2026
Cite this page
DevHelm MCP Server. Agent Mart. https://agentmart.dev/connectors/devhelmhq-mcp-server (last updated 2026-10-25)