AstroWay/api v2.190.0 · el
όλες οι υπηρεσίες λειτουργούν κανονικά

Τυποποιημένη έξοδος MCP: γιατί 600+ εργαλεία έχουν outputSchema

Οι περισσότεροι διακομιστές MCP επιστρέφουν στον πράκτορα μη τυποποιημένο JSON - το μοντέλο πρέπει να μαντέψει τη μορφή της απάντησης. Δημοσιεύουμε αυστηρό outputSchema για 600+ εργαλεία. Εξηγούμε πώς λειτουργεί, ποιο σφάλμα άνοιξε σε πελάτες strict-mode και πώς το διορθώσαμε μέσω ανοιχτών σχημάτων.

Παρά το γεγονός ότι ο MCP-ορισμός μπορεί να επιστρέψει οποιοδήποτε - ο πρωτόκολλος δεν απαιτεί την περιγραφή της μορφής της απάντησης. Ως εκ τούτου, η πλειοψηφία των服ομένων επιστρέφουν στον απεικονιζόμενο JSON, και η μορφή της απάντησης είναι η μορφή που προέκυψε από το κείμενο.

Έτσι, η πλειοψηφία των σέρβερς επιστρέφουν στον απεικονιζόμενο JSON, και η μορφή της απάντησης είναι η μορφή που προέκυψε από το κείμενο. Ωστόσο, η μορφή της απάντησης είναι η μορφή που προέκυψε από το κείμενο.

Όταν ο ορισμός της απάντησης είναι ανοιχτός, ο πελάτης γνωρίζει την μορφή της απάντησης. Ο απεικονιζόμενος δεν γίνεται να βγάζει - ο πελάτης βλέπει ότι το chart.houses.ascendant υπάρχει και έχει τύπο «αριθμός, εκλειπτική μακράτητα σε βαθμούς».

Ο λάθος που άνοιξε την ανοιχτή τύποιση

Ενότητα με τίτλο «Ο λάθος που άνοιξε την ανοιχτή τύποιση»

Η ανοιχτή τύποιση έχει κόστος. Όταν ο ορισμός της απάντησης είναι κλειστός (όταν δεν υπάρχουν πεδία πέραν των αναγραφόμενων), και η απάντηση περιέχει επιπλέον μεταδεδομένα, ο τύποις κλειστός πελάτης το απορρίπτει. Στις chart-οικογένειας ορισμούς, εμείς πιάσαμε αυτό:

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

Αιτία: οι Zod-σχήματα που δημιουργήθηκαν ήταν σε κλειστό-μορφή, και η πραγματική απάντηση του backend περιείχε πολλά μεταδεδομένα-πεδία, που δεν αναγραφόταν στην σχήμα. Ο πελάτης έλεγξε το structuredContent εναντίον της σχήματος σε τύποις-μόνο και έκανε -32602.

Συνέπεια: Claude Desktop και Cursor λάθος δεν έδειξαν - αυτοί ήταν σε loose-μόνο και τα επιπλέον πεδία περνιούνταν. Οι τύποις-μόνο SDK-πελάτες που έλεγαν σφραγισμένα έπεσαν. Δηλαδή, το λάθος ήταν αόρατο στα πιο δημοφιλείς πελάτες και έβγαινε μόνο στις δικές μας ενσωματώσεις πάνω από MCP SDK.

Λύση: ανοιχτές σχήματα αντί για κλειστές

Ενότητα με τίτλο «Λύση: ανοιχτές σχήματα αντί για κλειστές»

Η λύση: δεν απορρίπτε την τύποιση, αλλά κάνε τις σχήματα ανοιχτές. Στον γεννήτορα ορισμών, οι ZodObject-σχήματα που επιστρέφουν σε passthrough-μορφή: τα αναγραφόμενα πεδία παραμένουν υποχρεωτικά και τυποποιημένα, και τα επιπλέον μεταδεδομένα-πεδία περνιούνται, χωρίς να κάνουν την απάντηση να απορρίπτε.

Για τον hosted-κατάλογο, εφαρμόστηκε ένας αμυντικός τρόπος: αφαιρέστε το outputSchema από την καταγραφή των ορισμών, όπου η έλεγχος και οι τύποις-μόνο πελάτες έπεσαν, μέχρι οι σχήματα να είναι ανοιχτές. Ο συναισθηματικός συνδυασμός: καλύτερο ορθός απεικονιζόμενος χωρίς πελάτη-έλεγχο, παρά τύποις-μόνο σπάσιμο.

Ο μάθημα απλό: η τυποποιημένη εξέλιξη του MCP είναι χρήσιμη, αλλά η σχήμα της απάντησης πρέπει να είναι ανοιχτή για επιπλέον πεδία. Η API εξελίσσεται, τα μεταδεδομένα εμφανίζονται, και η κλειστή σχήμα μετατρέπει κάθε τέτοιο προσθήκη σε breaking change για τύποις-μόνο πελάτες.

Η τυποποιημένη κατηγορία είναι διαθέσιμη με cả δύο τρόπους:

// 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 αιτήματα ανά μήνα μέχρι την πρώτη πληρωμή.

Περισσότερα από το blog όλες οι δημοσιεύσεις →

Engineering 2026-07-15

Τρία επίσημα SDK: TypeScript, Python, PHP αντί για ακατέργαστο curl

Ακατέργαστο HTTP λειτουργεί, αλλά ο τυποποιημένος πελάτης εξοικονομεί ώρες: αυτόματη συμπλήρωση διαδρομών, τύποι αιτήματος και απάντησης, ενσωματωμένο retry σε 408/409/429/5xx και ιεραρχία σφαλμάτων τύπου Stainless. Αναλύουμε τρία επίσημα SDK - @astroway/sdk (npm), astroway (PyPI), astroway/sdk (Packagist) - και πώς δημιουργήθηκαν από ένα OpenAPI συμβόλαιο.

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.