# List the tools an MCP server offers, with each tool's annotations and saved risk label.

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

GET

/v1/mcp-servers/{id}/tools

Select code samplecURL (shell:curl)

```js
const url = 'https://app.everruns.com/api/v1/mcp-servers/example/tools';
const options = {method: 'GET'};


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

```sh
curl --request GET \
  --url https://app.everruns.com/api/v1/mcp-servers/example/tools
```

* Production APIapp.everruns.com/api/v1/mcp-servers/{id}/tools

## Parameters

### Path Parameters

**id**

required

string

Prefixed public identifier

## Responses

### 200

Success

Media typeapplication/json

Array\<object>

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"
  }
]
```

### 404

MCP server not found