> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://helpdesk.pluvo.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Connecting Pluvo to Microsoft Copilot Studio (MCP)

# Connecting Pluvo to Microsoft Copilot Studio (MCP)

With the Model Context Protocol (MCP), you connect your Pluvo academy to an agent in Microsoft Copilot Studio. Your agent can then perform Pluvo actions directly, such as creating questions or setting conditions. The connection uses OAuth 2.0 for secure access.

This article walks you through it step by step.

## What you need

* Access to **Microsoft Copilot Studio**
* The URL of your Pluvo academy — usually `https://[youracademy].pluvo.com`, or your own domain if your academy runs on that (e.g. `https://academy.yourcompany.com`). The examples below use `https://[youracademy].pluvo.com`; replace this everywhere with your own academy URL. The paths after it (`/mcp`, `/oauth/authorize/`, `/oauth/token/`, `/oauth/register/`) stay the same.
* A **Pluvo account** to log in with
* A terminal for one command (step 6)

---

|| The trick to registering only once: the unique **Redirect URL** only appears *after* you've saved the connection — but the Client ID and Client secret are required in order to save. So you first fill those in temporarily with `temp`, save, and *then* register the real client with the generated Redirect URL. This prevents a "redirect mismatch".

---

## Step 1: Create a new tool

In Copilot Studio, go to **Tools** on the left and click **+ New tool**.

![](https://storage.crisp.chat/users/helpdesk/website/-/e/f/b/2/efb20d00b64eb000/screenshot-2026-06-11-at-15043_u6awdt.png)

## Step 2: Choose Model Context Protocol + OAuth 2.0 (Manual)

Choose **Model Context Protocol**. In the dialog, set **Authentication** to **OAuth 2.0** and **Type** to **Manual**.

![](https://storage.crisp.chat/users/helpdesk/website/-/e/f/b/2/efb20d00b64eb000/screenshot-2026-06-11-at-15054_4dpgcn.png)

## Step 3: Fill in the fields

| Field | Value |
| ---- |
| Server name | Pluvo Staging (free to choose) |
| Server description | Pluvo MCP – staging environment (free to choose) |
| Server URL | `https://[youracademy].pluvo.com/mcp` ⚠️ no `/` at the end |
| Client ID | `temp` (temporary — step 7) |
| Client secret | `temp` (temporary) |
| Authorization URL | `https://[youracademy].pluvo.com/oauth/authorize/` |
| Token URL template | `https://[youracademy].pluvo.com/oauth/token/` |
| Refresh URL | `https://[youracademy].pluvo.com/oauth/token/` |
| Scopes | `mcp` |
| Redirect URL | leave empty — appears after saving |

|| **Note the slash at the end** of `/authorize/` and `/token/` — it is required. Wait until the message "Enter the complete server path to continue" disappears from the Server URL.

Then click **Create**.

![](https://storage.crisp.chat/users/helpdesk/website/-/e/f/b/2/efb20d00b64eb000/screenshot-2026-06-11-at-15100_a17cxe.png)

## Step 4: The connector is created

The connection now appears in your Tools list as a **Custom Connector** with status **Ready**.

![](https://storage.crisp.chat/users/helpdesk/website/-/e/f/b/2/efb20d00b64eb000/screenshot-2026-06-11-at-15103_1v9j10y.png)

## Step 5: Copy the Redirect URL

Open the connector (you'll land in the **custom connector editor**, **Security** tab). At the bottom you'll now find the generated **Redirect URL** with a unique tail. Click the copy icon and save it.

![](https://storage.crisp.chat/users/helpdesk/website/-/e/f/b/2/efb20d00b64eb000/screenshot-2026-06-11-at-15104_5o24f2.png)

## Step 6: Register the OAuth client (one time)

Register a client with Pluvo using exactly that Redirect URL. Run this in a terminal (replace `[youracademy]` with your academy name and paste your Redirect URL into `redirect_uris`):

```bash
curl -sS -X POST https://[youracademy].pluvo.com/oauth/register/ \
  -H 'Content-Type: application/json' \
  -d '{
    "client_name": "Copilot Studio MCP",
    "redirect_uris": ["PASTE-YOUR-REDIRECT-URL-HERE"],
    "grant_types": ["authorization_code","refresh_token"],
    "response_types": ["code"],
    "token_endpoint_auth_method": "client_secret_post",
    "scope": "mcp"
  }'
```

You'll get back a `client_id` and `client_secret`. Save these.

---

## Step 7: Fill in the real Client ID and secret

In the **Security** tab, replace the temporary `temp` values with the real **Client ID** and **Client secret** from step 6. Leave the rest (URLs + scope `mcp`) as they are. Click **Update connector** in the top right.

![](https://storage.crisp.chat/users/helpdesk/website/-/e/f/b/2/efb20d00b64eb000/screenshot-2026-06-11-at-15104_14c48mg.png)

## Step 8: Add the tool to your agent

Go back to Copilot Studio → **Agents** → open (or create) your agent → **Tools** tab → **Add a tool**. Search by name, optionally filter on **Model Context Protocol**, and choose **Pluvo Staging**.

![](https://storage.crisp.chat/users/helpdesk/website/-/e/f/b/2/efb20d00b64eb000/screenshot-2026-06-11-at-15141_9dcaq8.png)
![](https://storage.crisp.chat/users/helpdesk/website/-/e/f/b/2/efb20d00b64eb000/screenshot-2026-06-11-at-15144_1c9bpe.png)

## Step 9: Make the connection and log in

Under **Connection**, it first says "Not connected". Click **Create new connection**. A Pluvo window opens — click **Authorize** and log in with your Pluvo account. The connection then turns green.

![](https://storage.crisp.chat/users/helpdesk/website/-/e/f/b/2/efb20d00b64eb000/screenshot-2026-06-11-at-15145_icianz.png)

![](https://storage.crisp.chat/users/helpdesk/website/-/e/f/b/2/efb20d00b64eb000/screenshot-2026-06-11-at-15155_16rxvui.png)
![](https://storage.crisp.chat/users/helpdesk/website/-/e/f/b/2/efb20d00b64eb000/screenshot-2026-06-11-at-15160_yzv55c.png)

## Step 10: Done — the Pluvo tools appear 

The MCP server is connected. Under **Tools** you'll now see the available Pluvo actions (such as `get_conditions`, `set_conditions`, `create_question`, …). Test your agent with a prompt that uses a tool. 🎉

![](https://storage.crisp.chat/users/helpdesk/website/-/e/f/b/2/efb20d00b64eb000/screenshot-2026-06-11-at-15162_1agmss0.png)

| **Tip:** keep your `client_id` and `client_secret` safe. Want to revoke the connection? Then delete the connector and its associated OAuth client.