List MCP Tool Logs
curl --request POST \
--url https://app.superleap.com/api/v1/org/tool/mcp/logs/list/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"pointer": "<string>"
}
'import requests
url = "https://app.superleap.com/api/v1/org/tool/mcp/logs/list/"
payload = { "pointer": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({pointer: '<string>'})
};
fetch('https://app.superleap.com/api/v1/org/tool/mcp/logs/list/', 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://app.superleap.com/api/v1/org/tool/mcp/logs/list/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'pointer' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.superleap.com/api/v1/org/tool/mcp/logs/list/"
payload := strings.NewReader("{\n \"pointer\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.superleap.com/api/v1/org/tool/mcp/logs/list/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"pointer\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.superleap.com/api/v1/org/tool/mcp/logs/list/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"pointer\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"logs": [
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"user_id": "xxxxxx_xxxxxxxxxxx",
"tool_name": "list_objects",
"input_params": {
"limit": 10,
"query": ["interested"],
"offset": 0
},
"response_time": 293,
"response_code": 200,
"tool_call_timestamp": 1778069821184
},
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"user_id": "xxxxxx_xxxxxxxxxxx",
"tool_name": "execute_query",
"input_params": {
"query": "SELECT id, name FROM lead ORDER BY created_at DESC LIMIT 10",
"object_slug": "lead"
},
"response_time": 211,
"response_code": 200,
"tool_call_timestamp": 1778057347278
}
],
"next": "eyJ0b29sX2NhbGxfdGltZXN0YW1wIjoxNzc3Mjc4NDk5Njc0LCJpZCI6IjdjNzVmODMzLTE0MDEtNDhmNC1hMDJjLTMxZmNiMGYyZWMxMCIsIm51bWJlcl9vZl9yZWNvcmRzIjo5NX0="
}
}
MCP APIs
List MCP Tool Logs
Returns paginated MCP tool call logs for the authenticated org.
POST
/
api
/
v1
/
org
/
tool
/
mcp
/
logs
/
list
/
List MCP Tool Logs
curl --request POST \
--url https://app.superleap.com/api/v1/org/tool/mcp/logs/list/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"pointer": "<string>"
}
'import requests
url = "https://app.superleap.com/api/v1/org/tool/mcp/logs/list/"
payload = { "pointer": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({pointer: '<string>'})
};
fetch('https://app.superleap.com/api/v1/org/tool/mcp/logs/list/', 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://app.superleap.com/api/v1/org/tool/mcp/logs/list/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'pointer' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.superleap.com/api/v1/org/tool/mcp/logs/list/"
payload := strings.NewReader("{\n \"pointer\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.superleap.com/api/v1/org/tool/mcp/logs/list/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"pointer\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.superleap.com/api/v1/org/tool/mcp/logs/list/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"pointer\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"logs": [
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"user_id": "xxxxxx_xxxxxxxxxxx",
"tool_name": "list_objects",
"input_params": {
"limit": 10,
"query": ["interested"],
"offset": 0
},
"response_time": 293,
"response_code": 200,
"tool_call_timestamp": 1778069821184
},
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"user_id": "xxxxxx_xxxxxxxxxxx",
"tool_name": "execute_query",
"input_params": {
"query": "SELECT id, name FROM lead ORDER BY created_at DESC LIMIT 10",
"object_slug": "lead"
},
"response_time": 211,
"response_code": 200,
"tool_call_timestamp": 1778057347278
}
],
"next": "eyJ0b29sX2NhbGxfdGltZXN0YW1wIjoxNzc3Mjc4NDk5Njc0LCJpZCI6IjdjNzVmODMzLTE0MDEtNDhmNC1hMDJjLTMxZmNiMGYyZWMxMCIsIm51bWJlcl9vZl9yZWNvcmRzIjo5NX0="
}
}
Overview
Superadmin access only. This endpoint is restricted to users with the Superadmin role. Other users will receive a permission error even with a valid Bearer token.
Authentication
Bearer token (org-scoped via OAuth2).Request Body
string
Base64-encoded pagination cursor. Pass the value of
data.next from the previous response exactly as received. Omit on the first request.Response
boolean
true when the request succeeds.object
Show data fields
Show data fields
array
List of MCP tool call log records, ordered by
tool_call_timestamp DESC, id DESC.Show log fields
Show log fields
string
UUID identifying the log entry.
string
User who triggered the tool call.
string
Name of the MCP tool invoked.
object
Parameters passed to the tool.
number
Time taken to respond in milliseconds.
number
HTTP response code returned by the tool.
number
Unix timestamp in milliseconds when the tool was called.
string | null
Base64-encoded cursor for the next page. Pass this back as
pointer in the next request. null means no more records.Pagination
Cursor-based. Treatpointer as opaque — pass the base64 string back exactly as received from data.next, do not decode or construct it manually.
| Page | Server fetch limit |
|---|---|
| 1 (no pointer) | 200 |
| 2 | prev number_of_records + 200 |
| N | capped at 3000 |
Examples
POST /api/v1/org/tool/mcp/logs/list/
Authorization: Bearer <token>
{}
POST /api/v1/org/tool/mcp/logs/list/
Authorization: Bearer <token>
{
"pointer": "eyJ0b29sX2NhbGxfdGltZXN0YW1wIjoxNzc3Mjc4NDk5Njc0LCJpZCI6IjdjNzVmODMzLTE0MDEtNDhmNC1hMDJjLTMxZmNiMGYyZWMxMCIsIm51bWJlcl9vZl9yZWNvcmRzIjo5NX0="
}
{
"success": true,
"data": {
"logs": [
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"user_id": "xxxxxx_xxxxxxxxxxx",
"tool_name": "list_objects",
"input_params": {
"limit": 10,
"query": ["interested"],
"offset": 0
},
"response_time": 293,
"response_code": 200,
"tool_call_timestamp": 1778069821184
},
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"user_id": "xxxxxx_xxxxxxxxxxx",
"tool_name": "execute_query",
"input_params": {
"query": "SELECT id, name FROM lead ORDER BY created_at DESC LIMIT 10",
"object_slug": "lead"
},
"response_time": 211,
"response_code": 200,
"tool_call_timestamp": 1778057347278
}
],
"next": "eyJ0b29sX2NhbGxfdGltZXN0YW1wIjoxNzc3Mjc4NDk5Njc0LCJpZCI6IjdjNzVmODMzLTE0MDEtNDhmNC1hMDJjLTMxZmNiMGYyZWMxMCIsIm51bWJlcl9vZl9yZWNvcmRzIjo5NX0="
}
}
⌘I