Skip to content
POST /connection/{id}/refresh-tools

Lists the tools the remote MCP server shows THIS connection (with its own credential) again, now, and applies the result to the connector’s registry; a tool new to it is usable at once. A remote MCP connection also refreshes when it becomes active and once a day; this is the on-demand one. No body. Same mutation bar as reconnect (`can_manage`); render controls on the connection’s `can_refresh_tools`, which is present only on a remote MCP connection. Rate limited to one per connection per minute: `429` with `Retry-After`. The `200` carries the diff as tool NAMES (`summary.added`, `changed`, `removed`, `tier_changed`, and `tier_changes` with each tier's direction), never definitions. `403` `connector_not_shared` when the connector's owner stopped sharing it; `409`: `not_remote_mcp`, `not_refreshable` (not active or not bound), `needs_reauth` (the server rejected the credential; the connection is moved to `needs_reauth`), or `tools_refresh_failed` (the message is safe to show and is also on the row as `tools_refresh_error`).

Path Parameters

idstring
required·

Connection id (conn_…).

Response Body

summaryobject
required
addedstring[]

Names new to the connector’s registry.

changedstring[]

Names whose definition changed.

removedstring[]

Names this connection stopped listing.

tier_changedstring[]

Names whose tier on this connection's own definition changed, in either direction.

tier_changesobject[]

The tier_changed tools with the direction each moved (from this connection's previous definition's tier, to its new one's).

3 properties
fromstring
Possible values:
readwritedestructive
namestring
tostring
Possible values:
readwritedestructive
listedinteger

Tools this connection lists now.

tools_refresh_errorstring
tools_refreshed_atstring · date-time
curl -X POST 'https://api.elaichi.ai/connection/<id>/refresh-tools' \
  -H 'Authorization: Bearer $ELAICHI_API_TOKEN' \
  -H 'Content-Type: application/json'
const response = await fetch('https://api.elaichi.ai/connection/<id>/refresh-tools', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer ' + process.env.ELAICHI_API_TOKEN,
    'Content-Type': 'application/json',
  },
});

const data = await response.json();
console.log(data);
import os
import requests

url = "https://api.elaichi.ai/connection/<id>/refresh-tools"
headers = {
    "Authorization": f"Bearer {os.environ['ELAICHI_API_TOKEN']}",
    "Content-Type": "application/json",
}

response = requests.post(url, headers=headers)
print(response.json())