Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,061 changes: 769 additions & 292 deletions .speakeasy/openapi.output.yaml

Large diffs are not rendered by default.

174 changes: 174 additions & 0 deletions .speakeasy/overlay.mcp.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,21 @@ actions:
scopes:
- "read"

- target: $.paths["/v1/incidents/{incident_id}"].get
update:
x-speakeasy-mcp:
disabled: false
name: get-incident
scopes:
- "read"
description: >
Retrieves detailed information about a specific incident. This is useful for:

- Getting incident details including affected services,
- Viewing incident status, severity, and impact,
- Finding services impacted by an incident,
- Getting team assignments and other incident metadata.

- target: $.paths..[?@.operationId == "create_incident"]
update:
x-speakeasy-mcp:
Expand Down Expand Up @@ -79,6 +94,17 @@ actions:
items:
type: object
additionalProperties: true
Audiences_Entities_AudienceEntityPaginated:
type: object
properties:
data:
type: array
nullable: true
items:
$ref: "#/components/schemas/Audiences_Entities_AudienceEntity"
pagination:
$ref: "#/components/schemas/NullablePaginationEntity"
description: "Audiences_Entities_AudienceEntityPaginated model"

- target: $.paths..[?@.operationId == "list_alerts"]
update:
Expand All @@ -88,5 +114,153 @@ actions:
scopes:
- "read"

- target: $.paths["/v1/teams/{team_id}/on_call_schedules"].get
update:
x-speakeasy-mcp:
disabled: false
name: list-team-on-call-schedules
scopes:
- "read"
description: >
Lists all on-call schedules for a specific team. This is useful for:

- Getting a list of on-call schedules for a team,
- Finding available schedules to assign to incidents,
- Viewing schedule configurations.

- target: $.paths["/v1/teams/{team_id}/on_call_schedules/{schedule_id}"].get
update:
x-speakeasy-mcp:
disabled: false
name: get-team-on-call-schedule
scopes:
- "read"
description: >
Retrieves a specific on-call schedule for a team. This is useful for:

- Getting detailed information about a specific schedule,
- Viewing schedule rotations and members,
- Checking schedule configuration.

- target: $.paths["/v1/audiences/summaries/{incident_id}"].get
update:
x-speakeasy-mcp:
disabled: false
name: get-incident-ai-summary
scopes:
- "read"
description: >
Retrieves the AI-generated summary for an incident. This is useful for:

- Getting a concise AI summary of an incident,
- Understanding incident context quickly,
- Reviewing automated incident summaries.

- target: $.paths["/v1/audiences/{audience_id}/summaries/{incident_id}"].get
update:
x-speakeasy-mcp:
disabled: false
name: get-audience-incident-ai-summary
scopes:
- "read"
description: >
Retrieves the AI-generated summary for an incident tailored to a specific audience. This is useful for:

- Getting audience-specific incident summaries,
- Viewing summaries customized for different stakeholders,
- Understanding how incidents are communicated to different audiences.

- target: $.paths["/v1/audiences"].get
update:
x-speakeasy-mcp:
disabled: false
name: list-audiences
scopes:
- "read"
description: >
Lists all audiences in the organization. This is useful for:

- Getting a list of all audiences with their IDs and names,
- Finding an audience ID by searching through audience names,
- Viewing audience configurations and details.
responses:
"200":
content:
"application/json":
schema:
$ref: "#/components/schemas/Audiences_Entities_AudienceEntityPaginated"

- target: $.paths["/v1/audiences/{audience_id}"].get
update:
x-speakeasy-mcp:
disabled: false
name: get-audience
scopes:
- "read"
description: >
Retrieves detailed information about a specific audience by its ID. This is useful for:

- Getting audience details and configuration when you have the audience ID,
- Viewing audience information.

- target: $.paths["/v1/teams"].get
update:
x-speakeasy-mcp:
disabled: false
name: list-teams
scopes:
- "read"
description: >
Lists all teams in the organization. This is useful for:

- Getting a list of all teams,
- Finding team IDs for other operations,
- Viewing team configurations.

