neuron_create_tool
ActiveTool of io.github.conquext/neuron
declared in 1.0.0
Create a custom API tool that the bot can invoke during conversations to fetch external data or trigger actions.
Parameters schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"botId",
"name",
"description",
"type",
"config"
],
"properties": {
"name": {
"type": "string",
"description": "Human-readable name for the tool"
},
"type": {
"enum": [
"http_api",
"webhook",
"mcp"
],
"type": "string",
"description": "Type of the tool integration"
},
"botId": {
"type": "string",
"description": "Unique identifier (UUID) of the bot to create the tool for"
},
"config": {
"type": "object",
"properties": {
"method": {
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
],
"type": "string",
"description": "HTTP method to use"
},
"headers": {
"type": "object",
"description": "HTTP headers to include with each request as key-value pairs",
"additionalProperties": {
"type": "string"
}
},
"endpoint": {
"type": "string",
"description": "Target HTTP endpoint URL for http_api tools"
},
"webhookUrl": {
"type": "string",
"description": "Webhook URL for webhook-type tools"
},
"asyncConfig": {
"type": "object",
"properties": {
"jobIdPath": {
"type": "string",
"description": "Dot-notation path to extract job ID from initial response (e.g. 'id', 'request_id')"
},
"resultPath": {
"type": "string",
"description": "Dot-notation path to extract final result from completed response (e.g. 'output')"
},
"statusPath": {
"type": "string",
"description": "Dot-notation path to status field in poll response (e.g. 'status')"
},
"maxPollingMs": {
"type": "number",
"maximum": 300000,
"minimum": 5000,
"description": "Maximum time to poll before timeout (default: 120000)"
},
"failedStatuses": {
"type": "array",
"items": {
"type": "string"
},
"description": "Status values indicating failure (e.g. ['FAILED', 'failed', 'canceled'])"
},
"pollingEndpoint": {
"type": "string",
"description": "URL template with {{jobId}} placeholder for polling job status"
},
"completedStatuses": {
"type": "array",
"items": {
"type": "string"
},
"description": "Status values indicating completion (e.g. ['COMPLETED', 'succeeded'])"
},
"pollingIntervalMs": {
"type": "number",
"maximum": 30000,
"minimum": 500,
"description": "Milliseconds between poll requests (default: 2000)"
}
},
"description": "Configuration for async submit-poll-download APIs like fal.ai and Replicate",
"additionalProperties": false
},
"bodyTemplate": {
"type": "string",
"description": "Handlebars template for the request body, populated with conversation context"
},
"mcpServerUrl": {
"type": "string",
"description": "MCP server URL for mcp-type tools"
},
"parametersSchema": {
"type": "object",
"description": "JSON Schema describing the parameters the tool accepts",
"additionalProperties": {}
}
},
"description": "Tool configuration specifying the endpoint and request details",
"additionalProperties": false
},
"authType": {
"enum": [
"none",
"api_key",
"bearer",
"basic",
"oauth2"
],
"type": "string",
"description": "Authentication type for the endpoint"
},
"rateLimit": {
"type": "number",
"description": "Maximum number of requests per minute allowed for this tool"
},
"timeoutMs": {
"type": "number",
"description": "Request timeout in milliseconds (default: 30000)"
},
"description": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "Description of what the tool does and when the bot should use it"
}
},
"additionalProperties": false
}No endpoints wrapped at confidence ≥ 0.70.
Parent server
io.github.conquext/neuron
https://github.com/conquext/neuron-mcp-server
2/7 registries