> ## Documentation Index
> Fetch the complete documentation index at: https://test-8ad8522e-feat-ai-sre.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Developer tools

> Manage Flashduty resources programmatically via API, CLI, MCP Server, and Terraform Provider

## Overview

Flashduty provides multiple developer tools to help you programmatically manage incident response workflows, automate operations, and integrate Flashduty into your existing toolchain.

<CardGroup cols={2}>
  <Card title="Open API" icon="code" href="/en/openapi/introduction">
    RESTful API for accessing and managing Flashduty entities including incidents, alerts, channels, schedules, and more.
  </Card>

  <Card title="Command-line tool" icon="terminal" href="/en/developer/cli">
    Flashduty CLI for managing incidents, on-call schedules, status pages, and notification templates from your terminal — runs on macOS, Linux, and Windows with a built-in AI coding-agent skill.
  </Card>

  <Card title="Go SDK" icon="golang" href="/en/developer/go-sdk">
    The official go-github-style Go SDK — a typed wrapper over the Flashduty OpenAPI for calling every endpoint from your Go programs.
  </Card>

  <Card title="MCP Server" icon="robot" href="https://github.com/flashcatcloud/flashduty-mcp-server">
    Model Context Protocol server that connects Flashduty APIs to AI tools like Claude and Cursor, enabling natural language incident management and status page operations.
  </Card>

  <Card title="Terraform Provider" icon="cube" href="https://registry.terraform.io/providers/flashcatcloud/flashduty/latest/docs">
    Terraform Provider for managing channels, escalation rules, schedules, silence rules, and 12 other resource types as infrastructure as code.
  </Card>
</CardGroup>

## Open API

The Flashduty Open API follows RESTful conventions and supports APP Key authentication. You can use the API to:

* Create and manage incidents and alerts
* Configure channels and escalation rules
* Query schedules and member information
* Manage integrations and webhooks

<Tip>
  Visit the [API documentation](/en/openapi/introduction) for complete endpoint references and request examples.
</Tip>

## Command-line tool

Flashduty CLI (`flashduty`) is a command-line tool for managing the incident lifecycle, querying on-call schedules, publishing status pages, and debugging notification templates from your terminal. Its commands now cover the entire Flashduty OpenAPI. It runs on macOS, Linux, and Windows, and ships with a built-in agent skill so it plugs directly into AI coding agents like Claude Code, Cursor, Codex, and Gemini CLI.

Install with one command:

```bash theme={null}
curl -sSL https://static.flashcat.cloud/flashduty-cli/install.sh | sh
```

<Tip>
  See the [Command-line tool](/en/developer/cli) guide for the full installation matrix, command catalog, and best practices.
</Tip>

## Go SDK

go-flashduty is the official Go SDK for Flashduty. Built in the go-github style, it provides a typed wrapper over the Flashduty OpenAPI covering 340 API operations across 38 services, so you can call them directly from Go with full type safety and autocompletion.

The module is `github.com/flashcatcloud/go-flashduty` and requires Go 1.24+. Install with one command:

```bash theme={null}
go get github.com/flashcatcloud/go-flashduty
```

<Tip>
  See the [Go SDK](/en/developer/go-sdk) guide for quick start, client configuration, and endpoint examples.
</Tip>

## MCP Server

The Flashduty MCP Server implements the [Model Context Protocol](https://modelcontextprotocol.io/), providing AI tools with 23 tools across 8 functional modules:

| Module        | Tools | Capabilities                                                                                                             |
| ------------- | ----- | ------------------------------------------------------------------------------------------------------------------------ |
| Incidents     | 8     | Query, create, acknowledge, close incidents; view timelines and associated alerts; find similar incidents                |
| Alerts        | 1     | Query the upstream raw event stream that produced a single alert (e.g. each Prometheus firing)                           |
| Changes       | 1     | Query change records                                                                                                     |
| Status Page   | 4     | Query status pages, create events, update timelines                                                                      |
| Users & Teams | 2     | Query members and team information                                                                                       |
| Channels      | 2     | Query channels and escalation rules                                                                                      |
| Custom Fields | 1     | Query custom field definitions                                                                                           |
| Templates     | 4     | Fetch preset channel templates, validate and preview template rendering, list available template variables and functions |

Three deployment modes are available:

* **Remote service** — Connect directly to `https://mcp.flashcat.cloud/mcp`, no installation required
* **Docker** — Deploy locally using pre-built container image
* **Local build** — Build from source

<Tip>
  Visit the [GitHub repository](https://github.com/flashcatcloud/flashduty-mcp-server) for the complete deployment guide and tools reference.
</Tip>

## Terraform Provider

The Flashduty Terraform Provider supports managing 12 resource types and 13 data sources as code:

**Resources (create and manage):**

| Resource                   | Description                                                               |
| -------------------------- | ------------------------------------------------------------------------- |
| `flashduty_team`           | Team                                                                      |
| `flashduty_member_invite`  | Member invitation                                                         |
| `flashduty_channel`        | Channel (with alert grouping, flap detection, auto-resolve configuration) |
| `flashduty_schedule`       | Schedule (multi-layer rotation, time restrictions)                        |
| `flashduty_escalate_rule`  | Escalation rule (multi-level, time filters, alert filters)                |
| `flashduty_silence_rule`   | Silence rule                                                              |
| `flashduty_inhibit_rule`   | Inhibit rule                                                              |
| `flashduty_field`          | Custom field                                                              |
| `flashduty_route`          | Alert routing                                                             |
| `flashduty_template`       | Notification template                                                     |
| `flashduty_alert_pipeline` | Alert processing pipeline                                                 |
| `flashduty_incident`       | Incident                                                                  |

**Data sources (query):** Query teams, channels, members, custom fields, notification templates, and routing configurations by ID or name.

<Tip>
  Visit the [Terraform Registry](https://registry.terraform.io/providers/flashcatcloud/flashduty/latest/docs) for complete resource attributes and usage examples.
</Tip>
