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

कॉन्फ़िगरेशन

मुख्य कॉन्फ़िगरेशन ऑब्जेक्ट ServerConfig है, जिसे startAdminServer() स्वीकार करता है। संबंधित कॉन्टेक्स्ट टाइप टूल चलाते समय इस्तेमाल होते हैं।

ServerConfig​

केवल port अनिवार्य है।

फ़ील्डटाइपडिफ़ॉल्टविवरण
portnumber— (अनिवार्य)सुनने के लिए TCP पोर्ट; 0–65535 के बीच पूर्णांक।
hoststring"127.0.0.1"सुनने वाला नेटवर्क इंटरफ़ेस। अनजाने में बाहरी पहुँच खुलने से बचाने के लिए डिफ़ॉल्ट लूपबैक है।
apiKeystringundefinedसेट करने पर एडमिन API और HTTP ट्रांसपोर्ट के लिए आवश्यक साझा सीक्रेट।
specPathstringundefinedस्टार्टअप पर एक बार लोड किया जाने वाला स्पेसिफ़िकेशन।
baseUrlOverridestringundefinedservers[0].url से मिले अपस्ट्रीम बेस URL को ओवरराइड करता है।
upstreamHeadersRecord<string, string>undefinedहर अपस्ट्रीम रिक्वेस्ट में जोड़े जाने वाले हेडर।
requestTimeoutMsnumberundefinedहर अपस्ट्रीम रिक्वेस्ट का टाइमआउट, मिलीसेकंड में।
persistStatebooleantrueलोड किए गए स्पेसिफ़िकेशन को रीस्टार्ट के बाद भी बनाए रखता है।
stateFilePathstringundefinedस्थायी स्टेट फ़ाइल का स्थान।
allowedOriginsstring[]undefinedअनुमत CORS ओरिजिन। खाली छोड़ने या न देने पर क्रॉस-ओरिजिन एक्सेस बंद हो जाता है।
allowedHostsstring[]undefinedHost हेडर के अनुमत मान।
maxLogEntriesnumber200मेमोरी में रखी जाने वाली अधिकतम लॉग प्रविष्टियाँ।
redactSensitiveHeadersbooleantrueलॉग करने से पहले संवेदनशील हेडर मान छिपाता है।
redactHeaderNamesstring[]undefinedअंतर्निहित सूची के अलावा छिपाए जाने वाले हेडर के नाम।
securitySecurityContextundefinedहर टूल कॉल में अपस्ट्रीम API को भेजे जाने वाले क्रेडेंशियल।

SecurityContext​

फ़ील्डटाइपभेजने का स्वरूप
bearerTokenstringAuthorization: Bearer <token>
basicAuth{ username, password }Authorization: Basic <base64>
apiKeysRecord<string, string>सटीक हेडर नाम और मान के जोड़े।

क्रेडेंशियल एक्ज़ीक्यूटर द्वारा डाले जाते हैं और मॉडल को मिलने वाले टूल आर्ग्युमेंट के रूप में कभी उपलब्ध नहीं होते।

ExecutionContext​

हर कॉल का कॉन्टेक्स्ट, जिसे executeToolCall को दिया जाता है और ContextProvider लौटाता है:

फ़ील्डटाइपविवरण
baseUrlOverridestringइस कॉल के लिए स्पेसिफ़िकेशन का सर्वर URL ओवरराइड करता है।
upstreamHeadersRecord<string, string>अतिरिक्त अपस्ट्रीम हेडर।
requestTimeoutMsnumberप्रति-कॉल टाइमआउट; न्यूनतम 1 सेकंड।
securitySecurityContextइस कॉल के क्रेडेंशियल।
correlationIdstringएक ही कॉल की लॉग प्रविष्टियों को जोड़ता है।
protocolProtocolHintकॉल शुरू करने वाला ट्रांसपोर्ट।
onLog(entry) => voidरिक्वेस्ट/रिस्पॉन्स लॉग प्रविष्टियाँ प्राप्त करता है; अपवाद नहीं फेंकना चाहिए।
signalAbortSignalचल रही अपस्ट्रीम रिक्वेस्ट रद्द करता है।

