create_tool
Creates a new function-calling tool in the tenant. Provide name, description, parameters, toolType, and type-specific fields. toolType: External (REST endpoint), Virtual (provider-native like web_search), Agent (sub-agent), CritiqueLoop (producer+critic loop), Mcp (external MCP server). Returns the created tool with its ID.
Available from 1 provider (1 remote)
Input Schema
{
"type": "object",
"properties": {
"name": {
"description": "Tool name",
"type": "string"
},
"description": {
"description": "Tool description",
"type": "string"
},
"toolType": {
"description": "Tool type: External, Virtual, Agent, CritiqueLoop, or Mcp",
"type": "string",
"default": "External"
},
"parametersJson": {
"description": "JSON string of parameters schema (ToolParameter object with type and properties array)",
"type": [
"string",
"null"
],
"default": null
},
"webUrl": {
"description": "REST endpoint URL (External tools)",
"type": [
"string",
"null"
],
"default": null
},
"virtualToolId": {
"description": "Provider-native tool ID e.g. web_search (Virtual tools)",
"type": [
"string",
"null"
],
"default": null
},
"agentTemplateId": {
"description": "PromptTemplate ID for agent (Agent tools)",
"type": [
"string",
"null"
],
"default": null
},
"maxAgentDepth": {
"description": "Max recursion depth (Agent tools)",
"type": [
"integer",
"null"
],
"default": null
},
"producerFlowId": {
"description": "Producer flow ID (CritiqueLoop tools)",
"type": [
"string",
"null"
],
"default": null
},
"criticFlowId": {
"description": "Critic flow ID (CritiqueLoop tools)",
"type": [
"string",
"null"
],
"default": null
},
"maxLoopIterations": {
"description": "Max loop iterations (CritiqueLoop tools)",
"type": [
"integer",
"null"
],
"default": null
}
},
"required": [
"name",
"description"
]
}
Remote Providers (1)
These servers are accessible over the network — no local installation needed.
PromptShuttle
Remotehttps://app.promptshuttle.com/api/mcp