# Agent Card: Discovery — MCP और Agent-to-Agent Protocols

Source: https://www.geekswithgeeks.com/hi/mcp-a2a/a-card

> Agent की पहचान, कौशल, endpoint और सुरक्षा ज़रूरतों का वर्णन करें।

## Agent का visiting card

**Agent Card** JSON दस्तावेज़ है जिसमें remote agent अपना वर्णन करता है: **नाम और विवरण**, **संस्करण**, वह **URL/endpoint** जहाँ वह अनुरोध स्वीकारता है, समर्थित **capabilities** (जैसे streaming और push notifications), स्वीकार्य **इनपुट और आउटपुट modes**, उसके द्वारा दिए **skills** (प्रत्येक का id, नाम और विवरण, कभी-कभी उदाहरण) और वे **authentication schemes** जो client को उपयोग करनी हैं। यह आम तौर पर agent के domain पर **well-known URL** पर प्रकाशित होता है (सटीक path विनिर्देश संस्करण के अनुसार बदला है, इसलिए मौजूदा देखें) ताकि clients उसे लाकर पढ़ सकें। Client agents, या उन्हें configure करने वाले लोग, cards से तय करते हैं कि **सौंपना है या नहीं और कैसे**। Card की सामग्री को **अविश्वसनीय इनपुट** मानें: विवरण वह पाठ है जिसे मॉडल पढ़ सकता है, और असत्यापित card अपने कौशल के बारे में झूठ बोल सकता है।

## उदाहरण Agent Card, जाँचा हुआ

मैंने यह सादे Python 3 (सिर्फ़ standard library) से चलाया। यह card उदाहरणात्मक नमूना है जिसके field नाम A2A cards के सामान्य रूप का अनुसरण करते हैं; सटीक schema विनिर्देश संस्करण पर निर्भर है। Script जाँचता है कि आवश्यक fields मौजूद हैं और skills व authentication पढ़ता है।

```python
import json

card = {
    "name": "Refund Agent",
    "description": "Looks up invoices and proposes refunds. Cannot issue payments.",
    "url": "https://agents.example.com/refunds",
    "version": "1.2.0",
    "capabilities": {"streaming": True},
    "skills": [{"id": "propose-refund", "name": "Propose refund",
                "description": "Check an invoice and propose a refund amount."}],
    "authentication": {"schemes": ["bearer"]},
}
REQUIRED = ["name", "description", "url", "version", "skills"]
missing = [k for k in REQUIRED if k not in card]
print("missing fields:", missing)
print("skills:", [s["id"] for s in card["skills"]])
print("needs auth:", bool(card["authentication"]["schemes"]))
print(json.dumps(card)[:80] + "...")

```

Output:

```
missing fields: []
skills: ['propose-refund']
needs auth: True
{"name": "Refund Agent", "description": "Looks up invoices and proposes refunds....
```

**Quiz:** Agent Card को अविश्वसनीय क्यों मानें?

- [ ] उसमें पाठ नहीं हो सकता
- [ ] वह हमेशा encrypted है
- [ ] वह मॉडल द्वारा हस्ताक्षरित है
- [x] वह कौशल ग़लत बता सकता है और उसमें वह पाठ है जिसे मॉडल पढ़ सकता है

*Answer:* वह कौशल ग़लत बता सकता है और उसमें वह पाठ है जिसे मॉडल पढ़ सकता है. प्रकाशक सत्यापित करें और card पाठ को किसी भी बाहरी इनपुट की तरह साफ़ करें।
