> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flashduty.com/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 10 built-in AI coding-agent skills.
  </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 10 agent skills 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 288 API operations across 32 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>
