Παρά το γεγονός ότι ο MCP-ορισμός μπορεί να επιστρέψει οποιοδήποτε - ο πρωτόκολλος δεν απαιτεί την περιγραφή της μορφής της απάντησης. Ως εκ τούτου, η πλειοψηφία των服ομένων επιστρέφουν στον απεικονιζόμενο JSON, και η μορφή της απάντησης είναι η μορφή που προέκυψε από το κείμενο.
Έτσι, η πλειοψηφία των σέρβερς επιστρέφουν στον απεικονιζόμενο JSON, και η μορφή της απάντησης είναι η μορφή που προέκυψε από το κείμενο. Ωστόσο, η μορφή της απάντησης είναι η μορφή που προέκυψε από το κείμενο.
Τι δίνει η outputSchema
Ενότητα με τίτλο «Τι δίνει η outputSchema»Όταν ο ορισμός της απάντησης είναι ανοιχτός, ο πελάτης γνωρίζει την μορφή της απάντησης. Ο απεικονιζόμενος δεν γίνεται να βγάζει - ο πελάτης βλέπει ότι το chart.houses.ascendant υπάρχει και έχει τύπο «αριθμός, εκλειπτική μακράτητα σε βαθμούς».
Ο λάθος που άνοιξε την ανοιχτή τύποιση
Ενότητα με τίτλο «Ο λάθος που άνοιξε την ανοιχτή τύποιση»Η ανοιχτή τύποιση έχει κόστος. Όταν ο ορισμός της απάντησης είναι κλειστός (όταν δεν υπάρχουν πεδία πέραν των αναγραφόμενων), και η απάντηση περιέχει επιπλέον μεταδεδομένα, ο τύποις κλειστός πελάτης το απορρίπτει. Στις chart-οικογένειας ορισμούς, εμείς πιάσαμε αυτό:
McpError: MCP error -32602: Structured content does not matchthe 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/.
Αυτή η ίδια Swiss Ephemeris που υπάρχει στο Solar Fire - σε 4 γραμμές κώδικα.
Δωρεάν κλειδί χωρίς κάρτα. 5.000 αιτήματα ανά μήνα μέχρι την πρώτη πληρωμή.