Nobl9 MCP server
The Nobl9 MCP server connects AI clients directly to the Nobl9 platform,
enabling AI agents to interact with your SLOs, monitor reliability metrics, and manage SLO configurations through natural language.
MCP stands for Model Context Protocol,
it is an open-source standard for connecting AI applications to external systems.
Before you proceed, select the Nobl9 instance that matches the host in your browser URL.
Choose your Nobl9 instance
Setup
- Claude Code
- ChatGPT
- Gemini Enterprise
- Codex
- Cursor
- OpenCode
- VS Code Copilot
- Other
-
Add the Nobl9 MCP server:
claude mcp add --transport=http nobl9 https://app.nobl9.com/api/mcp -
Start
claude. -
Run
/mcpcommand and navigate to Nobl9 MCP server, then select it. -
Choose Authenticate and sign in to Nobl9 in the browser tab that opens.
Add Nobl9 as a custom connector in ChatGPT.
- In ChatGPT, enable Developer mode (Settings → Apps → Advanced settings; in Business/Enterprise workspaces an admin must allow creating custom MCP connectors under Workspace settings → Permissions & Roles). Then open Settings → Apps and create a new connector. Custom connectors are available only on plans and workspaces that support them.
- Set the MCP server URL to
https://app.nobl9.com/api/mcp. - Choose OAuth authentication and save. ChatGPT registers itself with Nobl9 automatically, so you don't need a client ID.
- Connect the connector and sign in to Nobl9 in the browser tab that opens.
Once connected, enable the Nobl9 connector in a chat and ask about your SLOs, error budgets, or projects.
The client ID in the Gemini Enterprise setup identifies an OAuth client. It is not related to Nobl9 access keys.
Gemini Enterprise connects to a custom MCP server, but it can't register itself, so you create a client for it once.
-
Get the registration endpoint. Open the protected resource metadata (the first link under Remote server) and copy the URL in
authorization_servers[0]. Append/.well-known/oauth-authorization-serverto that URL and open it: this is the authorization server metadata. Copy itsregistration_endpointvalue. -
Create an OAuth client by calling that endpoint. The response contains the
client_idandclient_secretyou'll enter in the form:curl -X POST "<registration_endpoint>" \-H "Content-Type: application/json" \-d '{"client_name": "Gemini Enterprise","redirect_uris": ["https://vertexaisearch.cloud.google.com/oauth-redirect"],"grant_types": ["authorization_code", "refresh_token"],"token_endpoint_auth_method": "client_secret_basic"}' -
In Gemini Enterprise, add a custom MCP server data store and fill in:
Field Value MCP Server URL https://app.nobl9.com/api/mcpAuthentication OAuth 2.0 Authorization URL, Token URL The authorization_endpointandtoken_endpointfrom the same metadata documentClient ID, Client Secret From step 2 Scopes mcp offline_access -
Click Verify Auth and sign in to Nobl9 in the browser.
-
Enable the actions you need, then connect the data store to your Gemini Enterprise app (Apps → Connected data sources).
Each user who chats signs in to Nobl9 individually, so every action runs with that person's own permissions even though the client is shared.
Codex can connect directly to the remote server:
-
Add the Nobl9 MCP server:
codex mcp add nobl9 --url https://app.nobl9.com/api/mcpCodex detects OAuth support and opens the sign-in flow right away.
-
Sign in to Nobl9 in the browser tab that opens.
To sign in again later, or if no browser tab opened, run:
codex mcp login nobl9
-
Click Add to Cursor or copy this into your
~/.cursor/mcp.json:{"mcpServers": {"nobl9": {"url": "https://app.nobl9.com/api/mcp"}}} -
Next, click Authenticate next to the server definition. Sign in to Nobl9 in the browser tab that opens.
OpenCode can connect directly to the remote server:
-
Add the Nobl9 MCP server:
opencode mcp add nobl9 --url https://app.nobl9.com/api/mcpOpenCode discovers the OAuth settings from the server and registers itself.
-
Authenticate by running:
opencode mcp auth nobl9Sign in to Nobl9 in the browser tab that opens.
-
Click Add to VS Code or add this to your workspace
.vscode/mcp.jsonor user configuration:mcp.json{"servers": {"nobl9": {"type": "http","url": "https://app.nobl9.com/api/mcp"}}} -
Start the server.
-
Sign in to Nobl9 in the browser tab that opens.
If you're using any other application, the easiest connection method is through sloctl mcp command.
You need a configured sloctl CLI.
If you don't want to install sloctl, you can alternatively use mcp-proxy or other HTTP-to-stdio bridge.
Note that sloctl mcp does exactly that, it bridges between stdio and our remote HTTP server.
We strongly recommend it over any third party software due to security and trust concerns.
However, sloctl mcp does not work for applications running in environments with no access to the terminal, for instance, web-based ChatGPT.
For these applications, you need to connect to Nobl9 remote HTTP server and authenticate through OAuth.
Capabilities
Tools
| Tool | What it does |
|---|---|
applyObjects | Applies complete Nobl9 object definitions. |
calculateAlertPolicy | Calculates Alert Policy Analyzer suggestions for an SLO objective over a time range. |
deleteObjectByName | Deletes Nobl9 object by name. |
getAlertAnalysis | Retrieves the status, detected alerts, and optional time series for an Alert Policy Analyzer run. |
getOrganizationStatus | Retrieves the current status of the organization's components and any ongoing disruptions. |
getSLOStatus | Retrieves current budget status and health metrics for one SLO. |
getSLOsStatuses | Retrieves current budget status and health metrics for multiple SLOs. |
get<object> | Retrieves the full Nobl9 object definition. |
listOrganizationStatusDisruptions | Lists organization status disruptions (open or cleared) with severity and affected components. |
list<object> | Lists Nobl9 object metadata, with filters. |
prometheusLabelNames | Lists supported Prometheus label names for SLO metric discovery. |
prometheusLabelValues | Lists values for a Prometheus label. |
prometheusMetadata | Discovers Nobl9 Prometheus metrics relevant to SLOs. |
prometheusQuery | Runs an instant Prometheus query over SLO metrics. |
prometheusQueryRange | Runs a Prometheus range query over SLO metrics. |
queryDataSource | Queries supported Nobl9 data sources for time-series data over a requested time range. |
retryAlertAnalysis | Retries a failed Alert Policy Analyzer run. |
searchDocs | Searches the Nobl9 documentation and returns matching pages with title, link, and a snippet. |
searchSLOs | Searches for SLOs using text queries and advanced filters across projects and services. |
startAlertAnalysis | Starts an Alert Policy Analyzer run for one SLO objective and alert policy over a time range. |
validateObjects | Validates complete Nobl9 object definitions. |
Prompts
| Prompt | What it does |
|---|---|
calculate-alert-policy | Guides the LLM through alert policy recommendations by calculating suggestions and running Alert Policy Analyzer for a single SLO objective. |
Authentication details
Remote server
The remote MCP server uses browser-based OAuth 2.1 with DCR. Most MCP clients handle the whole flow for you. Point the client at the server URL. It registers itself, opens your browser, and connects after you sign in to Nobl9. You do not need to provide a client ID.
-
Every request runs as you. You sign in with your own Nobl9 account, and the client can only do what your role allows. Sharing one client configuration across a team is fine, since each person signs in individually.
-
Discovery follows the standard MCP chain: an unauthenticated request returns a
WWW-Authenticatechallenge pointing to the protected resource metadata, which points to the authorization server metadata, which exposes the registration endpoint. The metadata endpoints are:https://app.nobl9.com/.well-known/oauth-protected-resourcehttps://app.nobl9.com/.well-known/oauth-protected-resource/api/mcp
Both expose the same information and are duplicated for compatibility. Either GET or OPTIONS HTTP method can be used.
-
Some hosted products, such as Gemini Enterprise, can't register themselves and need a client ID and secret. See the Gemini Enterprise setup for how to create one.
sloctl
sloctl acts as a bridge between the remote HTTP MCP server and local
stdio.
It can authenticate using either user access keys or API keys, which it uses to fetch the access token.
You need sloctl version 0.21.0 or later.
To create the required machine keys use either user access keys or API keys.
Both can be generated in the Nobl9 web application.
For setup details, see Configure sloctl.