AstroWay/api v2.190.0 · hi
सभी सिस्टम सामान्य हैं

टाइप्ड आउटपुट MCP: क्यों 600+ टूल्स के पास outputSchema है

अधिकांश MCP-सर्वर एजेंट को अनटाइप्ड JSON देते हैं - मॉडल को उत्तर के फ़ॉर्म को अनुमानित करना पड़ता है। हम 600+ टूल्स के लिए सख्त outputSchema प्रकाशित करते हैं। हम देखते हैं कि यह कैसे काम करता है, किस बग ने strict-mode क्लाइंट्स में समस्या पैदा की और हमने इसे खुले स्कीमा के माध्यम से कैसे ठीक किया।

MCP-इंस्ट्रूमेंट कुछ भी वापस कर सकता है - प्रोटोकॉल को उत्तर के फ़ॉर्म को वर्णित करने की ज़रूरत नहीं है। इसलिए ज़्यादातर सर्वर एजेंट को कच्चा JSON देते हैं, और मॉडल टेक्स्ट से स्ट्रक्चर का अनुमान लगाता है। यह तब तक काम करता है जब तक कि टूटता नहीं: एजेंट ऐसा फ़ील्ड लेता है जो मौजूद नहीं है, या नेस्टिंग को गलत समझता है।

हमने सख्त रास्ता चुना: हमारे 600 से अधिक MCP-इंस्ट्रूमेंट outputSchema प्रकाशित करते हैं - मशीन‑generated उत्तर स्कीमा, वही OpenAPI‑कॉन्ट्रैक्ट से जनरेट किया गया, जो REST API के साथ है।

outputSchema क्या देता है

Section titled “outputSchema क्या देता है”

जब इंस्ट्रूमेंट आउटपुट स्कीमा घोषित करता है, क्लाइंट को कॉल से पहले उत्तर का फ़ॉर्म पता होता है। एजेंट अनुमान नहीं लगाता - वह देखता है कि chart.houses.ascendant मौजूद है और उसका टाइप «संख्या, इक्लिप्टिक लोंगिट्यूड डिग्री में» है। स्ट्रक्चर के बारे में कम भ्रम, कॉल चेन अधिक सटीक, क्लाइंट साइड पर उत्तर को वैलिडेट करने की क्षमता।

कैटलॉग चरणबद्ध रूप से बढ़ा: शुरुआत में 285 इंस्ट्रूमेंट, फिर 624, अब 630 से अधिक - और टाइप्ड आउटपुट लगभग पूरी कवरेज तक पहुँच गया (630+ में से 600 से अधिक)। स्कीमा हाथ से नहीं लिखे जाते: जेनरेटर लाइव /v1/openapi.json को बिल्ड पर पढ़ता है, इसलिए REST और MCP के बीच ड्रिफ्ट निर्माण के हिसाब से असंभव है।

सख्त टाइपिंग ने जो बग खोला

Section titled “सख्त टाइपिंग ने जो बग खोला”

सख्ती की कीमत होती है। जब इंस्ट्रूमेंट closed‑स्कीमा घोषित करता है (सिर्फ सूचीबद्ध फ़ील्ड), और उत्तर में अतिरिक्त मेटाडाटा होता है, strict‑mode क्लाइंट इसे रेजेक्ट कर देता है। chart‑family इंस्ट्रूमेंट्स में हमने यही पकड़ा:

McpError: MCP error -32602: Structured content does not match
the tool's output schema: data must NOT have additional properties

कारण: जेनरेटेड Zod‑स्कीमा closed‑फ़ॉर्म में थे, जबकि बैकएंड का वास्तविक उत्तर कई सर्विस‑metadata फ़ील्ड ले आया, जो स्कीमा में घोषित नहीं थे। क्लाइंट structuredContent को स्कीमा के खिलाफ strict‑mode में वैलिडेट कर रहा था और -32602 फेंक रहा था।

दिलचस्प बात: Claude Desktop और Cursor बग नहीं दिखा रहे थे - वे loose‑mode में हैं और अतिरिक्त फ़ील्ड को पास कर देते हैं। केवल strict‑mode SDK‑क्लाइंट्स फेल हो रहे थे, जो कड़ी वैलिडेशन करते हैं। यानी समस्या सबसे लोकप्रिय क्लाइंट्स में दिखाई नहीं देती थी और सिर्फ MCP SDK के ऊपर की अपनी इंटीग्रेशन्स में उभरती थी।

