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/mcpdo { 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.
- 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 - 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 - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates 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
Incidents
7325 read · 36 write · 12 destructive
List incidents · Create an incident · Get an incident · Update an incident
Signals
4626 read · 13 write · 7 destructive
Update a Signal alert · Create a notification policy · Create an alert grouping configuration. · Create an email target for signals
Integrations
3724 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
Teams
3714 read · 16 write · 7 destructive
List teams · Create a team · Get a team · Update a team
Ticketing
3517 read · 12 write · 6 destructive
List tickets · Create a ticket · Get a ticket · Update a ticket
Nunc connections
173 read · 8 write · 6 destructive
List status pages · Create a status page · Get a status page · Update a status page
Post mortems
145 read · 8 write · 1 destructive
List retrospective reports · Create a retrospective report · Get a retrospective report · Update a retrospective report
Runbooks
147 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.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
firehydrant.alerts.list_alertsList alerts | List alerts. | read | monitoring.alert.list51 connectors |
firehydrant.users.list_usersList users | List users. | read | identity.user.list474 connectors |
firehydrant.incidents.list_incidentsList incidents | List incidents. | read | monitoring.incident.list19 connectors |
firehydrant.teams.list_teamsList teams | List teams. | read | identity.group.list262 connectors |
firehydrant.services.list_servicesList services | List services. | read | monitoring.service.list12 connectors |
firehydrant.current_user.get_current_userGet the currently authenticated user | Get the currently authenticated user. | read | identity.current_user.get307 connectors |
firehydrant.ticketing.list_ticketsList tickets | List tickets. | read | service.ticket.list56 connectors |
firehydrant.alerts.get_alertGet an alert | Get an alert. | read | monitoring.alert.get33 connectors |
firehydrant.incidents.create_incidentCreate an incident | Create an incident. | write | monitoring.incident.create13 connectors |
firehydrant.teams.create_teamCreate a team | Create a team. | write | identity.group.create205 connectors |
firehydrant.services.create_serviceCreate a service | Create a service. | write | monitoring.service.create11 connectors |
firehydrant.teams.delete_teamArchive a team | Archive a team. | destructive | identity.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.
- Readread
Which FireHydrant tickets have been open the longest? Show me the ten oldest with their status.
calls
firehydrant.ticketing.list_tickets - Writewrite
Create an incident in FireHydrant. Show me exactly what you will send before you save it.
calls
firehydrant.incidents.create_incident
Governance for FireHydrant
Destructive actions wait for a yes.
74 FireHydrant actions are destructive. The first 10:
- Archive a team
firehydrant.teams.delete_team - Delete a service
firehydrant.services.delete_service - Archive an incident
firehydrant.incidents.delete_incident - Archive a ticket
firehydrant.ticketing.delete_ticket - Delete an on-call schedule for a team
firehydrant.teams.delete_team_on_call_schedule - Delete an escalation policy for a team
firehydrant.teams.delete_team_escalation_policy - Delete a runbook
firehydrant.runbooks.delete_runbook - Delete a webhook
firehydrant.webhooks.delete_webhook - [DEPRECATED] Delete an on-call shift from a team schedule
firehydrant.teams.delete_on_call_shift - Delete an on-call schedule's rotation
firehydrant.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.
Archive a team?
intent: the user asked me to archive a team
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]" } ]}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
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 incidentwritefirehydrant.incidents.get_incidentGet an incidentreadfirehydrant.incidents.list_incidentsList incidentsreadfirehydrant.incidents.update_incidentUpdate an incidentwritefirehydrant.incidents.bulk_update_incident_milestonesUpdate milestone timeswritefirehydrant.incidents.close_incidentClose an incidentwrite- and 67 more in this area
Signals46
firehydrant.signals.create_notification_policyCreate a notification policywritefirehydrant.signals.create_signals_alert_grouping_configurationCreate an alert grouping configuration.writefirehydrant.signals.create_signals_email_targetCreate an email target for signalswritefirehydrant.signals.update_signals_alertUpdate a Signal alertwritefirehydrant.signals.create_signals_event_sourceCreate an event source for Signalswritefirehydrant.signals.create_signals_heartbeat_endpoint_configurationCreate a heartbeat endpoint configurationwrite- and 40 more in this area
Integrations37
firehydrant.integrations.create_connectionCreate a new integration connectionwritefirehydrant.integrations.create_slack_emoji_actionCreate a new Slack emoji actionwritefirehydrant.integrations.list_authed_providersLists the available and configured integrationsreadfirehydrant.integrations.list_aws_cloudtrail_batch_eventsList events for an AWS CloudTrail batchreadfirehydrant.integrations.delete_slack_emoji_actionDelete a Slack emoji actiondestructivefirehydrant.integrations.delete_statuspage_connectionDelete a Statuspage connectiondestructive- and 31 more in this area
Teams37
firehydrant.teams.create_teamCreate a teamwritefirehydrant.teams.get_teamGet a teamreadfirehydrant.teams.list_teamsList teamsreadfirehydrant.teams.update_teamUpdate a teamwritefirehydrant.teams.copy_on_call_schedule_rotationCopy an on-call schedule's rotationwritefirehydrant.teams.create_on_call_schedule_rotationCreate a new on-call rotationwrite- and 31 more in this area
Ticketing35
firehydrant.ticketing.create_ticketCreate a ticketwritefirehydrant.ticketing.get_ticketGet a ticketreadfirehydrant.ticketing.list_ticketsList ticketsreadfirehydrant.ticketing.update_ticketUpdate a ticketwritefirehydrant.ticketing.create_inbound_field_mapCreate inbound field map for a ticketing projectwritefirehydrant.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 pagewritefirehydrant.nunc_connections.get_nunc_connectionGet a status pagereadfirehydrant.nunc_connections.list_nunc_connectionsList status pagesreadfirehydrant.nunc_connections.update_nunc_connectionUpdate a status pagewritefirehydrant.nunc_connections.create_email_subscriberAdd subscribers to a status pagewritefirehydrant.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 reportwritefirehydrant.post_mortems.get_post_mortem_reportGet a retrospective reportreadfirehydrant.post_mortems.list_post_mortem_reportsList retrospective reportsreadfirehydrant.post_mortems.update_post_mortem_reportUpdate a retrospective reportwritefirehydrant.post_mortems.create_post_mortem_reasonCreate a contributing factor for a retrospective reportwritefirehydrant.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 runbookwritefirehydrant.runbooks.get_runbookGet a runbookreadfirehydrant.runbooks.list_runbooksList runbooksreadfirehydrant.runbooks.update_runbookUpdate a runbookwritefirehydrant.runbooks.create_runbook_executionCreate a runbook executionwritefirehydrant.runbooks.delete_runbookDelete a runbookdestructive- and 8 more in this area
Changes13
firehydrant.changes.create_changeCreate a new change entrywritefirehydrant.changes.create_change_eventCreate a change eventwritefirehydrant.changes.list_changesList changesreadfirehydrant.changes.update_changeUpdate a change entrywritefirehydrant.changes.create_change_identityCreate an identity for a change entrywritefirehydrant.changes.delete_changeArchive a change entrydestructive- and 7 more in this area
Scim12
firehydrant.scim.create_scim_groupCreate a SCIM group and assign memberswritefirehydrant.scim.create_scim_userCreate a User from SCIM datawritefirehydrant.scim.list_scim_groupsList SCIM groupsreadfirehydrant.scim.list_scim_usersList SCIM usersreadfirehydrant.scim.delete_scim_groupDelete a SCIM groupdestructivefirehydrant.scim.delete_scim_userDelete a User matching SCIM datadestructive- and 6 more in this area
Services12
firehydrant.services.create_serviceCreate a servicewritefirehydrant.services.get_serviceGet a servicereadfirehydrant.services.list_servicesList servicesreadfirehydrant.services.update_serviceUpdate a servicewritefirehydrant.services.create_service_checklist_responseRecord a response for a checklist itemwritefirehydrant.services.create_service_linksCreate multiple services linked to external serviceswrite- and 6 more in this area
Audiences11
firehydrant.audiences.create_audienceCreate audiencewritefirehydrant.audiences.generate_audience_summaryGenerate summary (async)writefirehydrant.audiences.list_audience_summariesList audience summariesreadfirehydrant.audiences.list_audiencesList audiencesreadfirehydrant.audiences.archive_audienceArchive audiencedestructivefirehydrant.audiences.get_audienceGet audienceread- and 5 more in this area
Severity matrix11
firehydrant.severity_matrix.create_severity_matrix_conditionCreate a severity matrix conditionwritefirehydrant.severity_matrix.create_severity_matrix_impactCreate a severity matrix impactwritefirehydrant.severity_matrix.list_severity_matrix_conditionsList severity matrix conditionsreadfirehydrant.severity_matrix.list_severity_matrix_impactsList severity matrix impactsreadfirehydrant.severity_matrix.delete_severity_matrix_conditionDelete a severity matrix conditiondestructivefirehydrant.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 definitionwritefirehydrant.lifecycles.create_lifecycle_milestoneCreate a milestonewritefirehydrant.lifecycles.list_lifecycle_measurement_definitionsList measurement definitionsreadfirehydrant.lifecycles.list_lifecycle_phasesList phases and milestonesreadfirehydrant.lifecycles.delete_lifecycle_measurement_definitionArchive a measurement definitiondestructivefirehydrant.lifecycles.delete_lifecycle_milestoneDelete a milestonedestructive- and 3 more in this area
Conversations8
firehydrant.conversations.create_commentCreate a conversation commentwritefirehydrant.conversations.create_comment_reactionCreate a reaction for a conversation commentwritefirehydrant.conversations.list_comment_reactionsList reactions for a conversation commentreadfirehydrant.conversations.list_commentsList comments for a conversationreadfirehydrant.conversations.delete_commentArchive a conversation commentdestructivefirehydrant.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 analyticsreadfirehydrant.metrics.list_infrastructure_metricsGet metrics for a componentreadfirehydrant.metrics.list_infrastructure_type_metricsList metrics for a component typereadfirehydrant.metrics.list_milestone_funnel_metricsList milestone funnel metricsreadfirehydrant.metrics.list_mttx_metricsGet infrastructure metricsreadfirehydrant.metrics.list_retrospective_metricsList retrospective metricsread- and 2 more in this area
Environments7
firehydrant.environments.create_environmentCreate an environmentwritefirehydrant.environments.list_environment_functionalitiesList functionalities for an environmentreadfirehydrant.environments.list_environment_servicesList services for an environmentreadfirehydrant.environments.list_environmentsList environmentsreadfirehydrant.environments.delete_environmentArchive an environmentdestructivefirehydrant.environments.get_environmentGet an environmentread- and 1 more in this area
Functionalities7
firehydrant.functionalities.create_functionalityCreate a functionalitywritefirehydrant.functionalities.list_functionalitiesList functionalitiesreadfirehydrant.functionalities.list_functionality_environmentsList environments for a functionalityreadfirehydrant.functionalities.list_functionality_servicesList services for a functionalityreadfirehydrant.functionalities.delete_functionalityArchive a functionalitydestructivefirehydrant.functionalities.get_functionalityGet a functionalityread- and 1 more in this area
Webhooks6
firehydrant.webhooks.create_webhookCreate a webhookwritefirehydrant.webhooks.get_webhookGet a webhookreadfirehydrant.webhooks.list_webhooksList webhooksreadfirehydrant.webhooks.update_webhookUpdate a webhookwritefirehydrant.webhooks.delete_webhookDelete a webhookdestructivefirehydrant.webhooks.list_webhook_deliveriesList webhook deliveriesread
Checklist templates5
firehydrant.checklist_templates.create_checklist_templateCreate a checklist templatewritefirehydrant.checklist_templates.get_checklist_templateGet a checklist templatereadfirehydrant.checklist_templates.list_checklist_templatesList checklist templatesreadfirehydrant.checklist_templates.update_checklist_templateUpdate a checklist templatewritefirehydrant.checklist_templates.delete_checklist_templateArchive a checklist templatedestructive
Custom fields5
firehydrant.custom_fields.create_custom_field_definitionCreate a custom field definitionwritefirehydrant.custom_fields.list_custom_field_definitionsList custom field definitionsreadfirehydrant.custom_fields.list_custom_field_select_optionsGet available values for a custom fieldreadfirehydrant.custom_fields.update_custom_field_definitionUpdate a custom field definitionwritefirehydrant.custom_fields.delete_custom_field_definitionDelete a custom field definitiondestructive
Incident roles5
firehydrant.incident_roles.create_incident_roleCreate an incident rolewritefirehydrant.incident_roles.get_incident_roleGet an incident rolereadfirehydrant.incident_roles.list_incident_rolesList incident rolesreadfirehydrant.incident_roles.update_incident_roleUpdate an incident rolewritefirehydrant.incident_roles.delete_incident_roleArchive an incident roledestructive
Incident types5
firehydrant.incident_types.create_incident_typeCreate an incident typewritefirehydrant.incident_types.get_incident_typeGet an incident typereadfirehydrant.incident_types.list_incident_typesList incident typesreadfirehydrant.incident_types.update_incident_typeUpdate an incident typewritefirehydrant.incident_types.delete_incident_typeArchive an incident typedestructive
Priorities5
firehydrant.priorities.create_priorityCreate a prioritywritefirehydrant.priorities.get_priorityGet a priorityreadfirehydrant.priorities.list_prioritiesList prioritiesreadfirehydrant.priorities.update_priorityUpdate a prioritywritefirehydrant.priorities.delete_priorityDelete a prioritydestructive
Retrospective templates5
firehydrant.retrospective_templates.create_retrospective_templateCreate a retrospective templatewritefirehydrant.retrospective_templates.get_retrospective_templateGet a retrospective templatereadfirehydrant.retrospective_templates.list_retrospective_templatesList retrospective templatesreadfirehydrant.retrospective_templates.update_retrospective_templateUpdate a retrospective templatewritefirehydrant.retrospective_templates.delete_retrospective_templateDelete a retrospective templatedestructive
Roles5
firehydrant.roles.create_roleCreate a rolewritefirehydrant.roles.get_roleGet a rolereadfirehydrant.roles.list_rolesGet all rolesreadfirehydrant.roles.update_roleUpdate a rolewritefirehydrant.roles.delete_roleDelete a roledestructive
Saved searches5
firehydrant.saved_searches.create_saved_searchCreate a saved searchwritefirehydrant.saved_searches.get_saved_searchGet a saved searchreadfirehydrant.saved_searches.list_saved_searchesList saved searchesreadfirehydrant.saved_searches.update_saved_searchUpdate a saved searchwritefirehydrant.saved_searches.delete_saved_searchDelete a saved searchdestructive
Scheduled maintenances5
firehydrant.scheduled_maintenances.create_scheduled_maintenanceCreate a scheduled maintenance eventwritefirehydrant.scheduled_maintenances.get_scheduled_maintenanceGet a scheduled maintenance eventreadfirehydrant.scheduled_maintenances.list_scheduled_maintenancesList scheduled maintenance eventsreadfirehydrant.scheduled_maintenances.update_scheduled_maintenanceUpdate a scheduled maintenance eventwritefirehydrant.scheduled_maintenances.delete_scheduled_maintenanceDelete a scheduled maintenance eventdestructive
Severities5
firehydrant.severities.create_severityCreate a severitywritefirehydrant.severities.get_severityGet a severityreadfirehydrant.severities.list_severitiesList severitiesreadfirehydrant.severities.update_severityUpdate a severitywritefirehydrant.severities.delete_severityDelete a severitydestructive
Status update templates5
firehydrant.status_update_templates.create_status_update_templateCreate a status update templatewritefirehydrant.status_update_templates.get_status_update_templateGet a status update templatereadfirehydrant.status_update_templates.list_status_update_templatesList status update templatesreadfirehydrant.status_update_templates.update_status_update_templateUpdate a status update templatewritefirehydrant.status_update_templates.delete_status_update_templateDelete a status update templatedestructive
Task lists5
firehydrant.task_lists.create_task_listCreate a task listwritefirehydrant.task_lists.get_task_listGet a task listreadfirehydrant.task_lists.list_task_listsList task listsreadfirehydrant.task_lists.update_task_listUpdate a task listwritefirehydrant.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 summaryreadfirehydrant.ai.get_ai_preferencesGet AI preferencesreadfirehydrant.ai.update_ai_preferencesUpdate AI preferenceswritefirehydrant.ai.vote_ai_incident_summaryVote on an AI-generated incident summarywrite
Service dependencies4
firehydrant.service_dependencies.create_service_dependencyCreate a service dependencywritefirehydrant.service_dependencies.delete_service_dependencyDelete a service dependencydestructivefirehydrant.service_dependencies.get_service_dependencyGet a service dependencyreadfirehydrant.service_dependencies.update_service_dependencyUpdate a service dependencywrite
Permissions3
firehydrant.permissions.list_current_user_permissionsGet all permissions for the current userreadfirehydrant.permissions.list_permissionsList permissionsreadfirehydrant.permissions.list_team_permissionsGet all permissions for a teamread
Users3
firehydrant.users.get_userGet a userreadfirehydrant.users.list_user_owned_servicesList services owned by a user's teamsreadfirehydrant.users.list_usersList usersread
Alerts2
firehydrant.alerts.get_alertGet an alertreadfirehydrant.alerts.list_alertsList alertsread
Audit events2
firehydrant.audit_events.get_audit_eventGet a single audit eventreadfirehydrant.audit_events.list_audit_eventsList audit eventsread
Catalogs2
firehydrant.catalogs.ingest_catalog_dataIngest service catalog datawritefirehydrant.catalogs.refresh_catalogRefresh a service catalogread
Form configurations2
firehydrant.form_configurations.append_form_data_on_selected_value_getGet data for a form field on selectreadfirehydrant.form_configurations.get_form_configurationGet a form configurationread
Incident tags2
firehydrant.incident_tags.list_incident_tagsList incident tagsreadfirehydrant.incident_tags.validate_incident_tagsValidate incident tagsread
Nunc2
firehydrant.nunc.create_nunc_subscriptionCreate a status page subscriptionwritefirehydrant.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.