- target: $.paths["/v1/teams/{team_id}"].get
update:
x-speakeasy-mcp:
disabled: false
name: get-team
scopes:
- "read"
description: >
Retrieves detailed information about a specific team, including its members. This is useful for:

- Getting team details and configuration,
- Viewing team members and memberships,
- Finding users on a specific team,
- Checking team assignments and roles.

- target: $.paths["/v1/users"].get
update:
x-speakeasy-mcp:
disabled: false
name: list-users
scopes:
- "read"
description: >
Lists all users in the organization. This is useful for:

- Getting a list of all users,
- Finding user IDs for other operations,
- Searching for users by name or email,
- Viewing user information.

- target: $.paths["/v1/services/{service_id}"].get
update:
x-speakeasy-mcp:
disabled: false
name: get-service
scopes:
- "read"
description: >
Retrieves detailed information about a specific service. This is useful for:

- Getting service details including the team that owns it,
- Finding which team is responsible for a service,
- Viewing service configuration and metadata,
- Identifying service ownership for incident response.

- target: $.paths.*[?@["x-speakeasy-mcp"].disabled != false]
remove: true
91 changes: 91 additions & 0 deletions .speakeasy/speakeasy-modifications-overlay.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
overlay: 1.0.0
x-speakeasy-jsonpath: rfc9535
info:
title: Speakeasy Modifications
version: 0.0.2
x-speakeasy-metadata:
after: ""
before: ""
type: speakeasy-modifications
actions:
- target: $["paths"]["/v1/teams/{team_id}/on_call_schedules/{schedule_id}"]["get"]
update:
x-speakeasy-name-override: getTeamOnCallSchedule
x-speakeasy-metadata:
after: sdk.signals.getTeamOnCallSchedule()
before: sdk.Signals.get_team_on_call_schedule()
created_at: 1769716230480
reviewed_at: 1769716258124
type: method-name
- target: $["paths"]["/v1/audiences/{audience_id}/summaries/{incident_id}"]["get"]
update:
x-speakeasy-name-override: getSummary
x-speakeasy-metadata:
after: sdk.audiences.getSummary()
before: sdk.Audiences.get_audience_summary()
created_at: 1769716230480
reviewed_at: 1769716258124
type: method-name
- target: $["paths"]["/v1/incidents"]["post"]
update:
x-speakeasy-name-override: create
x-speakeasy-metadata:
after: sdk.incidents.create()
before: sdk.Incidents.create_incident()
created_at: 1769716230480
reviewed_at: 1769716258124
type: method-name
- target: $["paths"]["/v1/alerts"]["get"]
update:
x-speakeasy-name-override: list
x-speakeasy-metadata:
after: sdk.alerts.list()
before: sdk.Alerts.list_alerts()
created_at: 1769716230480
reviewed_at: 1769716258124
type: method-name
- target: $["paths"]["/v1/incidents"]["get"]
update:
x-speakeasy-name-override: list
x-speakeasy-metadata:
after: sdk.incidents.list()
before: sdk.Incidents.list_incidents()
created_at: 1769716230480
reviewed_at: 1769716258124
type: method-name
- target: $["paths"]["/v1/audiences/summaries/{incident_id}"]["get"]
update:
x-speakeasy-name-override: listSummaries
x-speakeasy-metadata:
after: sdk.audiences.listSummaries()
before: sdk.Audiences.list_audience_summaries()
created_at: 1769716230480
reviewed_at: 1769716258124
type: method-name
- target: $["paths"]["/v1/incidents/{incident_id}/retrospectives/{retrospective_id}/fields/{field_id}"]["patch"]
update:
x-speakeasy-name-override: updateField
x-speakeasy-metadata:
after: sdk.retrospectives.updateField()
before: sdk.Retrospectives.update_incident_retrospective_field()
created_at: 1769716230480
reviewed_at: 1769716258124
type: method-name
- target: $["paths"]["/v1/incidents/{incident_id}/retrospectives"]["get"]
update:
x-speakeasy-name-override: list
x-speakeasy-metadata:
after: sdk.retrospectives.list()
before: sdk.Retrospectives.list_incident_retrospectives()
created_at: 1769716230480
reviewed_at: 1769716258124
type: method-name
- target: $["paths"]["/v1/teams/{team_id}/on_call_schedules"]["get"]
update:
x-speakeasy-name-override: listTeamOnCallSchedules
x-speakeasy-metadata:
after: sdk.signals.listTeamOnCallSchedules()
before: sdk.Signals.list_team_on_call_schedules()
created_at: 1769716230480
reviewed_at: 1769716258124
type: method-name
12 changes: 6 additions & 6 deletions .speakeasy/workflow.lock
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
speakeasyVersion: 1.680.3
speakeasyVersion: 1.700.2
sources:
FireHydrant-OAS:
sourceNamespace: fire-hydrant-mcp-oas
sourceRevisionDigest: sha256:83a0b6e9ed0867985e3d1353b6d295364c7f3054d3642783f854d9d25d79a9c0
sourceBlobDigest: sha256:251933c525d4a51956aba536d41498065663f49575c21c31c9798efc3917fdbe
sourceRevisionDigest: sha256:f3906ea1debd9147ab3da266891e75c43cbf31b0bc250bbaf8551d9ede39328b
sourceBlobDigest: sha256:efdc1fe93f00256e821a9389615d2702f4ed5c48eb584e8ce7be51036b32d46c
tags:
- latest
- speakeasy-sdk-regen-1766016260
- 0.0.1
targets:
fire-hydrant:
source: FireHydrant-OAS
sourceNamespace: fire-hydrant-mcp-oas
sourceRevisionDigest: sha256:83a0b6e9ed0867985e3d1353b6d295364c7f3054d3642783f854d9d25d79a9c0
sourceBlobDigest: sha256:251933c525d4a51956aba536d41498065663f49575c21c31c9798efc3917fdbe
sourceRevisionDigest: sha256:f3906ea1debd9147ab3da266891e75c43cbf31b0bc250bbaf8551d9ede39328b
sourceBlobDigest: sha256:efdc1fe93f00256e821a9389615d2702f4ed5c48eb584e8ce7be51036b32d46c
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest
Expand All @@ -23,6 +22,7 @@ workflow:
- location: registry.speakeasyapi.dev/firehydrant/firehydrant/firehydrant-oas:main
overlays:
- location: .speakeasy/overlay.mcp.yaml
- location: .speakeasy/speakeasy-modifications-overlay.yaml
output: .speakeasy/openapi.output.yaml
registry:
location: registry.speakeasyapi.dev/firehydrant/firehydrant/fire-hydrant-mcp-oas
Expand Down
1 change: 1 addition & 0 deletions .speakeasy/workflow.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ sources:
- location: registry.speakeasyapi.dev/firehydrant/firehydrant/firehydrant-oas:main
overlays:
- location: .speakeasy/overlay.mcp.yaml
- location: .speakeasy/speakeasy-modifications-overlay.yaml
output: .speakeasy/openapi.output.yaml
registry:
location: registry.speakeasyapi.dev/firehydrant/firehydrant/fire-hydrant-mcp-oas
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ FireHydrant MCP Server: An MCP server for interacting with FireHydrant's API.
<details>
<summary>MCP Bundle (Desktop Extension)</summary>

Install the MCP server as a Desktop Extension using the pre-built [`mcp-server.mcpb`](https://github.com/firehydrant/firehydrant-mcp/releases/download/v0.0.3/mcp-server.mcpb) file:
Install the MCP server as a Desktop Extension using the pre-built [`mcp-server.mcpb`](https://github.com/firehydrant/firehydrant-mcp/releases/download/v0.2.11/mcp-server.mcpb) file:

Simply drag and drop the [`mcp-server.mcpb`](https://github.com/firehydrant/firehydrant-mcp/releases/download/v0.0.3/mcp-server.mcpb) file onto Claude Desktop to install the extension.
Simply drag and drop the [`mcp-server.mcpb`](https://github.com/firehydrant/firehydrant-mcp/releases/download/v0.2.11/mcp-server.mcpb) file onto Claude Desktop to install the extension.

The MCP bundle package includes the MCP server and all necessary configuration. Once installed, the server will be available without additional setup.

Expand Down
4 changes: 2 additions & 2 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading