Wersjonowanie narzędzi i schematów
Rozwijaj serwer bez psucia klientów.
Wersjonowanie narzędzi i schematów to bezpłatna lekcja MCP Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej MCP Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs MCP Academy zawiera 4 lekcji w sumie.
Klienci zależą od kształtu danych
Gdy inni już się połączą, będą polegać na nazwach narzędzi i kształtach argumentów. Nieostrożna zmiana może od razu zepsuć każdego klienta.
Zmiany addytywne są bezpieczne
Dodanie opcjonalnego parametru z wartością domyślną pozwala zachować działanie dotychczasowych wywołujących. Po prostu ignorują one nowe pole, którego nie wysyłają.
def search(q: str, limit: int = 10) -> list:
...Breaking Changes bolą
Zmiana nazwy narzędzia, usunięcie argumentu lub ustawienie go jako wymaganego to zmiany łamiące zgodność. Istniejący klienci nagle wysyłają wywołania, które już nie pasują.
Dodawaj, a potem wycofuj
Aby rozwijać pole, należy dodać nowe i zachować stare. Stare pole należy oznaczyć w opisie jako deprecated, aby wywołujący wiedzieli, że trzeba przejść na nowe.
Wersja w nazwie narzędzia
W przypadku rzeczywistej zmiany łamiącej zgodność należy udostępnić narzędzie v2 obok v1. Obie wersje mogą działać przez pewien czas, dzięki czemu klienci przejdą na nową wersję w dogodnym dla siebie tempie.
@mcp.tool(name="search_v2")
def search_v2(query: str) -> list:
...Serwer zgłasza swoją wersję
Podczas uzgadniania połączenia serwer ogłasza swoją nazwę i wersję. Należy ją zwiększać, aby klienci widzieli, z którym wydaniem się połączyli.
mcp = FastMCP("my-server")
# version surfaces in server infoStosuj wersjonowanie semantyczne
Stosuj semver: zwiększaj numer patch przy poprawkach, minor przy dodatkowych funkcjach, a major przy zmianie łamiącej zgodność. Numer opowiada całą historię.
Rozszerzaj dane wyjściowe, nie zawężaj ich
Dodanie pola do wyniku jest zazwyczaj bezpieczne, natomiast jego usunięcie łamie zgodność. Traktuj schemat output jako obietnicę, którą klienci analizują.
Prowadź dziennik zmian
Odnotowuj każdą zmianę narzędzia i schematu w pliku changelog. Użytkownicy aktualizujący aplikację muszą widzieć, co przeniesiono, co dodano, a co usunięto.
Określ termin wycofania
Ogłaszaj, kiedy stare narzędzie zostanie usunięte. Jasno określona data sunset zachęca do migracji, bez nagłego odbierania komukolwiek dotychczasowego rozwiązania.
Testuj ze starymi klientami
Przed wydaniem uruchom tests tak, jak zrobiłby to starszy klient. Pozwoli to wykryć przypadkowe zmiany łamiące zgodność, których nie zauważy system kontroli typów.
Szybkie sprawdzenie
Jaka zmiana istniejącego narzędzia jest bezpieczna dla obecnych klientów?
Podsumowanie: bezpieczny rozwój
Preferuj zmiany additive, wycofuj elementy przed ich usunięciem, przy rzeczywistych zmianach łamiących zgodność udostępniaj v2, stosuj semver i prowadź dziennik zmian. Możesz wydawać kolejne wersje ze spokojem! 🚀
Ucz się Python dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 30
- Lekcje
- 120
Często zadawane pytania
Czy lekcja „Wersjonowanie narzędzi i schematów” jest bezpłatna?
Tak — pełny tekst „Wersjonowanie narzędzi i schematów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu MCP Academy, przejdź na CoddyKit PRO. Kurs MCP Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Wersjonowanie narzędzi i schematów”?
Rozwijaj serwer bez psucia klientów. Ćwiczysz MCP Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć MCP Academy?
Nie wymagamy żadnego doświadczenia. MCP Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Wersjonowanie narzędzi i schematów”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji MCP Academy?
Tak. Każda lekcja MCP Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Warstwowa architektura serwera
- Konfiguracja i sekrety przez środowisko
- Narzędzia idempotentne i świadome efektów ubocznych
- Wersjonowanie narzędzi i schematów