AI & LLM

AI Agent Tool Registry JSON Example

A JSON example of an AI agent's tool registry / manifest — a list of callable tools with names, descriptions, and JSON Schema parameters. Copy-ready for function-calling agents and toolkits.

{
  "tools": [
    {
      "name": "search_orders",
      "description": "Search orders by customer email or order id.",
      "parameters": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Email or order id"
          },
          "limit": {
            "type": "integer",
            "default": 10
          }
        },
        "required": [
          "query"
        ]
      },
      "returns": {
        "type": "array",
        "items": {
          "type": "object"
        }
      }
    },
    {
      "name": "issue_refund",
      "description": "Issue a refund for an order. Requires confirmation.",
      "parameters": {
        "type": "object",
        "properties": {
          "order_id": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          }
        },
        "required": [
          "order_id"
        ]
      },
      "dangerous": true
    }
  ],
  "version": "2025-05-01"
}

Field Reference

toolsrequiredarray<object>The set of callable tools exposed to the agent/model
tools[].namerequiredstringUnique, snake_case tool name the model references when calling
tools[].descriptionrequiredstringPlain-language purpose — the model relies on this to choose the right tool
tools[].parametersrequiredobjectJSON Schema for the arguments; drives validation and prompting
tools[].dangerousoptionalbooleanCustom flag to gate destructive tools behind human confirmation

Variants

OpenAI tools arrayThe same registry shaped for the OpenAI tools parameter.
{
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "search_orders",
        "description": "Search orders by customer email or order id.",
        "parameters": {
          "type": "object",
          "properties": {
            "query": {
              "type": "string"
            }
          },
          "required": [
            "query"
          ]
        }
      }
    }
  ]
}

Common Use Cases

  • Declaring the toolset available to a function-calling agent
  • Generating tool schemas dynamically from your backend functions
  • Gating dangerous tools behind confirmation or permissions
ai agenttoolsfunction callingregistrymanifesttoolkit

Validate or format this JSON

One click loads this exact example into the tool — no copy-paste needed. Format it, validate it, explore the tree, or generate TypeScript types instantly.

Frequently Asked Questions

The model reads each tool's name and description (and parameter schema) and picks the best match for the user's request, then emits a tool call with arguments. Clear, specific descriptions are the single biggest factor in correct tool selection — treat them as prompts.

Mark them (e.g. a 'dangerous' flag), and require a human-in-the-loop confirmation or a permission check before executing. Never let an agent autonomously run irreversible actions like refunds or deletes without a guardrail.

Related JSON Examples