Skip to main content

Overview

Retrieve the complete definition of a tool including its input/output schemas, destructive flag, and metadata. Use this after search_tools to understand a tool’s interface before calling it in a script.

Input

ParameterTypeRequiredDescription
pathstringYesTool path (e.g., github.issues.create)

Annotations

  • readOnlyHint: true

Output

Returns the full ToolDefinition object:
{
  "path": "github.issues.create",
  "name": "Create Issue",
  "description": "Create a new issue in a GitHub repository.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "owner": { "type": "string" },
      "repo": { "type": "string" },
      "title": { "type": "string" },
      "body": { "type": "string" },
      "labels": { "type": "array", "items": { "type": "string" } },
      "assignees": { "type": "array", "items": { "type": "string" } }
    },
    "required": ["owner", "repo", "title"]
  },
  "outputSchema": {
    "type": "object",
    "properties": {
      "number": { "type": "number" },
      "url": { "type": "string" }
    },
    "required": ["number", "url"]
  },
  "destructive": true,
  "authProvider": "github"
}
If the tool is not found, returns an error message:
"Tool not found: some.invalid.path"

Also available in sandbox

Inside run scripts:
const schema = await tools.describe.tool({ path: "github.issues.create" });