---
title: "List a remote MCP connector's tool registry"
method: GET
path: "/connector/{slug}/tool"
tags: ["Custom connectors"]
---

# List a remote MCP connector's tool registry

`GET /connector/{slug}/tool`

## Request

- Base URL: `https://api.elaichi.ai`
- URL: `https://api.elaichi.ai/connector/{slug}/tool`
- Auth: HTTP bearer

Lists the tool registry the organization keeps for one of its own remote MCP connectors: one row per tool name, decided once for every connection of the connector. A tool the server offers is usable at once. Rows carry `status` (`active`, or `disabled` when a manager turned it off), `tier` (derived from the server's annotations and following the server on every refresh), `tier_source` (`server` when the server's annotations decided the tier; `default` when the server sent no `readOnlyHint: true` and no boolean `destructiveHint`, so the safe default `destructive` applies), the full `description` of the latest definition (at most 64,000 characters), `connection_count` (connections that list it now) and `can_manage` (whether the caller may `PATCH` it). A caller with only `use` access sees just the `active` tools, whatever `status` they ask for. Paged by name; `q` is a case-insensitive substring of the name, upstream name, title or description (a space also matches `_`), and `status`, `tier` (one or several) and `labeled` filter too, all before paging. When `q`, `tier` or `labeled` narrows the list, the first page (no `cursor`) also carries `match_count`, the count of every tool matching those filters, to show "N of M tools" beside the detail's `remote_mcp.listed_tool_count` (the unfiltered count). Needs `use` access or better on the connector (a `view` grant answers 403; no access, or a connector with no remote MCP server, answers 404) and the `custom_connectors` plan feature. For the catalog capability listing, use `GET /connector/{slug}/tools` instead.

## Path parameters

- `slug` string, required

## Query parameters

- `limit` integer
- `cursor` string
- `q` string
- `status` 'active' | 'disabled'
- `tier` string[]
- `labeled` 'true' | 'false'

## Headers

- `X-Organization-Id` string

## Response `200`

OK

- object
  - `result` object[], required
  - `next_cursor` string, nullable, required
  - `prev_cursor` string, nullable, required
  - `match_count` integer: How many tools match this request's `q` / `tier` / `labeled` (and the caller's `status`), counted on the server. Only on a first page of a narrowed list; absent otherwise.

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `429`: Rate limited

---

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