# Tool Schemas — AI Agents और Tool Use

Source: https://www.geekswithgeeks.com/hi/ai-agents-mcp/use-schemas

> Tool को नाम, description और उसके inputs के JSON Schema से वर्णित करें।

## तीन हिस्से

Tool परिभाषा में **नाम**, **description** और JSON Schema में लिखा **input schema** होता है। Schema हर parameter, उसका type, कौन-से ज़रूरी हैं और कौन-से मान मान्य हैं (जैसे enum) सूचीबद्ध करता है। Model इसी से तय करता है कि tool कब बुलाना है और arguments कैसे भरने हैं।

## Function से tool तक

Tool एक function और model द्वारा पढ़ने योग्य description है। आपका कोड जाँचता है, चलाता है और नतीजा लौटाता है।

![चार चरण: वर्णन, जाँच, चलाना, रिपोर्ट।](assets/figures/ai-agents-mcp/section-2-map.svg) — चित्र 2.1 — वर्णन, जाँच, चलाना और रिपोर्ट।

## Enum वाला tool

Enum model को मुद्रा कोड गढ़ने से रोकता है। हर property का description इनलाइन दस्तावेज़ का काम करता है।

```json
{
  "name": "convert_currency",
  "description": "Convert an amount between two currencies using today's rate.",
  "input_schema": {
    "type": "object",
    "properties": {
      "amount": { "type": "number", "description": "Amount to convert" },
      "from":   { "type": "string", "enum": ["INR", "USD", "EUR"] },
      "to":     { "type": "string", "enum": ["INR", "USD", "EUR"] }
    },
    "required": ["amount", "from", "to"]
  }
}
```

## Enums और ranges से बाँधें

Schema जितना कसा होगा, अमान्य calls उतने कम होंगे। सीमाएँ सिर्फ़ गद्य में लिखने की जगह `enum`, `minimum`, `maximum` और `required` उपयोग करें।

**Quiz:** Tool schema में enum का मुख्य लाभ क्या है?

- [ ] यह tool को तेज़ बनाता है
- [x] यह model को मान्य मानों तक सीमित करता है
- [ ] यह tool को छिपाता है
- [ ] यह description की जगह ले लेता है

*Answer:* यह model को मान्य मानों तक सीमित करता है. अनुमत मान सूचीबद्ध करने से गढ़े या ग़लत वर्तनी वाले arguments रुकते हैं।
