मुख्य कंटेंट तक स्किप करें

गेटवे सेवा कॉन्फ़िगरेशन

कॉन्फ़िगरेशन उदाहरण

निम्नलिखित एक पूर्ण कॉन्फ़िगरेशन उदाहरण है, जिसमें राउटिंग, CORS, प्रतिक्रिया प्रबंधन आदि शामिल हैं:

name: "mock-server"             # प्रॉक्सी सेवा का नाम, वैश्विक रूप से अद्वितीय

# राउटर कॉन्फ़िगरेशन
routers:
- server: "mock-server" # सेवा का नाम
prefix: "/mcp/user" # राउट उपसर्ग, वैश्विक रूप से अद्वितीय, दोहराया नहीं जा सकता, सेवा या डोमेन+मॉड्यूल के अनुसार अलग करने की सिफारिश की जाती है

# CORS कॉन्फ़िगरेशन
cors:
allowOrigins: # विकास परीक्षण वातावरण के लिए सभी को खोला जा सकता है, प्रोडक्शन के लिए आवश्यकतानुसार खोलना सबसे अच्छा है। (अधिकांश MCP क्लाइंट को CORS की आवश्यकता नहीं होती है)
- "*"
allowMethods: # अनुमति प्राप्त अनुरोध पद्धतियां, आवश्यकतानुसार खोलें। MCP (SSE और Streamable) के लिए आमतौर पर केवल इन 3 विधियों की आवश्यकता होती है
- "GET"
- "POST"
- "OPTIONS"
allowHeaders:
- "Content-Type" # अवश्य अनुमति दी जानी चाहिए
- "Authorization" # प्रमाणीकरण आवश्यकताओं के लिए अनुरोध में इस कुंजी को ले जाने का समर्थन करने की आवश्यकता है
- "Mcp-Session-Id" # MCP के लिए, अनुरोध में इस कुंजी को ले जाने का समर्थन करना आवश्यक है, अन्यथा Streamable HTTP सामान्य रूप से उपयोग नहीं किया जा सकता
exposeHeaders:
- "Mcp-Session-Id" # MCP के लिए, CORS सक्षम होने पर इस कुंजी को उजागर करना आवश्यक है, अन्यथा Streamable HTTP सामान्य रूप से उपयोग नहीं किया जा सकता
allowCredentials: true # क्या Access-Control-Allow-Credentials: true यह हेडर जोड़ना है

1. मूल कॉन्फ़िगरेशन

  • name: प्रॉक्सी सेवा का नाम, वैश्विक रूप से अद्वितीय, विभिन्न प्रॉक्सी सेवाओं की पहचान करने के लिए उपयोग किया जाता है
  • routers: राउटर कॉन्फ़िगरेशन सूची, अनुरोध अग्रेषण नियमों को परिभाषित करता है
  • servers: सर्वर कॉन्फ़िगरेशन सूची, सेवा मेटाडेटा और अनुमति प्राप्त टूल्स को परिभाषित करता है
  • tools: टूल कॉन्फ़िगरेशन सूची, विशिष्ट API कॉल नियमों को परिभाषित करता है

आप एक कॉन्फ़िगरेशन को नेमस्पेस के रूप में मान सकते हैं, सेवा या डोमेन के अनुसार अलग करने की सिफारिश की जाती है। एक सेवा में कई API इंटरफेस शामिल होते हैं, प्रत्येक API इंटरफेस एक टूल से मेल खाता है।

2. राउटर कॉन्फ़िगरेशन

राउटर कॉन्फ़िगरेशन अनुरोध अग्रेषण नियमों को परिभाषित करने के लिए उपयोग किया जाता है:

routers:
- server: "mock-server" # सेवा का नाम, servers में नाम के साथ संगत होना चाहिए
prefix: "/mcp/user" # राउट उपसर्ग, वैश्विक रूप से अद्वितीय, दोहराया नहीं जा सकता
  • body: पैरामीटर JSON अनुरोध बॉडी में रखे जाएंगे
  • form-data: पैरामीटर multipart/form-data अनुरोध बॉडी में रखे जाएंगे, फ़ाइल अपलोड और अन्य परिदृश्यों के लिए उपयोग किया जाता है

प्रत्येक पैरामीटर का एक डिफ़ॉल्ट मान हो सकता है। जब MCP अनुरोध में पैरामीटर प्रदान नहीं किया जाता है, तो डिफ़ॉल्ट मान स्वचालित रूप से उपयोग किया जाएगा। यहां तक कि अगर डिफ़ॉल्ट मान खाली स्ट्रिंग ("") है, तो भी इसका उपयोग किया जाएगा। उदाहरण के लिए:

args:
- name: "theme"
position: "body"
required: true
type: "string"
description: "User interface theme"
default: "light" # जब अनुरोध में theme पैरामीटर प्रदान नहीं किया जाता है, तो "light" को डिफ़ॉल्ट मान के रूप में उपयोग किया जाएगा

जब form-data को पैरामीटर स्थिति के रूप में उपयोग किया जाता है, तो requestBody निर्दिष्ट करने की आवश्यकता नहीं होती है, सिस्टम स्वचालित रूप से पैरामीटर को multipart/form-data प्रारूप में जोड़ेगा। उदाहरण के लिए: