{"id":33080,"date":"2026-02-13T05:00:00","date_gmt":"2026-02-13T04:00:00","guid":{"rendered":"https:\/\/sii.pl\/blog\/?p=33080"},"modified":"2026-02-10T15:28:29","modified_gmt":"2026-02-10T14:28:29","slug":"koniec-z-dlugiem-technicznym-angular-cli-mcp-server-jako-wsparcie-dla-twojego-asystenta-ai","status":"publish","type":"post","link":"https:\/\/sii.pl\/blog\/koniec-z-dlugiem-technicznym-angular-cli-mcp-server-jako-wsparcie-dla-twojego-asystenta-ai\/","title":{"rendered":"Koniec z d\u0142ugiem technicznym? Angular CLI MCP Server jako wsparcie dla Twojego asystenta AI"},"content":{"rendered":"\n<p>Angular CLI (Command Line Interface) od dawna stanowi jedno z podstawowych narz\u0119dzi ekosystemu Angular. Automatyzuje rutynowe zadania \u2013 od inicjalizacji projektu (<code>ng new<\/code>) i generowania kluczowych element\u00f3w architektury (<code>ng generate component, ng generate service<\/code>), po budowanie, serwowanie i testowanie aplikacji. Nie tylko usprawnia prac\u0119 dewelopera, ale tak\u017ce cz\u0119\u015bciowo narzuca <strong>jednolite, najlepsze praktyki i struktur\u0119<\/strong>, co jest nieocenione szczeg\u00f3lnie w du\u017cych zespo\u0142ach i z\u0142o\u017conych projektach.<\/p>\n\n\n\n<p>Ostatnie lata przynios\u0142y prze\u0142om w narz\u0119dziach deweloperskich za spraw\u0105 sztucznej inteligencji, w szczeg\u00f3lno\u015bci <strong>du\u017cych modeli j\u0119zykowych <\/strong>(ang. Large Language Model, LLM). Asystenci AI, tacy jak Github Copilot czy dedykowane narz\u0119dzia w \u015brodowiskach IDE, sta\u0142y si\u0119 integraln\u0105 cz\u0119\u015bci\u0105 codziennej pracy, oferuj\u0105c szybkie sugestie, uzupe\u0142nianie kodu, a nawet generowanie z\u0142o\u017conych funkcjonalno\u015bci.<\/p>\n\n\n\n<p>Problem pojawia si\u0119, gdy te modele, pomimo ogromnej wiedzy, musz\u0105 podejmowa\u0107 decyzje w kontek\u015bcie konkretnego projektu \u2013 jego unikalnej struktury plik\u00f3w, aktualnych wersji zale\u017cno\u015bci czy specyficznych konwencji nazewnictwa. Modele te, bazuj\u0105ce na statycznych danych treningowych, si\u0119gaj\u0105cych 2-3 lata wstecz, cz\u0119sto nie s\u0105 \u015bwiadome realnego kontekstu przestrzeni roboczej Angulara, co prowadzi do generowania nieoptymalnego lub wr\u0119cz przestarza\u0142ego (ang. legacy) kodu.<br><br><strong>Angular, b\u0119d\u0105c technologi\u0105 niezwykle dynamiczn\u0105<\/strong>, wprowadzi\u0142 w ostatnich latach mn\u00f3stwo ulepsze\u0144 i nowych, wydajnych API, kt\u00f3re znacznie podnosz\u0105 komfort kodowania. Niestety, LLM-y pozostaj\u0105 nie\u015bwiadome tych zmian. Funkcja Web Search, oferowana przez wielu dostawc\u00f3w AI, tylko cz\u0119\u015bciowo rozwi\u0105zuje ten problem, poniewa\u017c mo\u017ce ona odczytywa\u0107 zar\u00f3wno nieaktualne strony internetowe, jak i tre\u015bci niskiej jako\u015bci (a nawet artyku\u0142y generowane przez same LLM-y). W efekcie, generowany kod mo\u017ce z marszu sta\u0107 si\u0119 <strong>kodem legacy<\/strong>, kt\u00f3ry wymaga r\u0119cznego refaktoringu.<\/p>\n\n\n\n<p>Aby w pe\u0142ni wykorzysta\u0107 potencja\u0142 AI, potrzebujemy interfejsu, kt\u00f3ry zapewni modelom dost\u0119p do aktualnej i autorytatywnej wiedzy na temat konkretnej przestrzeni roboczej Angulara.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Czym jest Model Context Protocol (MCP) Server?<\/strong><\/h2>\n\n\n\n<p>Model Context Protocol (MCP) Server to ustandaryzowany serwer protoko\u0142u, kt\u00f3ry ma na celu u\u0142atwienie komunikacji w czasie rzeczywistym mi\u0119dzy du\u017cymi modelami j\u0119zykowymi a narz\u0119dziami deweloperskimi i \u015brodowiskiem kodu. W swojej istocie MCP Server dzia\u0142a jako inteligentny t\u0142umacz i pomost.<\/p>\n\n\n\n<p>Zamiast polega\u0107 wy\u0142\u0105cznie na wbudowanej wiedzy, LLM mo\u017ce wysy\u0142a\u0107 zapytania do serwera MCP, aby uzyska\u0107 <strong>aktualny kontekst <\/strong>na temat projektu, narz\u0119dzi, a nawet najlepszych praktyk. Serwer ten udost\u0119pnia LLM-om zestaw <strong>specjalistycznych funkcji <\/strong>(ang. tools), kt\u00f3re te mog\u0105 wywo\u0142ywa\u0107. Dzi\u0119ki temu, model AI mo\u017ce wykonywa\u0107 precyzyjne operacje w \u015brodowisku deweloperskim, takie jak:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Pobieranie konfiguracji: Zrozumienie struktury projektu.<\/li>\n\n\n\n<li>Wyszukiwanie danych: Dost\u0119p do aktualnej dokumentacji.<\/li>\n\n\n\n<li>Wywo\u0142ywanie akcji: Uruchamianie specyficznych polece\u0144 narz\u0119dzi.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Angular CLI MCP Server<\/strong><\/h2>\n\n\n\n<p>Angular CLI MCP Server to <strong>eksperymentalna implementacja<\/strong> protoko\u0142u MCP, stworzona specjalnie dla ekosystemu Angulara. Jej g\u0142\u00f3wnym celem jest wyposa\u017cenie asystent\u00f3w AI w zdolno\u015b\u0107 do <strong>interakcji i rozumienia przestrzeni roboczej Angulara<\/strong> z dok\u0142adno\u015bci\u0105, kt\u00f3rej nie s\u0105 w stanie osi\u0105gn\u0105\u0107 same modele j\u0119zykowe.<\/p>\n\n\n\n<p>Dost\u0119pne narz\u0119dzia:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>get_best_practices<\/code> \u2013 pobiera Oficjalny Przewodnik Najlepszych Praktyk Kodowania Angulara, zapewniaj\u0105c aktualne standardy.<\/li>\n\n\n\n<li><code>search_documentation<\/code> \u2013 wyszukuje w dokumentacji angular.dev w czasie rzeczywistym.<\/li>\n\n\n\n<li><code>list_projects<\/code> \u2013 analizuje plik angular.json i zwraca pe\u0142n\u0105 struktur\u0119 przestrzeni roboczej (aplikacje, biblioteki, konfiguracje).<\/li>\n\n\n\n<li><code>ai_tutor<\/code> \u2013 uruchamia interaktywny tutor AI zorientowany na wiedz\u0119 o Angularze.<\/li>\n\n\n\n<li><code>find_examples<\/code> \u2013 wyszukuje autorytatywne przyk\u0142ady kodu zgodne z najlepszymi praktykami.<\/li>\n\n\n\n<li><code>onpush-zoneless-migration<\/code> \u2013 analizuje kod i tworzy plan migracji do strategii wykrywania zmian OnPush, przygotowuj\u0105c aplikacj\u0119 do przysz\u0142ego modelu zoneless.<\/li>\n\n\n\n<li><code>modernize<\/code> \u2013 wykonuje migracje kodu i dostarcza instrukcje, jak unowocze\u015bni\u0107 istniej\u0105cy kod Angulara (narz\u0119dzie eksperymentalne).<\/li>\n<\/ul>\n\n\n\n<p>Lista narz\u0119dzi jest ci\u0105gle rozszerzana, warto wi\u0119c \u015bledzi\u0107 oficjaln\u0105 <a href=\"https:\/\/angular.dev\/ai\/mcp\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >dokumentacj\u0119<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Konfiguracja<\/strong><\/h2>\n\n\n\n<p>Narz\u0119dzie jest dost\u0119pne dla wielu \u015brodowisk, Ja w omawianych przyk\u0142adach b\u0119d\u0119 u\u017cywa\u0107 <strong>VS Code<\/strong> z <strong>Github Copilotem<\/strong> oraz model <strong>Claude Sonnet 4.5 <\/strong>\u2013w tym wypadku konfiguracja sprowadza si\u0119 do dodania <code>.vscode\/mcp.json<\/code> o tre\u015bci:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n{\n  &quot;servers&quot;: {\n    &quot;angular-cli&quot;: {\n      &quot;command&quot;: &quot;npx&quot;,\n      &quot;args&quot;: &#x5B;&quot;-y&quot;, &quot;@angular\/cli&quot;, &quot;mcp&quot;]\n    }\n  }\n}\n<\/pre><\/div>\n\n\n<p>Po tej operacji powinni\u015bmy mie\u0107 w oknie czatu mo\u017cliwo\u015b\u0107 wyboru narz\u0119dzia angular-cli.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"550\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/image1-1-1024x550.png\" alt=\"okno czatu z dost\u0119pnym narz\u0119dziem angular-cli\" class=\"wp-image-33081\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/image1-1-1024x550.png 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/image1-1-300x161.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/image1-1-768x413.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/image1-1-1536x826.png 1536w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/image1-1.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Ryc. 1 Okno czatu z dost\u0119pnym narz\u0119dziem angular-cli<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Przyk\u0142ady u\u017cycia<\/strong><\/h2>\n\n\n\n<p>Pierwsze, co rzuci\u0142o mi si\u0119 w oczy zaraz po konfiguracji, to fakt, \u017ce m\u00f3j agent do tworzenia komponent\u00f3w czy serwis\u00f3w zacz\u0105\u0142 wykorzystywa\u0107 angular-cli, czego domy\u015blnie nie robi\u0142.<\/p>\n\n\n\n<p>Druga r\u00f3\u017cnica widoczna jest w generowanym kodzie. Dla przyk\u0142adu utworzy\u0142am dwa identyczne projekty \u2013 Angular CLI MCP Server i bez MCP, a nast\u0119pnie poprosi\u0142am o stworzenie przyk\u0142adowego serwisu API i komponentu do logowania. Poni\u017cej najbardziej znacz\u0105ce fragmenty.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Bez MCP<\/strong><\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n\/\/TypeScript\n@Component({\n  selector: &#039;app-login&#039;,\n  standalone: true,\n  imports: &#x5B;CommonModule, ReactiveFormsModule],\n  templateUrl: &#039;.\/login.component.html&#039;,\n  styleUrl: &#039;.\/login.component.scss&#039;\n})\nexport class LoginComponent {\n  loginForm: FormGroup;\n  isLoading = false;\n  errorMessage = &#039;&#039;;\n\n  constructor(\n    private fb: FormBuilder,\n    private router: Router\n  ) {\n    this.loginForm = this.fb.group({\n      email: &#x5B;&#039;&#039;, &#x5B;Validators.required, Validators.email]],\n      password: &#x5B;&#039;&#039;, &#x5B;Validators.required, Validators.minLength(6)]]\n    });\n  }\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n\/\/HTML\n\n&lt;div class=&quot;error-message&quot; *ngIf=&quot;email?.invalid &amp;&amp; email?.touched&quot;&gt;\n          &lt;span *ngIf=&quot;email?.errors?.&#x5B;&#039;required&#039;]&quot;&gt;Email is required&lt;\/span&gt;\n          &lt;span *ngIf=&quot;email?.errors?.&#x5B;&#039;email&#039;]&quot;&gt;Please enter a valid email&lt;\/span&gt;\n        &lt;\/div&gt;\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\"><strong>Z Angular CLI MCP Server<\/strong><\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n\/\/TypeScript\n@Component({\n  selector: &#039;app-login&#039;,\n  imports: &#x5B;ReactiveFormsModule],\n  templateUrl: &#039;.\/login.html&#039;,\n  styleUrl: &#039;.\/login.scss&#039;,\n})\nexport class Login {\n  private readonly fb = inject(FormBuilder);\n  private readonly api = inject(Api);\n\n  protected readonly isLoading = signal(false);\n  protected readonly errorMessage = signal&lt;string | null&gt;(null);\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n\/\/HTML \n@if (loginForm.controls.email.invalid &amp;&amp; loginForm.controls.email.touched) {\n        &lt;span class=&quot;field-error&quot;&gt;Please enter a valid email&lt;\/span&gt;\n      }\n<\/pre><\/div>\n\n\n<p>Nie ulega w\u0105tpliwo\u015bci, \u017ce w drugim przypadku agent napisa\u0142 kod lepiej przystaj\u0105cy do najnowszych standard\u00f3w. Kluczowe r\u00f3\u017cnice to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>wykorzystanie <code>inject<\/code> zamiast konstruktora do wstrzykiwania zale\u017cno\u015bci,<\/li>\n\n\n\n<li>reaktywno\u015b\u0107 oparta na sygna\u0142ach,<\/li>\n\n\n\n<li>pomini\u0119cie flagi <code>standalone:true<\/code>, kt\u00f3ra sta\u0142a si\u0119 domy\u015blna od wersji 19. W przypadku HTML zast\u0105pi\u0142 dyrektyw\u0119 <code>*ngIf<\/code> now\u0105 sk\u0142adni\u0105 <code>@if<\/code>, kt\u00f3ra jest bardziej wydajna i czytelna.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/oferty-pracy\/\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"737\" height=\"170\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/praca-m.jpg\" alt=\"oferty pracy\" class=\"wp-image-33083\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/praca-m.jpg 737w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/praca-m-300x69.jpg 300w\" sizes=\"(max-width: 737px) 100vw, 737px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Podsumowanie<\/strong><\/h2>\n\n\n\n<p><strong>Angular CLI MCP Server<\/strong> to niew\u0105tpliwie brakuj\u0105ce ogniwo w pracy z asystentami AI. Zamiast zgadywa\u0107 struktur\u0119 plik\u00f3w lub proponowa\u0107 rozwi\u0105zania sprzed lat, Copilot czy Claude zyskuj\u0105 wreszcie \u201eoczy i uszy\u201d wewn\u0105trz Twojego projektu. Dzi\u0119ki temu generowany kod przestaje by\u0107 \u017ar\u00f3d\u0142em d\u0142ugu technologicznego, a staje si\u0119 realnym wsparciem w utrzymaniu wysokiej jako\u015bci.<\/p>\n\n\n\n<p>Warto jednak pami\u0119ta\u0107, \u017ce <strong>jest to narz\u0119dzie w fazie eksperymentalnej <\/strong>(ang. development preview). Ekosystem MCP rozwija si\u0119 niezwykle dynamicznie, co oznacza, \u017ce lista dost\u0119pnych funkcji mo\u017ce si\u0119 zmienia\u0107, a samo narz\u0119dzie mo\u017ce wymaga\u0107 od nas czasem odrobiny cierpliwo\u015bci. Nie nale\u017cy traktowa\u0107 go wi\u0119c jeszcze jako ostatecznej wyroczni, ale jako znacz\u0105ce wsparcie w codziennym kodowaniu.<\/p>\n\n\n\n<p>Najlepszym sposobem na ocen\u0119 przydatno\u015bci <strong>Angular CLI MCP Server <\/strong>jest przetestowanie go na w\u0142asnym kodzie. Zach\u0119cam do eksperymentowania i \u015bledzenia rozwoju tego projektu, bo wydaje si\u0119, \u017ce tak w\u0142a\u015bnie wygl\u0105da przysz\u0142o\u015b\u0107 efektywnego programowania.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Przydatne linki<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/angular.dev\/ai\/mcp\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >Angular CLI MCP Server setup<\/a><\/li>\n<\/ul>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;33080&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;0&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;0&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;11&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;0\\\/5 ( votes: 0)&quot;,&quot;size&quot;:&quot;18&quot;,&quot;title&quot;:&quot;Koniec z d\u0142ugiem technicznym? Angular CLI MCP Server jako wsparcie dla Twojego asystenta AI&quot;,&quot;width&quot;:&quot;0&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} ( {votes}: {count})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 0px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 14.4px;\">\n            <span class=\"kksr-muted\"><\/span>\n    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Angular CLI (Command Line Interface) od dawna stanowi jedno z podstawowych narz\u0119dzi ekosystemu Angular. Automatyzuje rutynowe zadania \u2013 od inicjalizacji &hellip; <a class=\"continued-btn\" href=\"https:\/\/sii.pl\/blog\/koniec-z-dlugiem-technicznym-angular-cli-mcp-server-jako-wsparcie-dla-twojego-asystenta-ai\/\">Continued<\/a><\/p>\n","protected":false},"author":773,"featured_media":33085,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","inline_featured_image":false,"footnotes":""},"categories":[1314],"tags":[2427,1546,1512,680,867],"class_list":["post-33080","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development-na-twardo","tag-digital","tag-przeglad-narzedzi","tag-poradnik","tag-ai","tag-angular"],"acf":[],"aioseo_notices":[],"republish_history":[],"featured_media_url":"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/Coding_2.jpg","category_names":["Development na twardo"],"_links":{"self":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/33080"}],"collection":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/users\/773"}],"replies":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/comments?post=33080"}],"version-history":[{"count":1,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/33080\/revisions"}],"predecessor-version":[{"id":33087,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/33080\/revisions\/33087"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media\/33085"}],"wp:attachment":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media?parent=33080"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/categories?post=33080"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/tags?post=33080"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}