# Integrations: MCP, API, webhooks, CLI

> The hub for everything outside the browser: the REST API, personal access tokens, the MCP server, the agent API, the change webhook, aiopsctl and the webhooks.

_Concept · Updated 2026-10-17 · Describes release 0.1.164_

## What these pages are for {#what-this-chapter-is-for}

Everything outside the browser talks to your tenant through one of four doorways.

| Doorway | Endpoint | Used by | Credential |
|---|---|---|---|
| REST API | `/api/aiops/{tenant_id}/…` | scripts, dashboards, CI, your own portal | personal access token |
| MCP server | `/mcp/aiops` | any MCP-capable AI client | personal access token |
| Agent API (OpenAI-compatible) | `/api/aiops/{tenant_id}/agents/{pillar}/v1/…` | OpenAI SDKs, evaluation harnesses | personal access token |
| Alert webhooks | `/webhook/{source}/{slug}` | Alertmanager, Grafana, Datadog, Dynatrace, CloudWatch, Azure Monitor, Robusta, plus a `generic` adapter for anything else | webhook token |

The first three share the **same** personal access token. The webhooks use a separate, tenant-wide ingest token, because an alert source is a machine that should never be able to read your incidents.

All of it is configured on one page: **Settings · Data in → Alert intake & tokens** (route `/portal/tokens`). Notification targets moved off it — those live under *Settings · Account → Notifications & on-call*. `/portal/webhook` and `/portal/agent-api` are legacy links that redirect there.

## The pages {#the-pages}

The chapter that used to live at this address is now the pages below, in the order its sections had.

- [Keyless cloud access](/help/manage-connections.md#keyless-cloud-access) — add a cloud account with no long-lived key.
- [The private-network agent](/help/private-access.md#the-private-network-agent) — reach an estate the platform cannot.
- [REST API](/help/rest-api.md) — the concepts every doorway shares, your tenant id, the live schema, the endpoints, pagination, the run stream.
- [Personal access tokens](/help/personal-access-tokens.md) — create, scope, rotate and revoke.
- [MCP server](/help/mcp-server.md) — endpoint, client setup, operations, approvals, scans and lake queries.
- [Agent API (OpenAI-compatible)](/help/agent-api.md) — one completion is one agentic run.
- [Report changes to the change webhook](/help/change-webhook.md) — your own feed, Kubernetes audit, Argo CD, git watch lists, the Probable cause card.
- [aiopsctl (command line)](/help/aiopsctl.md) — install, commands, the CI gate.

## Webhooks {#webhooks}

Alert sources, posture scanners, ticket systems and change sources post to `https://<your-host>/webhook/<source>/<workspace-slug>` with the workspace's webhook token, in a header wherever the source allows it. Which source configures what, the token forms, each adapter's payload and status mapping, the response counters and the error strings are in the [Webhook reference](/help/webhook-reference.md); minting the token is [Create the webhook token](/help/setup-alert-sources.md#create-the-webhook-token), and each observability platform step by step is [Alerts from your observability platform](/help/external-observability.md).


## Next steps

- Next: [REST API](/help/rest-api.md)
- [All Reference pages](/help/reference/llms.txt)
- [Documentation home](/help/)
