curl --request POST \
--url https://yoursite.com/wp-json/getmcp/v1/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/5376af81-6bb8-4b01-800c-508d7672e394/duplicate \
--header 'Authorization: Bearer gmcp_your_api_key'
import requests
response = requests.post(
"https://yoursite.com/wp-json/getmcp/v1/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/5376af81-6bb8-4b01-800c-508d7672e394/duplicate",
headers={"Authorization": "Bearer gmcp_your_api_key"}
)
print(response.json())
const response = await fetch(
"https://yoursite.com/wp-json/getmcp/v1/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/5376af81-6bb8-4b01-800c-508d7672e394/duplicate",
{
method: "POST",
headers: { "Authorization": "Bearer gmcp_your_api_key" }
}
);
const data = await response.json();
$response = wp_remote_post(
"https://yoursite.com/wp-json/getmcp/v1/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/5376af81-6bb8-4b01-800c-508d7672e394/duplicate",
["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("POST", "https://yoursite.com/wp-json/getmcp/v1/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/5376af81-6bb8-4b01-800c-508d7672e394/duplicate", nil)
req.Header.Set("Authorization", "Bearer gmcp_your_api_key")
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/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/5376af81-6bb8-4b01-800c-508d7672e394/duplicate"))
.header("Authorization", "Bearer gmcp_your_api_key")
.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/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/5376af81-6bb8-4b01-800c-508d7672e394/duplicate')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == 'https'
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer gmcp_your_api_key'
response = http.request(request)
puts JSON.parse(response.body)
{
"id": 9,
"uuid": "b8c4d2e1-3f6a-7b8c-9d0e-1f2a3b4c5d6e",
"server_id": 1,
"name": "create_customer (copy)",
"description": "Create a new customer in Stripe",
"endpoint_url": "https://api.stripe.com/v1/customers",
"http_method": "POST",
"input_schema": {
"type": "object",
"properties": {
"email": {"type": "string"},
"name": {"type": "string"}
},
"required": ["email"]
},
"parameter_mapping": {
"email": {"target": "body", "key": "email"},
"name": {"target": "body", "key": "name"}
},
"response_mapping": {
"selector": "",
"format": "json",
"template": ""
},
"headers": null,
"cache_ttl": 0,
"timeout": 30,
"rate_limit_per_min": 60,
"retry_count": 0,
"retry_backoff": "exponential",
"sort_order": 99,
"status": "active",
"tags": [],
"last_tested_at": null,
"last_test_response_ms": null,
"server_uuid": "836995ae-1cff-41ec-823e-a4f07ccca3a0",
"server_hex": "a1b2c3d4e5f6a1b2",
"created_at": "2025-03-18T13:00:00Z",
"updated_at": "2025-03-18T13:00:00Z"
}
{
"code": "getmcp_not_found",
"message": "Tool not found.",
"data": { "status": 404 }
}
{
"code": "getmcp_duplicate_failed",
"message": "Failed to duplicate tool.",
"data": { "status": 500 }
}
Tools
Duplicate Tool
Create an exact copy of an existing tool within the same server.
POST
/
wp-json
/
getmcp
/
v1
/
servers
/
{server_id}
/
tools
/
{id}
/
duplicate
curl --request POST \
--url https://yoursite.com/wp-json/getmcp/v1/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/5376af81-6bb8-4b01-800c-508d7672e394/duplicate \
--header 'Authorization: Bearer gmcp_your_api_key'
import requests
response = requests.post(
"https://yoursite.com/wp-json/getmcp/v1/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/5376af81-6bb8-4b01-800c-508d7672e394/duplicate",
headers={"Authorization": "Bearer gmcp_your_api_key"}
)
print(response.json())
const response = await fetch(
"https://yoursite.com/wp-json/getmcp/v1/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/5376af81-6bb8-4b01-800c-508d7672e394/duplicate",
{
method: "POST",
headers: { "Authorization": "Bearer gmcp_your_api_key" }
}
);
const data = await response.json();
$response = wp_remote_post(
"https://yoursite.com/wp-json/getmcp/v1/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/5376af81-6bb8-4b01-800c-508d7672e394/duplicate",
["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("POST", "https://yoursite.com/wp-json/getmcp/v1/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/5376af81-6bb8-4b01-800c-508d7672e394/duplicate", nil)
req.Header.Set("Authorization", "Bearer gmcp_your_api_key")
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/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/5376af81-6bb8-4b01-800c-508d7672e394/duplicate"))
.header("Authorization", "Bearer gmcp_your_api_key")
.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/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/5376af81-6bb8-4b01-800c-508d7672e394/duplicate')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == 'https'
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer gmcp_your_api_key'
response = http.request(request)
puts JSON.parse(response.body)
{
"id": 9,
"uuid": "b8c4d2e1-3f6a-7b8c-9d0e-1f2a3b4c5d6e",
"server_id": 1,
"name": "create_customer (copy)",
"description": "Create a new customer in Stripe",
"endpoint_url": "https://api.stripe.com/v1/customers",
"http_method": "POST",
"input_schema": {
"type": "object",
"properties": {
"email": {"type": "string"},
"name": {"type": "string"}
},
"required": ["email"]
},
"parameter_mapping": {
"email": {"target": "body", "key": "email"},
"name": {"target": "body", "key": "name"}
},
"response_mapping": {
"selector": "",
"format": "json",
"template": ""
},
"headers": null,
"cache_ttl": 0,
"timeout": 30,
"rate_limit_per_min": 60,
"retry_count": 0,
"retry_backoff": "exponential",
"sort_order": 99,
"status": "active",
"tags": [],
"last_tested_at": null,
"last_test_response_ms": null,
"server_uuid": "836995ae-1cff-41ec-823e-a4f07ccca3a0",
"server_hex": "a1b2c3d4e5f6a1b2",
"created_at": "2025-03-18T13:00:00Z",
"updated_at": "2025-03-18T13:00:00Z"
}
{
"code": "getmcp_not_found",
"message": "Tool not found.",
"data": { "status": 404 }
}
{
"code": "getmcp_duplicate_failed",
"message": "Failed to duplicate tool.",
"data": { "status": 500 }
}
Creates a copy of the tool with the same configuration. The duplicated tool gets a new ID and its name is appended with
(copy).
Path Parameters
string
required
The UUID of the server the tool belongs to (e.g.
836995ae-1cff-41ec-823e-a4f07ccca3a0). Numeric IDs are also accepted for backwards compatibility.string
required
The UUID of the tool to duplicate (e.g.
5376af81-6bb8-4b01-800c-508d7672e394). Numeric IDs are also accepted for backwards compatibility.curl --request POST \
--url https://yoursite.com/wp-json/getmcp/v1/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/5376af81-6bb8-4b01-800c-508d7672e394/duplicate \
--header 'Authorization: Bearer gmcp_your_api_key'
import requests
response = requests.post(
"https://yoursite.com/wp-json/getmcp/v1/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/5376af81-6bb8-4b01-800c-508d7672e394/duplicate",
headers={"Authorization": "Bearer gmcp_your_api_key"}
)
print(response.json())
const response = await fetch(
"https://yoursite.com/wp-json/getmcp/v1/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/5376af81-6bb8-4b01-800c-508d7672e394/duplicate",
{
method: "POST",
headers: { "Authorization": "Bearer gmcp_your_api_key" }
}
);
const data = await response.json();
$response = wp_remote_post(
"https://yoursite.com/wp-json/getmcp/v1/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/5376af81-6bb8-4b01-800c-508d7672e394/duplicate",
["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("POST", "https://yoursite.com/wp-json/getmcp/v1/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/5376af81-6bb8-4b01-800c-508d7672e394/duplicate", nil)
req.Header.Set("Authorization", "Bearer gmcp_your_api_key")
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/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/5376af81-6bb8-4b01-800c-508d7672e394/duplicate"))
.header("Authorization", "Bearer gmcp_your_api_key")
.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/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/5376af81-6bb8-4b01-800c-508d7672e394/duplicate')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == 'https'
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer gmcp_your_api_key'
response = http.request(request)
puts JSON.parse(response.body)
{
"id": 9,
"uuid": "b8c4d2e1-3f6a-7b8c-9d0e-1f2a3b4c5d6e",
"server_id": 1,
"name": "create_customer (copy)",
"description": "Create a new customer in Stripe",
"endpoint_url": "https://api.stripe.com/v1/customers",
"http_method": "POST",
"input_schema": {
"type": "object",
"properties": {
"email": {"type": "string"},
"name": {"type": "string"}
},
"required": ["email"]
},
"parameter_mapping": {
"email": {"target": "body", "key": "email"},
"name": {"target": "body", "key": "name"}
},
"response_mapping": {
"selector": "",
"format": "json",
"template": ""
},
"headers": null,
"cache_ttl": 0,
"timeout": 30,
"rate_limit_per_min": 60,
"retry_count": 0,
"retry_backoff": "exponential",
"sort_order": 99,
"status": "active",
"tags": [],
"last_tested_at": null,
"last_test_response_ms": null,
"server_uuid": "836995ae-1cff-41ec-823e-a4f07ccca3a0",
"server_hex": "a1b2c3d4e5f6a1b2",
"created_at": "2025-03-18T13:00:00Z",
"updated_at": "2025-03-18T13:00:00Z"
}
{
"code": "getmcp_not_found",
"message": "Tool not found.",
"data": { "status": 404 }
}
{
"code": "getmcp_duplicate_failed",
"message": "Failed to duplicate tool.",
"data": { "status": 500 }
}
⌘I

