Skip to content

Connectors · Service desk & support

FireHydrant MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to FireHydrant and the rest of your systems. It gives your agent 477 FireHydrant actions (224 reads, 179 writes and 74 that wait for a confirmation) and holds the FireHydrant credential itself, so the agent never does. It paces FireHydrant's limits and records every call.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "firehydrant.alerts.list_alerts",  intent: "check which FireHydrant account is connected"}# List alerts · read · 1 upstream call
  • 477actionsin one signed file
  • 224readlook, never change
  • 179writecreate and update
  • 74wait for a yesdestructive, confirmed first

Set up

Connect FireHydrant in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect FireHydrant.

    Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.

    • access_tokenFireHydrant bot token (fhb-…)
    account { op: "connections.requirements", service: "firehydrant" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "firehydrant.alerts.list_alerts" }# list alerts · read · 1 upstream callcheck { action: "firehydrant.incidents.create_incident", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

FireHydrant at a glance

Sign-in
Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
You provide
access_token
Limits we pace to
50 calls per 10 seconds, per connection
API covered
FireHydrant REST API v1 (Swagger 2.0, 0.0.1)api.firehydrant.io
Built from
FireHydrant's documentation, read 23 October 2026api.firehydrant.iodocs.firehydrant.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
187 of 224 reads, for up to 5 minutes; a write clears what it affects
Shared entities
7, so ask can line FireHydrant up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in FireHydrant.

477 actions in 55 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 224readlook, never change
  • 179writecreate and update
  • 74destructivewait for a confirmation
  1. Incidents

    73

    25 read · 36 write · 12 destructive

    List incidents · Create an incident · Get an incident · Update an incident

  2. Signals

    46

    26 read · 13 write · 7 destructive

    Update a Signal alert · Create a notification policy · Create an alert grouping configuration. · Create an email target for signals

  3. Integrations

    37

    24 read · 11 write · 2 destructive

    Create a new integration connection · Create a new Slack emoji action · Lists the available and configured integrations · List events for an AWS CloudTrail batch

  4. Teams

    37

    14 read · 16 write · 7 destructive

    List teams · Create a team · Get a team · Update a team

  5. Ticketing

    35

    17 read · 12 write · 6 destructive

    List tickets · Create a ticket · Get a ticket · Update a ticket

  6. Nunc connections

    17

    3 read · 8 write · 6 destructive

    List status pages · Create a status page · Get a status page · Update a status page

  7. Post mortems

    14

    5 read · 8 write · 1 destructive

    List retrospective reports · Create a retrospective report · Get a retrospective report · Update a retrospective report

  8. Runbooks

    14

    7 read · 5 write · 2 destructive

    List runbooks · Create a runbook · Get a runbook · Update a runbook

47 more areas · 204 actions
  • Changes 13
  • Scim 12
  • Services 12
  • Audiences 11
  • Severity matrix 11
  • Lifecycles 9
  • Conversations 8
  • Metrics 8
  • Environments 7
  • Functionalities 7
  • Webhooks 6
  • Checklist templates 5
  • Custom fields 5
  • Incident roles 5
  • Incident types 5
  • Priorities 5
  • Retrospective templates 5
  • Roles 5
  • Saved searches 5
  • Scheduled maintenances 5
  • Severities 5
  • Status update templates 5
  • Task lists 5
  • AI 4
  • Service dependencies 4
  • Permissions 3
  • Users 3
  • Alerts 2
  • Audit events 2
  • Catalogs 2
  • Form configurations 2
  • Incident tags 2
  • Nunc 2
  • Bootstrap 1
  • Change types 1
  • Current user 1
  • Entitlements 1
  • Infrastructures 1
  • Noauth 1
  • Page 1
  • Ping 1
  • Processing log entries 1
  • Reports 1
  • Retrospectives 1
  • Runbook audits 1
  • Schedules 1
  • Signals on call 1

Top actions

