{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The URL or path to call. For public APIs, provide the full URL (e.g., \"https://api.example.com/data\"). For custom integrations with PCID, provide just the endpoint path (e.g., \"/users\", \"/contacts\") - the base URL already includes any API prefix."
},
"PCID": {
"type": "string",
"description": "Connection ID for custom integrations. Get this from mcp_discover under \"User's connected custom integrations\". Requires service_key to also be provided."
},
"service_key": {
"type": "string",
"description": "Service key for the custom integration. Get this from mcp_discover along with the PCID. Required when PCID is provided."
},
"method": {
"type": "string",
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
],
"default": "GET",
"description": "HTTP method to use. Defaults to GET. Use POST/PUT/PATCH for creating or updating resources, DELETE for removing resources."
},
"body": {
"oneOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "string"
}
],
"description": "Request body for POST, PUT, or PATCH requests. Can be a JSON object or a string. Will be JSON stringified if an object."
},
"headers": {
"type": "object",
"additionalProperties": true,
"description": "Custom headers for the request. Only used for public API calls (without PCID). For authenticated calls via PCID, headers are handled automatically by the proxy."
},
"query_params": {
"type": "object",
"additionalProperties": true,
"description": "Query parameters to append to the URL. Will be URL-encoded automatically."
}
},
"required": [
"url"
]
}