---
title: "Provision an MCP server from a preset"
method: POST
path: "/api/mcp/provisioner/preset"
tags: ["MCP Provisioner"]
---

# Provision an MCP server from a preset

`POST /api/mcp/provisioner/preset`

## Request

- Base URL: `/api/plugins/consensys-asko11y-app/resources` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/api/plugins/consensys-asko11y-app/resources/api/mcp/provisioner/preset`
- Auth: one of:
  - API key in cookie `grafana_session`
  - HTTP bearer

Admin-only. Attaches a preset external MCP server. For DCR-capable providers (Atlassian) OAuth endpoints are discovered via RFC 8414/9728 and a client is registered via RFC 7591 automatically; for others (GitHub) the admin supplies clientId and optionally clientSecret.

## Request body

- object
  - `preset` 'github-read' | 'github-write' | 'atlassian', required
  - `clientId` string: OAuth client ID; required for presets without dynamic client registration
  - `clientSecret` string: Optional OAuth client secret (PKCE preferred)

## Response `200`

Server provisioned

- object
  - `serverId` string

## Other responses

- `400`: Unknown preset or missing clientId
- `403`: Caller is not a Grafana Admin
- `502`: OAuth discovery or dynamic client registration against the provider failed

## Changes

- **2026-08-25** `336f05fb2b50`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/consensys/apis/ask-o11y-ai-powered-observability-assistant-api/changes/api/mcp/provisioner/preset/post.md)

---

[API](https://skmtc.dev/consensys/apis/ask-o11y-ai-powered-observability-assistant-api.md) - [All operations](https://skmtc.dev/consensys/apis/ask-o11y-ai-powered-observability-assistant-api/llms.txt) - [OpenAPI document](https://skmtc.dev/consensys/apis/ask-o11y-ai-powered-observability-assistant-api/revisions/ee3ccd0f186d?raw)