The FireHydrant API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 71 of FireHydrant's 71 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
firehydrant.alerts.list_alertsList alertsList alerts.readmonitoring.alert.list51 connectors
firehydrant.users.list_usersList usersList users.readidentity.user.list474 connectors
firehydrant.incidents.list_incidentsList incidentsList incidents.readmonitoring.incident.list19 connectors
firehydrant.teams.list_teamsList teamsList teams.readidentity.group.list262 connectors
firehydrant.services.list_servicesList servicesList services.readmonitoring.service.list12 connectors
firehydrant.current_user.get_current_userGet the currently authenticated userGet the currently authenticated user.readidentity.current_user.get307 connectors
firehydrant.ticketing.list_ticketsList ticketsList tickets.readservice.ticket.list56 connectors
firehydrant.alerts.get_alertGet an alertGet an alert.readmonitoring.alert.get33 connectors
firehydrant.incidents.create_incidentCreate an incidentCreate an incident.writemonitoring.incident.create13 connectors
firehydrant.teams.create_teamCreate a teamCreate a team.writeidentity.group.create205 connectors
firehydrant.services.create_serviceCreate a serviceCreate a service.writemonitoring.service.create11 connectors
firehydrant.teams.delete_teamArchive a teamArchive a team.destructiveidentity.group.delete181 connectors

Try it

Prompts to paste into Claude.

Each one names the FireHydrant actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    Which FireHydrant tickets have been open the longest? Show me the ten oldest with their status.

    callsfirehydrant.ticketing.list_tickets

  2. Writewrite

    Create an incident in FireHydrant. Show me exactly what you will send before you save it.

    callsfirehydrant.incidents.create_incident

Governance for FireHydrant

Destructive actions wait for a yes.

74 FireHydrant actions are destructive. The first 10:

  • Archive a teamfirehydrant.teams.delete_team
  • Delete a servicefirehydrant.services.delete_service
  • Archive an incidentfirehydrant.incidents.delete_incident
  • Archive a ticketfirehydrant.ticketing.delete_ticket
  • Delete an on-call schedule for a teamfirehydrant.teams.delete_team_on_call_schedule
  • Delete an escalation policy for a teamfirehydrant.teams.delete_team_escalation_policy
  • Delete a runbookfirehydrant.runbooks.delete_runbook
  • Delete a webhookfirehydrant.webhooks.delete_webhook
  • [DEPRECATED] Delete an on-call shift from a team schedulefirehydrant.teams.delete_on_call_shift
  • Delete an on-call schedule's rotationfirehydrant.teams.delete_on_call_schedule_rotation

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

dofirehydrant.teams.delete_teamconfirm_policy: human

Archive a team?

intent: the user asked me to archive a team

