# Host MCP Servers का उपयोग कैसे करता है — MCP और Agent-to-Agent Protocols

Source: https://www.geekswithgeeks.com/hi/mcp-a2a/c-host

> Configuration से tool call तक का प्रवाह देखें।

## Configure, initialise, expose, execute

Host अपनी configuration पढ़ता है (servers की सूची: stdio के लिए शुरू करने का command, या HTTP के लिए URL, और environment variables), हर server शुरू करता या जुड़ता है, **initialize** handshake करता है, और `tools/list` बुलाता है (pagination अनुसरण करके)। फिर tool परिभाषाओं को उसमें मिलाता है जो मॉडल देख सकता है, अक्सर टकराव से बचने को **नामों में server prefix** जोड़कर। मॉडल call माँगे तो host **नीति जाँचता है और ज़रूरत हो तो user से पूछता है**, सही client को `tools/call` भेजता है, और परिणाम मॉडल को लौटाता है। Host **list-changed notifications**, reconnects, timeouts और रद्द करना भी सँभालता है। अच्छे hosts users को अलग-अलग tools और servers चालू/बंद करने देते हैं।

## जोड़ें, दिखाएँ, अनुमोदित करें

Host servers से जुड़ता है, मॉडल को चुनी हुई tool सूची दिखाता है और user को नियंत्रण में रखता है।

![तीन कर्तव्य: जोड़ना, छाँटना, सहमति।](assets/figures/mcp-a2a/section-4-map.svg) — चित्र 4.1 — जोड़ना, छाँटना और सहमति।

## सामान्य server configuration (उदाहरण)

File format और स्थान hosts के बीच अलग हैं; विचार यह है कि नामित server का launch command और environment हो। यहाँ चलाया नहीं गया।

```json
{
  "mcpServers": {
    "orders": {
      "command": "python",
      "args": ["server.py"],
      "env": { "ORDERS_DB_URL": "<set via a secret store, not committed>" }
    },
    "docs": { "url": "https://mcp.example.com/docs" }
  }
}
```

**Quiz:** Host tool नामों में server नाम का prefix क्यों जोड़ सकता है?

- [ ] मॉडल प्रशिक्षित करने के लिए
- [ ] Tool विवरण संपीड़ित करने के लिए
- [ ] Handshake छोड़ने के लिए
- [x] Servers के बीच नाम टकराव से बचने के लिए

*Answer:* Servers के बीच नाम टकराव से बचने के लिए. दो servers एक ही नाम का tool परिभाषित कर सकते हैं।
