curl --request GET \
--url https://yoursite.com/wp-json/getmcp/v1/analytics/daily?days=7&server_id=1 \
--header 'Authorization: Bearer gmcp_your_api_key'
import requests
response = requests.get(
"https://yoursite.com/wp-json/getmcp/v1/analytics/daily",
headers={"Authorization": "Bearer gmcp_your_api_key"},
params={"days": 30, "server_id": 1}
)
print(response.json())
const response = await fetch(
"https://yoursite.com/wp-json/getmcp/v1/analytics/daily?days=90&server_id=1",
{
headers: { "Authorization": "Bearer gmcp_your_api_key" }
}
);
const data = await response.json();
$response = wp_remote_get(
"https://yoursite.com/wp-json/getmcp/v1/analytics/daily?days=7&server_id=1",
["headers" => ["Authorization" => "Bearer gmcp_your_api_key"]]
);
$data = json_decode(wp_remote_retrieve_body($response), true);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://yoursite.com/wp-json/getmcp/v1/analytics/daily?days=7&server_id=1", nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
data, _ := io.ReadAll(resp.Body)
fmt.Println(string(data))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://yoursite.com/wp-json/getmcp/v1/analytics/daily?days=7&server_id=1"))
.GET()
.build();
HttpClient client = HttpClient.newHttpClient();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
require 'net/http'
require 'json'
require 'uri'
uri = URI('https://yoursite.com/wp-json/getmcp/v1/analytics/daily?days=7&server_id=1')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == 'https'
request = Net::HTTP::Get.new(uri)
response = http.request(request)
puts JSON.parse(response.body)
[
{
"date": "2025-03-12",
"total_calls": 312,
"successful_calls": 305,
"failed_calls": 7,
"avg_response_time_ms": 298,
"unique_clients": 4,
"top_tools": "{\"get_weather\":180,\"get_forecast\":132}"
},
{
"date": "2025-03-13",
"total_calls": 428,
"successful_calls": 421,
"failed_calls": 7,
"avg_response_time_ms": 312,
"unique_clients": 6,
"top_tools": "{\"get_weather\":250,\"get_forecast\":178}"
}
]
Analytics
Daily Analytics
Retrieve aggregated daily analytics data for charting and reporting.
GET
/
wp-json
/
getmcp
/
v1
/
analytics
/
daily
curl --request GET \
--url https://yoursite.com/wp-json/getmcp/v1/analytics/daily?days=7&server_id=1 \
--header 'Authorization: Bearer gmcp_your_api_key'
import requests
response = requests.get(
"https://yoursite.com/wp-json/getmcp/v1/analytics/daily",
headers={"Authorization": "Bearer gmcp_your_api_key"},
params={"days": 30, "server_id": 1}
)
print(response.json())
const response = await fetch(
"https://yoursite.com/wp-json/getmcp/v1/analytics/daily?days=90&server_id=1",
{
headers: { "Authorization": "Bearer gmcp_your_api_key" }
}
);
const data = await response.json();
$response = wp_remote_get(
"https://yoursite.com/wp-json/getmcp/v1/analytics/daily?days=7&server_id=1",
["headers" => ["Authorization" => "Bearer gmcp_your_api_key"]]
);
$data = json_decode(wp_remote_retrieve_body($response), true);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://yoursite.com/wp-json/getmcp/v1/analytics/daily?days=7&server_id=1", nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
data, _ := io.ReadAll(resp.Body)
fmt.Println(string(data))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://yoursite.com/wp-json/getmcp/v1/analytics/daily?days=7&server_id=1"))
.GET()
.build();
HttpClient client = HttpClient.newHttpClient();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
require 'net/http'
require 'json'
require 'uri'
uri = URI('https://yoursite.com/wp-json/getmcp/v1/analytics/daily?days=7&server_id=1')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == 'https'
request = Net::HTTP::Get.new(uri)
response = http.request(request)
puts JSON.parse(response.body)
[
{
"date": "2025-03-12",
"total_calls": 312,
"successful_calls": 305,
"failed_calls": 7,
"avg_response_time_ms": 298,
"unique_clients": 4,
"top_tools": "{\"get_weather\":180,\"get_forecast\":132}"
},
{
"date": "2025-03-13",
"total_calls": 428,
"successful_calls": 421,
"failed_calls": 7,
"avg_response_time_ms": 312,
"unique_clients": 6,
"top_tools": "{\"get_weather\":250,\"get_forecast\":178}"
}
]
Returns per-day aggregated metrics including call counts, success rates, response times, and top tools.
Query Parameters
integer
default:"0"
Filter by server ID. Use 0 for all servers.
integer
default:"30"
Number of days to look back (used when
from is not provided).string
Start date for the range. Format:
YYYY-MM-DD. Overrides days if provided.string
End date for the range. Format:
YYYY-MM-DD.curl --request GET \
--url https://yoursite.com/wp-json/getmcp/v1/analytics/daily?days=7&server_id=1 \
--header 'Authorization: Bearer gmcp_your_api_key'
import requests
response = requests.get(
"https://yoursite.com/wp-json/getmcp/v1/analytics/daily",
headers={"Authorization": "Bearer gmcp_your_api_key"},
params={"days": 30, "server_id": 1}
)
print(response.json())
const response = await fetch(
"https://yoursite.com/wp-json/getmcp/v1/analytics/daily?days=90&server_id=1",
{
headers: { "Authorization": "Bearer gmcp_your_api_key" }
}
);
const data = await response.json();
$response = wp_remote_get(
"https://yoursite.com/wp-json/getmcp/v1/analytics/daily?days=7&server_id=1",
["headers" => ["Authorization" => "Bearer gmcp_your_api_key"]]
);
$data = json_decode(wp_remote_retrieve_body($response), true);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://yoursite.com/wp-json/getmcp/v1/analytics/daily?days=7&server_id=1", nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
data, _ := io.ReadAll(resp.Body)
fmt.Println(string(data))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://yoursite.com/wp-json/getmcp/v1/analytics/daily?days=7&server_id=1"))
.GET()
.build();
HttpClient client = HttpClient.newHttpClient();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
require 'net/http'
require 'json'
require 'uri'
uri = URI('https://yoursite.com/wp-json/getmcp/v1/analytics/daily?days=7&server_id=1')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == 'https'
request = Net::HTTP::Get.new(uri)
response = http.request(request)
puts JSON.parse(response.body)
[
{
"date": "2025-03-12",
"total_calls": 312,
"successful_calls": 305,
"failed_calls": 7,
"avg_response_time_ms": 298,
"unique_clients": 4,
"top_tools": "{\"get_weather\":180,\"get_forecast\":132}"
},
{
"date": "2025-03-13",
"total_calls": 428,
"successful_calls": 421,
"failed_calls": 7,
"avg_response_time_ms": 312,
"unique_clients": 6,
"top_tools": "{\"get_weather\":250,\"get_forecast\":178}"
}
]
Response Fields
string
Date in
YYYY-MM-DD format.integer
Total tool calls on this date.
integer
Number of calls with
success status.integer
Number of calls with non-success status.
integer
Average response time in milliseconds.
integer
Number of distinct client IPs.
string
JSON-encoded object of
{"tool_name": call_count} for the top 10 tools, or null if no tool calls.⌘I

