
Nightingale MCP Server: Setup for Claude Code, Cursor and Other Apps
Lets Claude, Cursor and other assistants query alerts, metrics, logs and dashboards in your self-hosted Nightingale (n9e) monitoring system.
Nightingale (n9e) is a self-hosted alerting and monitoring tool, and it has its own built-in MCP server at /mcp, no separate process to run. Each tool call carries your personal token and runs through Nightingale's normal permission checks, so the assistant can only reach what your account can reach. Write tools (creating or changing rules, dashboards, users and more) are off by default; an admin has to turn them on in the server config.
Good for
- SREs and on-call engineers who want an assistant to check firing alerts and metrics
- Teams self-hosting Nightingale who want read-only access from Claude or Cursor by default
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Client does not support this transport.
Client does not support this transport.
Install nightingale MCP
Claude Code
- 1
Copy this prompt.
Add the nightingale MCP server to Claude Code. Run this command: claude mcp add --transport http nightingale http://<your-n9e-host>:17000/mcp --header "X-User-Token: <your-token>" Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires A running Nightingale (n9e) v8+ instance, HTTP.TokenAuth enabled, A personal token (Profile, Token management).
Replace the address with the one your client can reach and <your-token> with your personal token. The path is /mcp. Use HTTPS for remote connections. Nightingale documents the .mcp.json style config; the claude mcp add command is the standard Claude Code form for the same settings.
Built from the package data we hold. Not yet tested by us. Source.
Tools
Lists alerts firing right now
Returns currently firing alert events, with filters for severity, time range and keyword.
Try: “Which critical alerts are firing right now?”
Read ·
list_active_alertsReads one firing alert in detail
Returns full details of one active alert event.
Try: “Show me the details of alert 1024.”
Read ·
get_active_alertLists past alerts
Returns historical alert events with filters.
Try: “What alerts fired on the payments service last week?”
Read ·
list_history_alertsLists alert rules for a team
Returns the alert rules configured for a business group.
Try: “List the alert rules for the infra team.”
Read ·
list_alert_rulesReads one alert rule
Returns one alert rule's full definition.
Try: “Show me the CPU usage alert rule.”
Read ·
get_alert_ruleCreates a new alert rule
Creates an alert rule in a business group from the full rule definition you give it. It only exists when the admin has turned on write tools.
Try: “Create a rule that alerts when disk usage is above 90 percent.”
Write ·
create_alert_ruleChanges an alert rule
Updates an existing alert rule's definition.
Try: “Lower the CPU alert threshold to 80 percent.”
Write ·
update_alert_ruleEnables or disables alert rules
Switches a batch of alert rules on or off.
Try: “Disable the noisy disk space rule for now.”
Write ·
toggle_alert_rulesLists active silences
Returns the alert mutes (silences) set for a business group.
Try: “What alerts are currently muted?”
Read ·
list_mutesMutes an alert
Creates a silence rule for a time range or a recurring schedule.
Try: “Mute alerts for the database server for the next 2 hours.”
Write ·
create_muteLists dashboards
Lists dashboards for one or more business groups.
Try: “What dashboards do we have for the infra team?”
Read ·
list_dashboardsReads a dashboard's full layout
Returns a dashboard's metadata and its complete panel configuration.
Try: “Show me the panel setup of the API latency dashboard.”
Read ·
get_dashboard_pureCreates a dashboard
Creates a new dashboard in a business group.
Try: “Create a new dashboard for the checkout service.”
Write ·
create_dashboardRuns a one-time metrics query
Runs a PromQL instant query against a connected Prometheus-compatible datasource.
Try: “What is the current CPU usage on web-01?”
Read ·
query_instantRuns a metrics query over time
Runs a PromQL range query and returns a time series.
Try: “Show CPU usage for web-01 over the last 6 hours.”
Read ·
query_rangeSearches logs
Queries logs from a connected Loki, Elasticsearch or OpenSearch datasource.
Try: “Search the logs for errors from the payments service in the last hour.”
Read ·
query_logsLists connected data sources
Lists the Prometheus, Loki, Elasticsearch and other data sources connected to this Nightingale, without their credentials.
Try: “What data sources are connected?”
Read ·
list_datasourcesAdds or changes a data source
Creates or updates a connected data source, checking that it is reachable.
Try: “Add our new Loki instance as a data source.”
Write ·
upsert_datasourceLists notification rules
Lists the rules that decide where alerts get sent.
Try: “What notification rules exist for the on-call team?”
Read ·
list_notify_rulesAdds a notification channel
Creates a new place to send notifications, such as a webhook, DingTalk or Feishu channel.
Try: “Add a Slack webhook as a notification channel.”
Write ·
create_notify_channelLists business groups
Lists the teams/business groups you can access.
Try: “What business groups do I have access to?”
Read ·
list_busi_groupsLists monitored hosts
Lists the monitored hosts and targets, with filters.
Try: “List the hosts being monitored in the production group.”
Read ·
list_targetsLists users
Lists users in the system, with filters.
Try: “Who are the users in this Nightingale instance?”
Read ·
list_usersCreates a new user
Creates a new user account with a username, password and roles.
Try: “Create a user account for the new on-call engineer.”
Write ·
create_user
Read from the source code
Permissions
low risk · 2 things to watch
Low risk
By default every tool only reads your Nightingale data; an admin must turn on write tools before anything can be created or changed. Each tool call carries your own account's permissions.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only modeHow to turn it on
Watch out for
It acts with your own account's permissions
Every tool call carries your token, so the assistant can only see and do what your Nightingale account can. github.com
Writes are off until an admin turns them on
By default every client only gets read tools. Enabling writes exposes about 32 create, update and toggle tools, including users, roles, password resets and data sources, with no per-call approval on the server. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Turning on read-only | Write tools are off by default (MCPEnableWriteTools = false in the [HTTP.A2A] config section). An admin can also list only specific toolsets with MCPToolsets. |
|---|---|
| Sign-in and keys | A personal token tied to your Nightingale account, sent in the X-User-Token header, or an OAuth access token for clients set up that way. |
Questions
Is this official?
Yes. It ships inside Nightingale's own n9e process at /mcp; a standalone version also exists for running MCP against a remote Nightingale instance.
Does it need an API key?
It needs a personal token from your Nightingale account, sent as a header, or an OAuth access token for clients set up for OAuth.
Can it change my alert rules?
Only if an admin has turned on write tools. By default every client can only read data.
What is the Nightingale MCP server URL?
Your own instance's address with /mcp at the end, for example http://your-n9e-host:17000/mcp. There is no shared hosted address.
Is this the full tool list?
No. The list on this page is a partial sample. The server registers about 74 tools across 13 toolsets, and an admin can also restrict which toolsets are exposed.
Does it need AI to work?
No. Alerting works without AI. External MCP clients bring their own model; Nightingale's separate built-in AI assistant uses whatever model endpoint you configure for it.
Information
updated Nov 2, 2026
- Publisher
- Official
- Transport
- Streamable HTTP
- Auth
- API key
- License
- Apache-2.0
- Last commit
- Oct 30, 2026
- Open issues
- 232
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 2Hide
- github.com · github.com
- github.com · github.com