---
title: "Approve tools"
method: POST
path: "/client/mcp/tools/approve"
tags: ["Tool gateway"]
---

# Approve tools

`POST /client/mcp/tools/approve`

## Request

- Base URL: `https://api.roar-ai.com`
- URL: `https://api.roar-ai.com/client/mcp/tools/approve`
- Auth: HTTP bearer

Approves each tool AT THE DEFINITION YOU WERE SHOWN: send the `definitionHash` from `GET /client/mcp/tools`. If any changed since, nothing is approved (409). Re-approving a changed tool that now says it only reads takes an owner or admin signed in to the console (403 for a key). Owner or admin, or a key with `mcp:write`.

## Request body

- ApproveMcpToolsRequest
  - `tools` object[], required
    - `id` string, uuid, required
    - `definitionHash` string, required: As `GET /client/mcp/tools` showed it

## Response `200`

How many were approved

- McpApproveResult
  - `approved` integer, required

## Other responses

- `404`: No such tool
- `409`: A tool changed since you read it

---

[API](https://skmtc.dev/roar-ai/apis/roar-ai-api.md) · [All operations](https://skmtc.dev/roar-ai/apis/roar-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/roar-ai/apis/roar-ai-api/revisions/37e4d0d5a7fe?raw)
