List egress IPs
curl --request GET \
--url https://tracks.alpic.ai/api/egress-ipsimport requests
url = "https://tracks.alpic.ai/api/egress-ips"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://tracks.alpic.ai/api/egress-ips', 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://tracks.alpic.ai/api/egress-ips",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://tracks.alpic.ai/api/egress-ips"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://tracks.alpic.ai/api/egress-ips")
.asString();require 'uri'
require 'net/http'
url = URI("https://tracks.alpic.ai/api/egress-ips")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"ips": [
"<string>"
]
}System
List egress IPs
The fixed addresses we call MCP servers and their authorization servers from. Allow them on an MCP server that only accepts known addresses. Commands the agent runs in its sandbox, such as cloning the repository, come from other addresses. No key required.
GET
/
egress-ips
List egress IPs
curl --request GET \
--url https://tracks.alpic.ai/api/egress-ipsimport requests
url = "https://tracks.alpic.ai/api/egress-ips"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://tracks.alpic.ai/api/egress-ips', 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://tracks.alpic.ai/api/egress-ips",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://tracks.alpic.ai/api/egress-ips"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://tracks.alpic.ai/api/egress-ips")
.asString();require 'uri'
require 'net/http'
url = URI("https://tracks.alpic.ai/api/egress-ips")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"ips": [
"<string>"
]
}Response
200 - application/json
EgressIps
IPv4 addresses, empty when the API runs locally.