# Set or clear the person's risk label for one tool of their custom MCP server.

Source: <https://everruns.com/docs/api/operations/set_user_mcp_tool_label/>

PUT

/v1/virtual-users/{identity\_id}/mcp-servers/{server\_id}/tools/{tool\_name}/label

Select code samplecURL (shell:curl)

```js
const url = 'https://app.everruns.com/api/v1/virtual-users/example/mcp-servers/example/tools/example/label';
const options = {
  method: 'PUT',
  headers: {'Content-Type': 'application/json'},
  body: '{"label":"read_only"}'
};


try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```sh
curl --request PUT \
  --url https://app.everruns.com/api/v1/virtual-users/example/mcp-servers/example/tools/example/label \
  --header 'Content-Type: application/json' \
  --data '{ "label": "read_only" }'
```

* Production APIapp.everruns.com/api/v1/virtual-users/{identity\_id}/mcp-servers/{server\_id}/tools/{tool\_name}/label

## Parameters

### Path Parameters

**identity\_id**

required

string

`me` or a virtual user id

**server\_id**

required

string

**tool\_name**

required

string

## Request Bodyrequired

Media typeapplication/json

Set or clear the person’s risk label for one tool.

object

**label**

One of:

* string

  `read_only` never asks for approval in the normal mode, `changes` always asks. Null clears the label.

  string

  Allowed values: read\_only changes

* null

  null

## Responses

### 200

Success

Media typeapplication/json

One tool an MCP server offers, with its saved risk label.

object

**annotations**

One of:

* object

  Hints the server declares about the tool (read-only, destructive, …).

  object

  **destructiveHint**

  boolean | null

  **idempotentHint**

  boolean | null

  **openWorldHint**

  boolean | null

  **readOnlyHint**

  boolean | null

* null

  null

**description**

What the tool does, as the server describes it.

string | null

**label**

One of:

* string

  Risk label a person set. It wins over the annotations; null means none.

  string

  Allowed values: read\_only changes

* null

  null

**name**

required

The tool’s own name on the MCP server.

string

**suggested\_label**

One of:

* string

  Suggested label waiting for a person to confirm. Never applied by itself.

  string

  Allowed values: read\_only changes

* null

  null

**title**

Human-readable title the server gives the tool.

string | null

##### Example

```json
{
  "label": "read_only",
  "name": "search_docs",
  "suggested_label": "read_only"
}
```

### 400

Server was added from the catalog

### 401

Authentication required

### 403

Permission denied

### 404

Server or tool not found