run suspended · waiting for a named person · key firehydrant-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "firehydrant-agent",  allowed_actions: ["firehydrant.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "firehydrant.teams.delete_team", approver: "[email protected]" },    { match: "firehydrant.services.delete_service", approver: "[email protected]" },    { match: "firehydrant.incidents.delete_incident", approver: "[email protected]" }  ]}
Illustrative. Scoped to FireHydrant only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What FireHydrant costs on actionlake.

Every FireHydrant action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call FireHydrant refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 477 FireHydrant actions
  • 477actions pageeach page of a long list is one call
  • 187reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every FireHydrant action.

477 actions by area: the id your agent calls, what it does, and its effect.

Incidents73
  • firehydrant.incidents.create_incidentCreate an incidentwrite
  • firehydrant.incidents.get_incidentGet an incidentread
  • firehydrant.incidents.list_incidentsList incidentsread
  • firehydrant.incidents.update_incidentUpdate an incidentwrite
  • firehydrant.incidents.bulk_update_incident_milestonesUpdate milestone timeswrite
  • firehydrant.incidents.close_incidentClose an incidentwrite
  • and 67 more in this area
Signals46
  • firehydrant.signals.create_notification_policyCreate a notification policywrite
  • firehydrant.signals.create_signals_alert_grouping_configurationCreate an alert grouping configuration.write
  • firehydrant.signals.create_signals_email_targetCreate an email target for signalswrite
  • firehydrant.signals.update_signals_alertUpdate a Signal alertwrite
  • firehydrant.signals.create_signals_event_sourceCreate an event source for Signalswrite
  • firehydrant.signals.create_signals_heartbeat_endpoint_configurationCreate a heartbeat endpoint configurationwrite
  • and 40 more in this area
Integrations37
  • firehydrant.integrations.create_connectionCreate a new integration connectionwrite
  • firehydrant.integrations.create_slack_emoji_actionCreate a new Slack emoji actionwrite
  • firehydrant.integrations.list_authed_providersLists the available and configured integrationsread
  • firehydrant.integrations.list_aws_cloudtrail_batch_eventsList events for an AWS CloudTrail batchread
  • firehydrant.integrations.delete_slack_emoji_actionDelete a Slack emoji actiondestructive
  • firehydrant.integrations.delete_statuspage_connectionDelete a Statuspage connectiondestructive
  • and 31 more in this area
Teams37
  • firehydrant.teams.create_teamCreate a teamwrite
  • firehydrant.teams.get_teamGet a teamread
  • firehydrant.teams.list_teamsList teamsread
  • firehydrant.teams.update_teamUpdate a teamwrite
  • firehydrant.teams.copy_on_call_schedule_rotationCopy an on-call schedule's rotationwrite
  • firehydrant.teams.create_on_call_schedule_rotationCreate a new on-call rotationwrite
  • and 31 more in this area
Ticketing35
  • firehydrant.ticketing.create_ticketCreate a ticketwrite
  • firehydrant.ticketing.get_ticketGet a ticketread
  • firehydrant.ticketing.list_ticketsList ticketsread
  • firehydrant.ticketing.update_ticketUpdate a ticketwrite
  • firehydrant.ticketing.create_inbound_field_mapCreate inbound field map for a ticketing projectwrite
  • firehydrant.ticketing.create_ticketing_custom_definitionCreate a ticketing custom fieldwrite
  • and 29 more in this area
Nunc connections17
  • firehydrant.nunc_connections.create_nunc_connectionCreate a status pagewrite
  • firehydrant.nunc_connections.get_nunc_connectionGet a status pageread
  • firehydrant.nunc_connections.list_nunc_connectionsList status pagesread
  • firehydrant.nunc_connections.update_nunc_connectionUpdate a status pagewrite
  • firehydrant.nunc_connections.create_email_subscriberAdd subscribers to a status pagewrite
  • firehydrant.nunc_connections.create_nunc_component_groupCreate a component group for a status pagewrite
  • and 11 more in this area
Post mortems14
  • firehydrant.post_mortems.create_post_mortem_reportCreate a retrospective reportwrite
  • firehydrant.post_mortems.get_post_mortem_reportGet a retrospective reportread
  • firehydrant.post_mortems.list_post_mortem_reportsList retrospective reportsread
  • firehydrant.post_mortems.update_post_mortem_reportUpdate a retrospective reportwrite
  • firehydrant.post_mortems.create_post_mortem_reasonCreate a contributing factor for a retrospective reportwrite
  • firehydrant.post_mortems.delete_post_mortem_reasonDelete a contributing factor from a retrospective reportdestructive
  • and 8 more in this area
Runbooks14
  • firehydrant.runbooks.create_runbookCreate a runbookwrite
  • firehydrant.runbooks.get_runbookGet a runbookread
  • firehydrant.runbooks.list_runbooksList runbooksread
  • firehydrant.runbooks.update_runbookUpdate a runbookwrite
  • firehydrant.runbooks.create_runbook_executionCreate a runbook executionwrite
  • firehydrant.runbooks.delete_runbookDelete a runbookdestructive
  • and 8 more in this area
Changes13
  • firehydrant.changes.create_changeCreate a new change entrywrite
  • firehydrant.changes.create_change_eventCreate a change eventwrite
  • firehydrant.changes.list_changesList changesread
  • firehydrant.changes.update_changeUpdate a change entrywrite
  • firehydrant.changes.create_change_identityCreate an identity for a change entrywrite
  • firehydrant.changes.delete_changeArchive a change entrydestructive
  • and 7 more in this area
Scim12
  • firehydrant.scim.create_scim_groupCreate a SCIM group and assign memberswrite
  • firehydrant.scim.create_scim_userCreate a User from SCIM datawrite
  • firehydrant.scim.list_scim_groupsList SCIM groupsread
  • firehydrant.scim.list_scim_usersList SCIM usersread
  • firehydrant.scim.delete_scim_groupDelete a SCIM groupdestructive
  • firehydrant.scim.delete_scim_userDelete a User matching SCIM datadestructive
  • and 6 more in this area
Services12
  • firehydrant.services.create_serviceCreate a servicewrite
  • firehydrant.services.get_serviceGet a serviceread
  • firehydrant.services.list_servicesList servicesread
  • firehydrant.services.update_serviceUpdate a servicewrite
  • firehydrant.services.create_service_checklist_responseRecord a response for a checklist itemwrite
  • firehydrant.services.create_service_linksCreate multiple services linked to external serviceswrite
  • and 6 more in this area
Audiences11
  • firehydrant.audiences.create_audienceCreate audiencewrite
  • firehydrant.audiences.generate_audience_summaryGenerate summary (async)write
  • firehydrant.audiences.list_audience_summariesList audience summariesread
  • firehydrant.audiences.list_audiencesList audiencesread
  • firehydrant.audiences.archive_audienceArchive audiencedestructive
  • firehydrant.audiences.get_audienceGet audienceread
  • and 5 more in this area
Severity matrix11
  • firehydrant.severity_matrix.create_severity_matrix_conditionCreate a severity matrix conditionwrite
  • firehydrant.severity_matrix.create_severity_matrix_impactCreate a severity matrix impactwrite
  • firehydrant.severity_matrix.list_severity_matrix_conditionsList severity matrix conditionsread
  • firehydrant.severity_matrix.list_severity_matrix_impactsList severity matrix impactsread
  • firehydrant.severity_matrix.delete_severity_matrix_conditionDelete a severity matrix conditiondestructive
  • firehydrant.severity_matrix.delete_severity_matrix_impactDelete a severity matrix impactdestructive
  • and 5 more in this area
Lifecycles9
  • firehydrant.lifecycles.create_lifecycle_measurement_definitionCreate a measurement definitionwrite
  • firehydrant.lifecycles.create_lifecycle_milestoneCreate a milestonewrite
  • firehydrant.lifecycles.list_lifecycle_measurement_definitionsList measurement definitionsread
  • firehydrant.lifecycles.list_lifecycle_phasesList phases and milestonesread
  • firehydrant.lifecycles.delete_lifecycle_measurement_definitionArchive a measurement definitiondestructive
  • firehydrant.lifecycles.delete_lifecycle_milestoneDelete a milestonedestructive
  • and 3 more in this area
Conversations8
  • firehydrant.conversations.create_commentCreate a conversation commentwrite
  • firehydrant.conversations.create_comment_reactionCreate a reaction for a conversation commentwrite
  • firehydrant.conversations.list_comment_reactionsList reactions for a conversation commentread
  • firehydrant.conversations.list_commentsList comments for a conversationread
  • firehydrant.conversations.delete_commentArchive a conversation commentdestructive
  • firehydrant.conversations.delete_comment_reactionDelete a reaction from a conversation commentdestructive
  • and 2 more in this area
Metrics8
  • firehydrant.metrics.list_incident_metricsList incident metrics and analyticsread
  • firehydrant.metrics.list_infrastructure_metricsGet metrics for a componentread
  • firehydrant.metrics.list_infrastructure_type_metricsList metrics for a component typeread
  • firehydrant.metrics.list_milestone_funnel_metricsList milestone funnel metricsread
  • firehydrant.metrics.list_mttx_metricsGet infrastructure metricsread
  • firehydrant.metrics.list_retrospective_metricsList retrospective metricsread
  • and 2 more in this area
Environments7
  • firehydrant.environments.create_environmentCreate an environmentwrite
  • firehydrant.environments.list_environment_functionalitiesList functionalities for an environmentread
  • firehydrant.environments.list_environment_servicesList services for an environmentread
  • firehydrant.environments.list_environmentsList environmentsread
  • firehydrant.environments.delete_environmentArchive an environmentdestructive
  • firehydrant.environments.get_environmentGet an environmentread
  • and 1 more in this area
Functionalities7
  • firehydrant.functionalities.create_functionalityCreate a functionalitywrite
  • firehydrant.functionalities.list_functionalitiesList functionalitiesread
  • firehydrant.functionalities.list_functionality_environmentsList environments for a functionalityread
  • firehydrant.functionalities.list_functionality_servicesList services for a functionalityread
  • firehydrant.functionalities.delete_functionalityArchive a functionalitydestructive
  • firehydrant.functionalities.get_functionalityGet a functionalityread
  • and 1 more in this area
Webhooks6
  • firehydrant.webhooks.create_webhookCreate a webhookwrite
  • firehydrant.webhooks.get_webhookGet a webhookread
  • firehydrant.webhooks.list_webhooksList webhooksread
  • firehydrant.webhooks.update_webhookUpdate a webhookwrite
  • firehydrant.webhooks.delete_webhookDelete a webhookdestructive
  • firehydrant.webhooks.list_webhook_deliveriesList webhook deliveriesread
Checklist templates5
  • firehydrant.checklist_templates.create_checklist_templateCreate a checklist templatewrite
  • firehydrant.checklist_templates.get_checklist_templateGet a checklist templateread
  • firehydrant.checklist_templates.list_checklist_templatesList checklist templatesread
  • firehydrant.checklist_templates.update_checklist_templateUpdate a checklist templatewrite
  • firehydrant.checklist_templates.delete_checklist_templateArchive a checklist templatedestructive
Custom fields5
  • firehydrant.custom_fields.create_custom_field_definitionCreate a custom field definitionwrite
  • firehydrant.custom_fields.list_custom_field_definitionsList custom field definitionsread
  • firehydrant.custom_fields.list_custom_field_select_optionsGet available values for a custom fieldread
  • firehydrant.custom_fields.update_custom_field_definitionUpdate a custom field definitionwrite
  • firehydrant.custom_fields.delete_custom_field_definitionDelete a custom field definitiondestructive
Incident roles5
  • firehydrant.incident_roles.create_incident_roleCreate an incident rolewrite
  • firehydrant.incident_roles.get_incident_roleGet an incident roleread
  • firehydrant.incident_roles.list_incident_rolesList incident rolesread
  • firehydrant.incident_roles.update_incident_roleUpdate an incident rolewrite
  • firehydrant.incident_roles.delete_incident_roleArchive an incident roledestructive
Incident types5
  • firehydrant.incident_types.create_incident_typeCreate an incident typewrite
  • firehydrant.incident_types.get_incident_typeGet an incident typeread
  • firehydrant.incident_types.list_incident_typesList incident typesread
  • firehydrant.incident_types.update_incident_typeUpdate an incident typewrite
  • firehydrant.incident_types.delete_incident_typeArchive an incident typedestructive
Priorities5
  • firehydrant.priorities.create_priorityCreate a prioritywrite
  • firehydrant.priorities.get_priorityGet a priorityread
  • firehydrant.priorities.list_prioritiesList prioritiesread
  • firehydrant.priorities.update_priorityUpdate a prioritywrite
  • firehydrant.priorities.delete_priorityDelete a prioritydestructive
Retrospective templates5
  • firehydrant.retrospective_templates.create_retrospective_templateCreate a retrospective templatewrite
  • firehydrant.retrospective_templates.get_retrospective_templateGet a retrospective templateread
  • firehydrant.retrospective_templates.list_retrospective_templatesList retrospective templatesread
  • firehydrant.retrospective_templates.update_retrospective_templateUpdate a retrospective templatewrite
  • firehydrant.retrospective_templates.delete_retrospective_templateDelete a retrospective templatedestructive
Roles5
  • firehydrant.roles.create_roleCreate a rolewrite
  • firehydrant.roles.get_roleGet a roleread
  • firehydrant.roles.list_rolesGet all rolesread
  • firehydrant.roles.update_roleUpdate a rolewrite
  • firehydrant.roles.delete_roleDelete a roledestructive
Saved searches5
  • firehydrant.saved_searches.create_saved_searchCreate a saved searchwrite
  • firehydrant.saved_searches.get_saved_searchGet a saved searchread
  • firehydrant.saved_searches.list_saved_searchesList saved searchesread
  • firehydrant.saved_searches.update_saved_searchUpdate a saved searchwrite
  • firehydrant.saved_searches.delete_saved_searchDelete a saved searchdestructive
Scheduled maintenances5
  • firehydrant.scheduled_maintenances.create_scheduled_maintenanceCreate a scheduled maintenance eventwrite
  • firehydrant.scheduled_maintenances.get_scheduled_maintenanceGet a scheduled maintenance eventread
  • firehydrant.scheduled_maintenances.list_scheduled_maintenancesList scheduled maintenance eventsread
  • firehydrant.scheduled_maintenances.update_scheduled_maintenanceUpdate a scheduled maintenance eventwrite
  • firehydrant.scheduled_maintenances.delete_scheduled_maintenanceDelete a scheduled maintenance eventdestructive
Severities5
  • firehydrant.severities.create_severityCreate a severitywrite
  • firehydrant.severities.get_severityGet a severityread
  • firehydrant.severities.list_severitiesList severitiesread
  • firehydrant.severities.update_severityUpdate a severitywrite
  • firehydrant.severities.delete_severityDelete a severitydestructive
Status update templates5
  • firehydrant.status_update_templates.create_status_update_templateCreate a status update templatewrite
  • firehydrant.status_update_templates.get_status_update_templateGet a status update templateread
  • firehydrant.status_update_templates.list_status_update_templatesList status update templatesread
  • firehydrant.status_update_templates.update_status_update_templateUpdate a status update templatewrite
  • firehydrant.status_update_templates.delete_status_update_templateDelete a status update templatedestructive
Task lists5
  • firehydrant.task_lists.create_task_listCreate a task listwrite
  • firehydrant.task_lists.get_task_listGet a task listread
  • firehydrant.task_lists.list_task_listsList task listsread
  • firehydrant.task_lists.update_task_listUpdate a task listwrite
  • firehydrant.task_lists.delete_task_listDelete a task listdestructive
AI4
  • firehydrant.ai.get_ai_incident_summary_vote_statusGet the current user's vote status for an AI-generated incident summaryread
  • firehydrant.ai.get_ai_preferencesGet AI preferencesread
  • firehydrant.ai.update_ai_preferencesUpdate AI preferenceswrite
  • firehydrant.ai.vote_ai_incident_summaryVote on an AI-generated incident summarywrite
Service dependencies4
  • firehydrant.service_dependencies.create_service_dependencyCreate a service dependencywrite
  • firehydrant.service_dependencies.delete_service_dependencyDelete a service dependencydestructive
  • firehydrant.service_dependencies.get_service_dependencyGet a service dependencyread
  • firehydrant.service_dependencies.update_service_dependencyUpdate a service dependencywrite
Permissions3
  • firehydrant.permissions.list_current_user_permissionsGet all permissions for the current userread
  • firehydrant.permissions.list_permissionsList permissionsread
  • firehydrant.permissions.list_team_permissionsGet all permissions for a teamread
Users3
  • firehydrant.users.get_userGet a userread
  • firehydrant.users.list_user_owned_servicesList services owned by a user's teamsread
  • firehydrant.users.list_usersList usersread
Alerts2
  • firehydrant.alerts.get_alertGet an alertread
  • firehydrant.alerts.list_alertsList alertsread
Audit events2
  • firehydrant.audit_events.get_audit_eventGet a single audit eventread
  • firehydrant.audit_events.list_audit_eventsList audit eventsread
Catalogs2
  • firehydrant.catalogs.ingest_catalog_dataIngest service catalog datawrite
  • firehydrant.catalogs.refresh_catalogRefresh a service catalogread
Form configurations2
  • firehydrant.form_configurations.append_form_data_on_selected_value_getGet data for a form field on selectread
  • firehydrant.form_configurations.get_form_configurationGet a form configurationread
Incident tags2
  • firehydrant.incident_tags.list_incident_tagsList incident tagsread
  • firehydrant.incident_tags.validate_incident_tagsValidate incident tagsread
Nunc2
  • firehydrant.nunc.create_nunc_subscriptionCreate a status page subscriptionwrite
  • firehydrant.nunc.delete_nunc_subscriptionUnsubscribe from status page notificationsdestructive
Bootstrap1
  • firehydrant.bootstrap.get_bootstrapGet initial application configurationread
Change types1
  • firehydrant.change_types.list_change_typesList change typesread
Current user1
  • firehydrant.current_user.get_current_userGet the currently authenticated userread
Entitlements1
  • firehydrant.entitlements.list_entitlementsList entitlementsread
Infrastructures1
  • firehydrant.infrastructures.list_infrastructuresLists functionality, service and environment objectsread
Noauth1
  • firehydrant.noauth.ping_noauthCheck API connectivityread
Page1
  • firehydrant.page.create_signals_pagePage a user, team, on-call schedule, or escalation policywrite
Ping1
  • firehydrant.ping.pingCheck API connectivityread
Processing log entries1
  • firehydrant.processing_log_entries.list_processing_log_entriesList alert processing log entriesread
Reports1
  • firehydrant.reports.get_mean_time_reportGet mean time metrics for incidentsread
Retrospectives1
  • firehydrant.retrospectives.list_retrospectivesList retrospective reportsread
Runbook audits1
  • firehydrant.runbook_audits.list_runbook_auditsList runbook auditsread
Schedules1
  • firehydrant.schedules.list_schedulesList schedulesread
Signals on call1
  • firehydrant.signals_on_call.list_organization_on_call_schedulesList who's on call for the organizationread

This index shows a sample of each area. All 477 actions, with their inputs and prices, are in the catalogue, which a free sandbox key can search.

Questions

The FireHydrant MCP server, answered.

Is there a FireHydrant MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 477 FireHydrant actions across incidents, signals, integrations and teams, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by FireHydrant.

What do I need to connect FireHydrant?

FireHydrant bot token (fhb-…). The free call account { op: "connections.requirements", service: "firehydrant" } lists exactly what to paste.

Can an AI agent delete or change things in FireHydrant?

Only if its key allows it, and only with an explicit confirmation. 74 FireHydrant actions are destructive, including archive a team, delete a service and archive an incident. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my FireHydrant API limit?

actionlake paces every call to the limits in the FireHydrant service file: 50 calls per 10 seconds per connection. Repeated reads are answered from cache (187 FireHydrant actions can be), which never reaches FireHydrant.

What does a FireHydrant action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (477 FireHydrant actions page). Cache hits, searches, dry runs and calls FireHydrant refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which FireHydrant API does it cover?

The FireHydrant REST API v1 (Swagger 2.0, 0.0.1) at api.firehydrant.io. It is built from FireHydrant's documentation as read on 23 October 2026. 477 actions in 55 areas, each one in the signed service file (version 1.0.0).

Does actionlake keep my FireHydrant data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your FireHydrant credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent FireHydrant today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.