Content
# Nightingale MCP Server
English | [中文](README_zh.md)
[](https://go.dev/)
[](LICENSE)
[](https://modelcontextprotocol.io/)
An MCP (Model Context Protocol) server for [Nightingale](https://github.com/ccfos/nightingale) monitoring system. This server enables AI assistants to interact with Nightingale APIs for alert management, monitoring, and observability tasks through natural language.
## Compatibility
- **Nightingale**: v8.0.0+
## Key Use Cases
- **Alert Management**: Query active and historical alerts, view alert rules and subscriptions
- **Target Monitoring**: Browse and search monitored hosts/targets, analyze target status
- **Incident Response**: Create and manage alert mutes, notification rules, and event pipelines
- **Team Collaboration**: Query users, teams, and business groups
## Quick Start
### 1. Get an API Token
1. Make sure `HTTP.TokenAuth` is enabled in `config.toml`:
```toml
[HTTP.TokenAuth]
Enable = true
```
2. Log in to your Nightingale web interface
3. Navigate to **Personal Settings** > **Profile** > **Token Management**
4. Create a new token with appropriate permissions

> **Security Note**: Store your API token securely. Never commit tokens to version control. Use environment variables or secure secret management.
### 2. Configure MCP Client
#### Cursor
Add to your `~/.cursor/mcp.json`:
```json
{
"mcpServers": {
"nightingale": {
"command": "npx",
"args": ["-y", "@n9e/n9e-mcp-server", "stdio"],
"env": {
"N9E_TOKEN": "your-api-token",
"N9E_BASE_URL": "http://your-n9e-server:17000"
}
}
}
}
```
### 3. Restart Cursor or Other Client Processes to Use
## Available Tools
| Toolset | Tool | Description |
|---------|------|-------------|
| alerts | `list_active_alerts` | List currently firing alerts with optional filters |
| alerts | `get_active_alert` | Get details of a specific active alert by event ID |
| alerts | `list_history_alerts` | List historical alerts with optional filters |
| alerts | `get_history_alert` | Get details of a specific historical alert |
| alerts | `list_alert_rules` | List alert rules for a business group |
| alerts | `get_alert_rule` | Get details of a specific alert rule |
| targets | `list_targets` | List monitored hosts/targets with optional filters |
| datasource | `list_datasources` | List all available datasources |
| mutes | `list_mutes` | List alert mutes for a business group |
| mutes | `get_mute` | Get details of a specific alert mute |
| mutes | `create_mute` | Create a new alert mute/silence rule |
| mutes | `update_mute` | Update an existing alert mute/silence rule |
| notify_rules | `list_notify_rules` | List all notification rules |
| notify_rules | `get_notify_rule` | Get details of a specific notification rule |
| alert_subscribes | `list_alert_subscribes` | List alert subscriptions for a business group |
| alert_subscribes | `list_alert_subscribes_by_gids` | List subscriptions across multiple business groups |
| alert_subscribes | `get_alert_subscribe` | Get details of a specific subscription |
| event_pipelines | `list_event_pipelines` | List all event pipelines/workflows |
| event_pipelines | `get_event_pipeline` | Get details of a specific event pipeline |
| event_pipelines | `list_event_pipeline_executions` | List execution records for a specific pipeline |
| event_pipelines | `list_all_event_pipeline_executions` | List all execution records across all pipelines |
| event_pipelines | `get_event_pipeline_execution` | Get details of a specific execution |
| users | `list_users` | List users with optional filters |
| users | `get_user` | Get details of a specific user |
| users | `list_user_groups` | List user groups/teams |
| users | `get_user_group` | Get details of a user group including members |
| busi_groups | `list_busi_groups` | List business groups accessible to the current user |
## Example Prompts
Once configured, you can interact with Nightingale using natural language:
- "Show me all critical alerts from the last 24 hours"
- "What alerts are currently firing?"
- "List all monitored targets that have been down for more than 5 minutes"
- "What alert rules are configured in business group 1?"
- "Create a mute rule for service=api alerts for the next 2 hours due to maintenance"
- "Show me the event pipeline execution history"
- "Who are the members of the ops team?"
## Configuration
### Environment Variables
| Variable | Flag | Description | Default |
|----------|------|-------------|---------|
| `N9E_TOKEN` | `--token` | Nightingale API token (required) | - |
| `N9E_BASE_URL` | `--base-url` | Nightingale API base URL | `http://localhost:17000` |
| `N9E_READ_ONLY` | `--read-only` | Disable write operations | `false` |
| `N9E_TOOLSETS` | `--toolsets` | Enabled toolsets (comma-separated) | `all` |
### Toolsets
By default, all toolsets are enabled. You can use the `--toolsets` flag or `N9E_TOOLSETS` environment variable to enable only the toolsets you need, reducing the number of tools exposed to the AI assistant and saving context window tokens.
Available toolsets: `alerts`, `targets`, `datasource`, `mutes`, `busi_groups`, `notify_rules`, `alert_subscribes`, `event_pipelines`, `users`
For example, to enable only alert and target related tools:
```json
{
"mcpServers": {
"nightingale": {
"command": "npx",
"args": ["-y", "@n9e/n9e-mcp-server", "stdio"],
"env": {
"N9E_TOKEN": "your-api-token",
"N9E_BASE_URL": "http://your-n9e-server:17000",
"N9E_TOOLSETS": "alerts,targets"
}
}
}
}
```
## License
Apache License 2.0
## Related Projects
- [Nightingale](https://github.com/ccfos/nightingale) - The enterprise-level cloud-native monitoring system
- [MCP Go SDK](https://github.com/modelcontextprotocol/go-sdk) - Official MCP SDK for Go
- [MCP Specification](https://modelcontextprotocol.io/) - Model Context Protocol specification
MCP Config
Below is the configuration for this MCP Server. You can copy it directly to Cursor or other MCP clients.
mcp.json
Connection Info
You Might Also Like
everything-claude-code
Complete Claude Code configuration collection - agents, skills, hooks,...
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
servers
Model Context Protocol Servers
servers
Model Context Protocol Servers
Time
A Model Context Protocol server for time and timezone conversions.
Filesystem
Node.js MCP Server for filesystem operations with dynamic access control.