Update the tool policy for an External MCP Connection
curl --request PUT \
--url https://api.openworklabs.com/v1/mcp-connections/{connectionId}/tool-policy \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"allDisabled": true,
"disabledTools": [
"<string>"
]
}
'import requests
url = "https://api.openworklabs.com/v1/mcp-connections/{connectionId}/tool-policy"
payload = {
"allDisabled": True,
"disabledTools": ["<string>"]
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({allDisabled: true, disabledTools: ['<string>']})
};
fetch('https://api.openworklabs.com/v1/mcp-connections/{connectionId}/tool-policy', 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://api.openworklabs.com/v1/mcp-connections/{connectionId}/tool-policy",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'allDisabled' => true,
'disabledTools' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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://api.openworklabs.com/v1/mcp-connections/{connectionId}/tool-policy"
payload := strings.NewReader("{\n \"allDisabled\": true,\n \"disabledTools\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.put("https://api.openworklabs.com/v1/mcp-connections/{connectionId}/tool-policy")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"allDisabled\": true,\n \"disabledTools\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/mcp-connections/{connectionId}/tool-policy")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"allDisabled\": true,\n \"disabledTools\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"policy": {
"allDisabled": true,
"disabledTools": [
"<string>"
],
"updatedBy": "<string>",
"updatedAt": "2023-11-07T05:31:56Z"
}
}{
"error": "unauthorized"
}{
"error": "forbidden",
"reason": "<string>",
"message": "<string>"
}{
"error": "connection_not_found",
"message": "<string>"
}Capability Sources
Update the tool policy for an External MCP Connection
Replaces the connection’s tool policy with the full desired state: allDisabled plus the complete list of disabled tool names (duplicates are collapsed). The policy takes effect immediately for capability search, Code Mode, and tool execution and records the calling admin as its author.
PUT
/
v1
/
mcp-connections
/
{connectionId}
/
tool-policy
Update the tool policy for an External MCP Connection
curl --request PUT \
--url https://api.openworklabs.com/v1/mcp-connections/{connectionId}/tool-policy \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"allDisabled": true,
"disabledTools": [
"<string>"
]
}
'import requests
url = "https://api.openworklabs.com/v1/mcp-connections/{connectionId}/tool-policy"
payload = {
"allDisabled": True,
"disabledTools": ["<string>"]
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({allDisabled: true, disabledTools: ['<string>']})
};
fetch('https://api.openworklabs.com/v1/mcp-connections/{connectionId}/tool-policy', 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://api.openworklabs.com/v1/mcp-connections/{connectionId}/tool-policy",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'allDisabled' => true,
'disabledTools' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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://api.openworklabs.com/v1/mcp-connections/{connectionId}/tool-policy"
payload := strings.NewReader("{\n \"allDisabled\": true,\n \"disabledTools\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.put("https://api.openworklabs.com/v1/mcp-connections/{connectionId}/tool-policy")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"allDisabled\": true,\n \"disabledTools\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/mcp-connections/{connectionId}/tool-policy")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"allDisabled\": true,\n \"disabledTools\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"policy": {
"allDisabled": true,
"disabledTools": [
"<string>"
],
"updatedBy": "<string>",
"updatedAt": "2023-11-07T05:31:56Z"
}
}{
"error": "unauthorized"
}{
"error": "forbidden",
"reason": "<string>",
"message": "<string>"
}{
"error": "connection_not_found",
"message": "<string>"
}Authorizations
denApiKeybearerAuth
Path Parameters
Body
application/json
Was this page helpful?