You're viewing a demo portfolio

Join the waitlist
PRSM

neuron_create_tool

Active

Tool 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
}

What this tool wraps· 1 endpoint

min confidence0.700.50

Parent server

io.github.conquext/neuron

https://github.com/conquext/neuron-mcp-server

2/7 registries
View full server →