List tools
Every tool this organization has wired up, switched on or not, with the endpoint answering each. GET /conversations/{id}/tools is the same list narrowed to what one thread could reach; this is the settings page’s view.
GET
/toolsAuthorization
AuthorizationBearer token · headerrequired`MEDIAN_KEY` from Settings under API, or an MCP OAuth access token. A key acts as the organization; a token acts as the person who approved it.
Responses
200The tools.
toolsTool[]Show propertiesHide properties
Array of
ToolnamestringdescriptionstringriskstringAllowed:
lowmediumreviewedhighenabledbooleanendpointIdstringendpointUrlstringendpointStatusstringendpointErrorstring | nullinputSchemastringThe arguments it takes, as a serialized JSON Schema.
401The bearer token is missing, revoked, or expired.
errorobjectShow propertiesHide properties
codestringmessagestring429Too many requests. Wait the seconds in `Retry-After`. Limits depend on the plan. See [rate limits](/api/errors-and-limits#rate-limits).
errorobjectShow propertiesHide properties
codestringmessagestringRequest
curl -X GET "https://api.median.sh/v1/tools" \
-H "Authorization: Bearer YOUR_TOKEN"const response = await fetch("https://api.median.sh/v1/tools", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_TOKEN"
}
});Response
{
"tools": [
{
"name": "string",
"description": "string",
"risk": "low",
"enabled": true,
"endpointId": "string",
"endpointUrl": "string",
"endpointStatus": "string",
"endpointError": "string",
"inputSchema": "string"
}
]
}{
"error": {
"code": "string",
"message": "string"
}
}{
"error": {
"code": "string",
"message": "string"
}
}