Abilities API do budowy serwera MCP

Na przestrzeni dekad rozwoju internetu można było zaobserwować pewien schemat: początkowo zamknięte, izolowane rozwiązania z biegiem czasu otwierały się dzięki protokołom wymiany informacji. W rezultacie zaczęliśmy budować sieć usług, które mogą ze sobą rozmawiać i „robić rzeczy” w sposób zdecentralizowany, przewidywalny oraz skalowalny. Rozmaite usługi, e-commerce i apki narzędziowe to właśnie rezultaty takiej „rozmowy” pomiędzy różnymi serwerami w sieci.

Podobną ewolucję obserwujemy dziś w świecie AI: od prostych, zamkniętych modeli – do coraz bardziej złożonych agentów, które nie tylko rozumieją i generują tekst, ale potrafią wchodzić w interakcje z zewnętrznym oprogramowaniem, realizując zadania i dostarczając realną wartość użytkownikom oraz systemom.

Aby taki ekosystem mógł się jednak rozwijać, niezbędne są standardy ułatwiające komunikację pomiędzy agentami AI a narzędziami dostarczającymi im funkcjonalności – czyli programiści muszą zadbać nie tylko o samą AI, lecz także o interoperacyjność. Jednym z najciekawszych rozwijanych obecnie standardów w tym obszarze jest Model Context Protocol (MCP), którego założenia idealnie wpisują się w potrzeby platform takich jak WordPress z jego Abilities API.

Model Context Protocol – streszczenie, założenia i architektura

MCP to otwarty protokół zaprojektowany po to, by umożliwić skuteczną, skalowalną oraz przewidywalną komunikację pomiędzy agentami AI (np. opartymi na LLM) a narzędziami, które wykonują konkretne akcje i dostarczają realnych efektów. Przykład? Generowanie obrazu, przeszukiwanie sieci czy odczytywanie plików PDF. MCP pozwala agentom, poza ich tekstową funkcjonalnością, sięgać po możliwości dostarczane przez zewnętrzne serwery – od operacji na danych przez automatyzacje po integracje z innymi usługami.

Na najważniejsze założenia MCP składają się:

  • Standaryzacja: Opisuje jednoznaczny sposób, w jaki agent LLM/AI komunikuje się z zewnętrznymi narzędziami (tools) za pośrednictwem MCP Servera.
  • Modularność: Serwer MCP może udostępniać jeden lub wiele „tools”, zorganizowanych w logiczne zestawy.
  • Opis meta-danych: Każde narzędzie (tool) opisuje swoje możliwości, oczekiwane parametry wejścia oraz format zwracanych odpowiedzi w postaci tzw. „abilities manifest”. Manifest ten przygotowuje narzędzie w taki sposób, aby agent AI mógł dynamicznie zrozumieć, jak z niego skorzystać.
  • Interoperacyjność: MCP nie ogranicza się do jednego języka programowania czy frameworka. Jako protokół HTTP (RESTful), może być zaimplementowany w dowolnym środowisku.

MCP w praktyce

Centralnym elementem wdrożenia MCP jest MCP Server – to właśnie on agreguje narzędzia oraz dostarcza agentom jednolite API do interakcji. Jeśli LLM uzna, że aby odpowiedzieć na zapytanie użytkownika musi sięgnąć po zewnętrzne dane lub wykonać akcję, komunikuje się z serwerem MCP, a ten – kierując się manifestem narzędzi – deleguje realizację konkretnego zadania do odpowiedniego toola. System ten umożliwia dodawanie, usuwanie lub aktualizację narzędzi bez konieczności zmian po stronie agentów.

Narzędzia (tools) w MCP to po prostu zewnętrzne funkcjonalności, które agent może wywołać. Każdy z nich eksponuje dokładnie zdefiniowany interfejs wejścia/wyjścia i „rejestruje się” w manifestach MCP, pozwalając agentowi zorientować się w możliwościach całego ekosystemu.

Dlaczego to ważne? Bo dzięki temu agent może np. pobrać dane z serwisu zewnętrznego, dokonać jakiejś operacji, wygenerować dokument albo wywołać akcję systemową – dynamicznie, bez twardej integracji lub ręcznego „oszukiwania” interfejsów.

Abilities API WordPressa – nowy poziom rozszerzalności

Wraz z wersją 6.5 WordPress udostępnił Abilities API – mechanizm budowania zadaniowych (intent-based) funkcji, które mogą być dynamicznie eksplorowane i wywoływane przez zewnętrzne systemy lub użytkowników w kontekście danego WordPressa.

Czym de facto jest Abilities API? Umożliwia ono rejestrowanie i eksponowanie tzw. „abilities” (zdolności) – funkcji, które są opisane pod kątem semantycznym (czyli: co robią, jakie mają parametry wejściowe, jakie są oczekiwane wyniki, jakie są konteksty ich wywołania). Każda zarejestrowana zdolność posiada więc manifest, zrozumiały zarówno dla API, jak i potencjalnych konsumentów, w tym agentów AI.

Ability to jednostka akcji, którą WordPress może wykonać – może to być np. utworzenie nowego wpisu, wysłanie powiadomienia, pobranie statystyk czy wykonanie operacji na postach. Dzięki temu WordPress staje się nie tylko CMS-em reagującym na klasyczne żądania http, ale także systemem oferującym „usługi” dla inteligentnych agentów lub procesów automatyzacji.

Brzmi podobnie do MCP, prawda?

Abilities API jako zaplecze pod serwer MCP

Możemy więc potraktować WordPressa wyposażonego w Abilities API jako naturalne zaplecze pod budowę własnego serwera MCP. Każda zdolność staje się narzędziem MCP, z opisem metadanych, parametrami wejścia/wyjścia i endpointem do wywołań. Serwer MCP może agregować abilities, generować manifest dla narzędzi oraz odpowiadać na zapytania od agentów AI w sposób zgodny ze specyfikacją protokołu MCP. Dzięki tej architekturze WordPress staje się jeszcze bardziej plastycznym, interaktywnym i rozszerzalnym ekosystemem. Postaram się wkrótce przedstawić prosty boilerplate pod samodzielną budowę takiego rozwiązania.

WordPress „umie w AI”

Wygląda więc na to, że WordPress nadal odmawia odejścia do lamus. Co więcej, wszystko wskazuje na to, że znakomicie odnajduje się on w rzeczywistości dynamicznie rozwijającej się AI oraz nowych, otwartych protokołów integracyjnych. My natomiast, rozumiejąc, czym jest MCP i jaką rolę pełni Abilities API, możemy realnie wyposażyć WordPressa w funkcję serwera MCP: przekształcić go w uniwersalny i rozszerzalny „backend” dla inteligentnych agentów i automatyzacji.


Fot. obraz wygenerowany przez ChatGPT