फ़िक्स: closed के बजाय ओपन स्कीमा

Section titled “फ़िक्स: closed के बजाय ओपन स्कीमा”

समाधान - टाइपिंग को हटाना नहीं, बल्कि स्कीमा को ओपन बनाना। इंस्ट्रूमेंट जेनरेटर में आउटपुट ZodObject‑स्कीमा को passthrough‑फ़ॉर्म में बदला जाता है: घोषित फ़ील्ड अनिवार्य और टाइप्ड रहते हैं, और अतिरिक्त सर्विस फ़ील्ड वैलिडेशन पास कर जाते हैं, कॉल को तोड़े बिना।

hosted‑कैटलॉग के लिए एक वैकल्पिक तरीका लागू किया गया है - उन इंस्ट्रूमेंट्स की रजिस्ट्रेशन से outputSchema हटाना जहाँ वैलिडेशन पहले ही टूट चुका था, ताकि strict‑क्लाइंट्स न फेल हों, जब तक स्कीमा पूरी तरह ओपन न हो जाए। समझदारी वाला समझौता: क्लाइंट वैलिडेशन के बिना सही कॉल बेहतर है, बजाय कठोर फेल्योर के।

सीख आसान है: टाइप्ड MCP आउटपुट उपयोगी है, लेकिन उत्तर स्कीमा को अतिरिक्त फ़ील्ड के लिए ओपन होना चाहिए। API विकसित होता है, मेटाडाटा आता है, और closed‑स्कीमा हर ऐसे जोड़ को strict‑क्लाइंट्स के लिए ब्रेकिंग चेंज बना देता है।

कैसे कनेक्ट करें

Section titled “कैसे कनेक्ट करें”

टाइप्ड कैटलॉग दोनों तरीकों से उपलब्ध है:

// hosted, без установки
{
"mcpServers": {
"astroway": {
"url": "https://mcp.astroway.info/mcp",
"headers": { "Authorization": "Bearer aw_live_..." }
}
}
}

या stdio‑पैकेज npx -y @astroway/mcp के साथ ASTROWAY_API_KEY कुंजी। दोनों वही टाइप्ड कैटलॉग देते हैं; क्लाइंट्स पर पूरा गाइड - /agent-setup/ पर।

MakSeong · AstroWay

मैं AstroWay API को बनाता हूँ: मैं Swiss Ephemeris को साफ़ REST में लोड करता हूँ और उसके बारे में जानकारी को लिखता हूँ जो वास्तव में महत्वपूर्ण है।

// इस पर बनाएं

वही Swiss Ephemeris जो Solar Fire में है - बस 4 लाइनों के कोड में।

कार्ड के बिना मुफ्त कुंजी। पहले भुगतान तक 5,000 कॉल प्रति माह।

ब्लॉग से और सभी पोस्ट →

Engineering 2026-07-15

तीन आधिकारिक SDK: TypeScript, Python, PHP कच्चे curl के बजाय

कच्चा HTTP काम करता है, लेकिन टाइप किया गया क्लाइंट घंटों की बचत करता है: पथ स्वत: पूर्णता, अनुरोध और प्रतिक्रिया प्रकार, 408/409/429/5xx के लिए बनाए गए रीट्री और स्टेनलेस-स्टाइल त्रुटि श्रेणी। हम तीन आधिकारिक SDK - @astroway/sdk (npm), astroway (PyPI), astroway/sdk (Packagist) - की जांच करते हैं और यह कैसे एक ओपनएपीआई अनुबंध से उत्पन्न होते हैं।

Industry 2026-06-05

Free Astrology API: Which One Has the Best Free Tier in 2026?

A side-by-side of free tiers across the major astrology APIs - credits, request caps, card requirements - and how much you can actually build for free.

Engineering 2026-06-05

Horoscope API Tutorial: Build a Daily Horoscope Feature

Add daily, weekly and monthly horoscopes to your app via API - sign-based text vs transit-based personalization - with TypeScript and Python code.