curl --request GET \
--url https://{controlPlaneURL}/api/svc/v1/mcp \
--header 'Authorization: Bearer <token>'import requests
url = "https://{controlPlaneURL}/api/svc/v1/mcp"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{controlPlaneURL}/api/svc/v1/mcp', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{controlPlaneURL}/api/svc/v1/mcp",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{controlPlaneURL}/api/svc/v1/mcp"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{controlPlaneURL}/api/svc/v1/mcp")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{controlPlaneURL}/api/svc/v1/mcp")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"fqn": "my-tenant:mcp-server:filesystem-tools",
"tenantName": "<string>",
"manifest": {
"type": "mcp-server/remote",
"name": "<string>",
"description": "<string>",
"url": "<string>",
"display_name": "<string>",
"tls_settings": {
"reject_unauthorized": true,
"ca_cert": "<string>"
},
"tool_settings": [
{
"name": "<string>",
"description": "<string>",
"disabled": true,
"annotations": {
"readOnlyHint": true,
"destructiveHint": true
}
}
],
"tool_policy": {
"enable_tools_by_default": true,
"disabled_tools": [
"<string>"
],
"enabled_tools": [
"<string>"
]
},
"tool_metadata": {},
"auth_data": {
"type": "header",
"headers": {},
"auth_level": "global"
},
"collaborators": [
{
"subject": "<string>",
"role_id": "<string>"
}
],
"ownedBy": {
"account": "<string>"
},
"additional_headers": {},
"tags": {}
},
"createdBySubject": {
"subjectId": "<string>",
"subjectType": "user",
"subjectSlug": "<string>",
"subjectDisplayName": "<string>",
"subjectPatName": "<string>",
"subjectControllerName": "<string>",
"subjectExternalIdentitySlug": "<string>"
},
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"proxyUrl": "<string>",
"isAuthOverrideSupported": true,
"authStatus": {
"status": "authenticated",
"method": "oauth"
}
}
],
"pagination": {
"total": 100,
"offset": 0,
"limit": 10
}
}List MCP servers
Returns a paginated list of MCP servers in the caller’s tenant.
curl --request GET \
--url https://{controlPlaneURL}/api/svc/v1/mcp \
--header 'Authorization: Bearer <token>'import requests
url = "https://{controlPlaneURL}/api/svc/v1/mcp"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{controlPlaneURL}/api/svc/v1/mcp', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{controlPlaneURL}/api/svc/v1/mcp",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{controlPlaneURL}/api/svc/v1/mcp"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{controlPlaneURL}/api/svc/v1/mcp")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{controlPlaneURL}/api/svc/v1/mcp")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"fqn": "my-tenant:mcp-server:filesystem-tools",
"tenantName": "<string>",
"manifest": {
"type": "mcp-server/remote",
"name": "<string>",
"description": "<string>",
"url": "<string>",
"display_name": "<string>",
"tls_settings": {
"reject_unauthorized": true,
"ca_cert": "<string>"
},
"tool_settings": [
{
"name": "<string>",
"description": "<string>",
"disabled": true,
"annotations": {
"readOnlyHint": true,
"destructiveHint": true
}
}
],
"tool_policy": {
"enable_tools_by_default": true,
"disabled_tools": [
"<string>"
],
"enabled_tools": [
"<string>"
]
},
"tool_metadata": {},
"auth_data": {
"type": "header",
"headers": {},
"auth_level": "global"
},
"collaborators": [
{
"subject": "<string>",
"role_id": "<string>"
}
],
"ownedBy": {
"account": "<string>"
},
"additional_headers": {},
"tags": {}
},
"createdBySubject": {
"subjectId": "<string>",
"subjectType": "user",
"subjectSlug": "<string>",
"subjectDisplayName": "<string>",
"subjectPatName": "<string>",
"subjectControllerName": "<string>",
"subjectExternalIdentitySlug": "<string>"
},
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"proxyUrl": "<string>",
"isAuthOverrideSupported": true,
"authStatus": {
"status": "authenticated",
"method": "oauth"
}
}
],
"pagination": {
"total": 100,
"offset": 0,
"limit": 10
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Number of items per page
1 <= x <= 100010
Number of items to skip
x >= 00
JSON string: structured filter tree (AND/OR groups, column leaves on name, json_map leaves on manifest keys such as type).
"{\"op\":\"AND\",\"value\":[{\"column\":\"name\",\"op\":\"eq\",\"value\":\"my-server\"}]}"
Comma-separated list of attributes to return (e.g. id,name). When provided, only the specified fields are fetched. id is always included.
"id,name,manifest"
Attribute to sort by. Defaults to createdAt.
name, createdAt Sorting order. Defaults to desc.
asc, desc Comma-separated connection states to keep. connected covers servers that are authenticated or need no authentication, connection_required covers servers awaiting authentication. Servers with no resolved status count as connected. Cannot be combined with attributes.
connected, connection_required Comma-separated source server names. Keeps only virtual MCP servers declaring at least one of these sources. Cannot be combined with attributes.
"github,slack"
Was this page helpful?