लिटरल यूनियन और टाइप गार्ड​

यूनियनमानगार्ड फ़ंक्शन
TransportMode"stdio" | "web"—
SpecSource"startup-file" | "upload" | "paste" | "runtime"isSpecSource()
ServiceStatus"running" | "stopped" | "error"isServiceStatus()
ProtocolHint"streamable-http" | "sse" | "stdio"isProtocolHint()
LogDirection"request" | "response" | "internal"—
LogLevel"debug" | "info" | "warn" | "error"—
ParameterLocation"path" | "query" | "header" | "cookie"isParameterLocation()
BodyEncoding"json" | "form-urlencoded" | "multipart" | "text" | "binary"isBodyEncoding()

BuildMcpServerOptions​

buildMcpServer() को तीसरे आर्ग्युमेंट के रूप में दिया जाता है:

फ़ील्डटाइपडिफ़ॉल्टविवरण
protocolProtocolHintundefinedघोषित प्रोटोकॉल संकेत।
namestring"openapi-mcp"घोषित सर्वर नाम।
versionstring"1.1.0"घोषित सर्वर संस्करण।
pageSizenumber100हर सूची रिस्पॉन्स में अधिकतम प्रविष्टियाँ; ऊपरी सीमा 500 है।
instructionsstringअंतर्निहितMCP instructions के माध्यम से उपलब्ध उपयोग संबंधी मार्गदर्शन।

ट्रांसपोर्ट लेयर के विकल्प (AttachMcpRoutesOptions)​

@powerduck/openapi-mcp-server से attachMcpRoutes इम्पोर्ट करें और दूसरे आर्ग्युमेंट में विकल्पों का ऑब्जेक्ट दें। पुराना attachSseRoutes() रैपर केवल स्थान-आधारित (app, specProvider, contextProvider, routeGuard?) आर्ग्युमेंट स्वीकार करता है।

फ़ील्डटाइपडिफ़ॉल्टविवरण
specProviderSpecProvider— (अनिवार्य)नए सत्रों के लिए दस्तावेज़ उपलब्ध कराता है।
contextProviderContextProvider— (अनिवार्य)हर कॉल के लिए अपस्ट्रीम कॉन्टेक्स्ट उपलब्ध कराता है।
routeGuardRequestHandlerundefinedहर MCP रूट पर लागू होने वाला मिडलवेयर।
maxSessionsnumber64एक साथ चलने वाले सत्रों की अधिकतम संख्या।
sessionIdleMsnumber600000निष्क्रियता टाइमआउट, मिलीसेकंड में; 0 इसे बंद करता है।
allowedOriginsstring[]undefinedअनुमत ओरिजिन। गैर-खाली सूची DNS रीबाइंडिंग सुरक्षा चालू करती है।
allowedHostsstring[]undefinedHost हेडर के अनुमत मान।
enableLegacySsebooleantrueअप्रचलित HTTP+SSE ट्रांसपोर्ट माउंट करता है।
onEvent(event: McpSessionEvent) => voidundefinedलाइफ़साइकल इवेंट प्राप्त करता है; अपवाद नहीं फेंकना चाहिए।

ये attachMcpRoutes के विकल्प हैं, ServerConfig के अतिरिक्त फ़ील्ड नहीं। एडमिन सर्वर ओरिजिन और होस्ट सेटिंग आगे भेजता है, लेकिन ट्रांसपोर्ट की डिफ़ॉल्ट सत्र सीमा और निष्क्रियता टाइमआउट इस्तेमाल करता है। इन सीमाओं को बदलने के लिए सार्वजनिक ट्रांसपोर्ट फ़ंक्शन का सीधे उपयोग करें।

यह भी देखें​