{"id":99622,"date":"2025-03-01T16:37:50","date_gmt":"2025-03-01T13:07:50","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/powering-up-ai-models-by-handing-them-tools-18pp\/"},"modified":"2025-03-01T16:37:50","modified_gmt":"2025-03-01T13:07:50","slug":"powering-up-ai-models-by-handing-them-tools-18pp","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/powering-up-ai-models-by-handing-them-tools-18pp\/","title":{"rendered":"\u0628\u0627 \u062a\u062d\u0648\u06cc\u0644 \u0627\u0628\u0632\u0627\u0631\u0647\u0627 \u0628\u0647 \u0645\u062f\u0644 \u0647\u0627\u06cc AI"},"content":{"rendered":"<div data-article-id=\"2304787\" id=\"article-body\">\n<p><em>\u0645\u0642\u062f\u0645\u0647 \u0627\u06cc \u0645\u062e\u062a\u0635\u0631 \u062f\u0631 \u0645\u0648\u0631\u062f \u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 LLM \u0647\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u067e\u0631\u0648\u062a\u06a9\u0644 Model Context \u0628\u0627 \u0633\u0627\u062e\u062a\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u06cc\u0632\u0628\u0627\u0646 \u062e\u0648\u062f \u062f\u0631 TypeScript.<\/em><\/p>\n<p>\u0628\u06cc\u0634\u062a\u0631 LLM \u0647\u0627 \u0628\u0631\u0627\u06cc \u0645\u06a9\u0627\u0644\u0645\u0627\u062a \u0633\u0627\u062f\u0647 \u0639\u0627\u0644\u06cc \u0647\u0633\u062a\u0646\u062f \u060c \u0627\u0645\u0627 \u062a\u0648\u0627\u0646\u0627\u06cc\u06cc \u062a\u0639\u0627\u0645\u0644 \u0628\u0627 \u0645\u062d\u06cc\u0637 \u062e\u0648\u062f \u0631\u0627 \u0646\u062f\u0627\u0631\u0646\u062f. \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u067e\u0631\u0648\u062a\u06a9\u0644 \u0632\u0645\u06cc\u0646\u0647 Model (MCP) \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 LLM \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0637\u06cc\u0641 \u06af\u0633\u062a\u0631\u062f\u0647 \u0627\u06cc \u0627\u0632 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0645\u0646\u0628\u0639 \u0628\u0627\u0632 \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0647\u06cc\u0645 \u06a9\u0647 \u0628\u0647 \u0622\u0646 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627 \u0639\u0645\u0644 \u0639\u0627\u0645\u0644 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u062f.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0627\u0628\u062a\u062f\u0627 \u0628\u0647 \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627\u06cc \u0627\u0635\u0644\u06cc MCP \u0645\u06cc \u067e\u0631\u062f\u0627\u0632\u06cc\u0645 \u060c \u0633\u067e\u0633 \u06cc\u06a9 \u0639\u0627\u0645\u0644 \u0633\u0627\u062f\u0647 AI \u0631\u0627 \u0645\u06cc \u0633\u0627\u0632\u06cc\u0645 \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0627\u0632 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc\u06cc \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0648\u0628 \u0648 \u0646\u0648\u0634\u062a\u0646 \u067e\u0631\u0648\u0646\u062f\u0647 \u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u062f. \u0645\u0627 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0627 \u0628\u0627 \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u06cc\u0645 \u06a9\u0647 \u0627\u0632 \u0686\u0646\u062f\u06cc\u0646 \u0645\u0634\u062a\u0631\u06cc \u0628\u0631\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0633\u0631\u0648\u0631\u0647\u0627\u06cc MCP \u0645\u0648\u062c\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f \u060c \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0627\u06cc\u0646 \u0633\u0631\u0648\u0631\u0647\u0627 \u0631\u0627 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u06cc\u06a9 LLM \u0642\u0631\u0627\u0631 \u0645\u06cc \u062f\u0647\u062f \u0648 \u062a\u0645\u0627\u0633 \u0647\u0627\u06cc \u0627\u0628\u0632\u0627\u0631 \u0631\u0627 \u06a9\u0647 \u062a\u0648\u0633\u0637 LLM \u0633\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a \u060c \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"\u062a\u063a\u06cc\u06cc\u0631 \u0648\u0636\u0639\u06cc\u062a \u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/powering-up-ai-models-by-handing-them-tools-18pp\/#%DA%86%DA%AF%D9%88%D9%86%D9%87_%D9%BE%D8%B1%D9%88%D8%AA%DA%A9%D9%84_%D8%B2%D9%85%DB%8C%D9%86%D9%87_%D9%85%D8%AF%D9%84_%DA%A9%D8%A7%D8%B1_%D9%85%DB%8C_%DA%A9%D9%86%D8%AF\" >\u0686\u06af\u0648\u0646\u0647 \u067e\u0631\u0648\u062a\u06a9\u0644 \u0632\u0645\u06cc\u0646\u0647 \u0645\u062f\u0644 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/powering-up-ai-models-by-handing-them-tools-18pp\/#%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1\" >\u0627\u0628\u0632\u0627\u0631<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/powering-up-ai-models-by-handing-them-tools-18pp\/#%D9%85%D9%86%D8%A7%D8%A8%D8%B9\" >\u0645\u0646\u0627\u0628\u0639<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/powering-up-ai-models-by-handing-them-tools-18pp\/#%D8%A7%D8%B9%D9%84%D8%A7%D9%86\" >\u0627\u0639\u0644\u0627\u0646<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/powering-up-ai-models-by-handing-them-tools-18pp\/#%D9%88%DB%8C%DA%98%DA%AF%DB%8C_%D9%87%D8%A7%DB%8C_%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9%87\" >\u0648\u06cc\u0698\u06af\u06cc \u0647\u0627\u06cc \u067e\u06cc\u0634\u0631\u0641\u062a\u0647<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/powering-up-ai-models-by-handing-them-tools-18pp\/#%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D9%BE%D8%B1%D9%88%DA%98%D9%87\" >\u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u067e\u0631\u0648\u0698\u0647<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/powering-up-ai-models-by-handing-them-tools-18pp\/#1_%DB%8C%DA%A9_%D8%AD%D8%B3%D8%A7%D8%A8_%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%DB%8C_%D8%A8%D8%A7_%D8%A7%D9%86%D8%B3%D8%A7%D9%86_%D8%B4%D9%86%D8%A7%D8%B3%DB%8C_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >1. \u06cc\u06a9 \u062d\u0633\u0627\u0628 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0628\u0627 \u0627\u0646\u0633\u0627\u0646 \u0634\u0646\u0627\u0633\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/powering-up-ai-models-by-handing-them-tools-18pp\/#2_%DB%8C%DA%A9_%D9%BE%D9%88%D8%B4%D9%87_%D9%BE%D8%B1%D9%88%DA%98%D9%87_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >2. \u06cc\u06a9 \u067e\u0648\u0634\u0647 \u067e\u0631\u0648\u0698\u0647 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nabfollower.com\/blog\/powering-up-ai-models-by-handing-them-tools-18pp\/#3_%D9%88%D8%A7%D8%A8%D8%B3%D8%AA%DA%AF%DB%8C_%D9%87%D8%A7_%D8%B1%D8%A7_%D9%86%D8%B5%D8%A8_%DA%A9%D9%86%DB%8C%D8%AF\" >3. \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627 \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/nabfollower.com\/blog\/powering-up-ai-models-by-handing-them-tools-18pp\/#4_%D8%AA%D9%86%D8%B8%DB%8C%D9%85_%D9%85%D8%AA%D8%BA%DB%8C%D8%B1%D9%87%D8%A7%DB%8C_ENV_%D9%88_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_TypeScript\" >4. \u062a\u0646\u0638\u06cc\u0645 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc ENV \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc TypeScript<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/nabfollower.com\/blog\/powering-up-ai-models-by-handing-them-tools-18pp\/#%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%D9%85%DB%8C%D8%B2%D8%A8%D8%A7%D9%86_%DA%A9%D9%87_%D8%A8%D9%87_%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1%D9%87%D8%A7_%D9%85%D8%AA%D8%B5%D9%84_%D9%85%DB%8C_%D8%B4%D9%88%D8%AF\" >\u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u0632\u0628\u0627\u0646 \u06a9\u0647 \u0628\u0647 \u0627\u0628\u0632\u0627\u0631\u0647\u0627 \u0645\u062a\u0635\u0644 \u0645\u06cc \u0634\u0648\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/nabfollower.com\/blog\/powering-up-ai-models-by-handing-them-tools-18pp\/#%D8%A7%D9%86%D8%AA%D9%82%D8%A7%D9%84_%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1_%D8%A8%D9%87_%D9%85%DB%8C%D8%B2%D8%A8%D8%A7%D9%86\" >\u0627\u0646\u062a\u0642\u0627\u0644 \u0627\u0628\u0632\u0627\u0631 \u0628\u0647 \u0645\u06cc\u0632\u0628\u0627\u0646<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/nabfollower.com\/blog\/powering-up-ai-models-by-handing-them-tools-18pp\/#%D8%A7%D8%AA%D8%B5%D8%A7%D9%84_%D9%85%DB%8C%D8%B2%D8%A8%D8%A7%D9%86_%D8%A8%D9%87_LLM\" >\u0627\u062a\u0635\u0627\u0644 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0628\u0647 LLM<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/nabfollower.com\/blog\/powering-up-ai-models-by-handing-them-tools-18pp\/#%D8%AA%D9%85%D8%A7%D8%B3_%D8%A8%D8%A7_LLM\" >\u062a\u0645\u0627\u0633 \u0628\u0627 LLM<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/nabfollower.com\/blog\/powering-up-ai-models-by-handing-them-tools-18pp\/#%D9%BE%D8%A7%DB%8C%D8%A7%D9%86\" >\u067e\u0627\u06cc\u0627\u0646<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/nabfollower.com\/blog\/powering-up-ai-models-by-handing-them-tools-18pp\/#%D8%BA%D8%B0%D8%A7%DB%8C_%D8%A7%D8%B5%D9%84%DB%8C\" >\u063a\u0630\u0627\u06cc \u0627\u0635\u0644\u06cc<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%DA%86%DA%AF%D9%88%D9%86%D9%87_%D9%BE%D8%B1%D9%88%D8%AA%DA%A9%D9%84_%D8%B2%D9%85%DB%8C%D9%86%D9%87_%D9%85%D8%AF%D9%84_%DA%A9%D8%A7%D8%B1_%D9%85%DB%8C_%DA%A9%D9%86%D8%AF\"><\/span>\n<p>  \u0686\u06af\u0648\u0646\u0647 \u067e\u0631\u0648\u062a\u06a9\u0644 \u0632\u0645\u06cc\u0646\u0647 \u0645\u062f\u0644 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>MCP \u06cc\u06a9 \u067e\u0631\u0648\u062a\u06a9\u0644 \u0628\u0627\u0632 \u0627\u0633\u062a \u06a9\u0647 \u0646\u062d\u0648\u0647 \u0627\u0631\u0627\u0626\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0632\u0645\u06cc\u0646\u0647 LLMS \u0631\u0627 \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u0645\u06cc \u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0633\u0631\u0648\u0631\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0627\u0628\u0632\u0627\u0631\u0647\u0627 \u0648 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc\u06cc \u0631\u0627 \u0628\u0647 \u0645\u0634\u062a\u0631\u06cc MCP \u062f\u0631 \u06cc\u06a9 \u0642\u0627\u0644\u0628 \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u0646\u062f \u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u0648\u062f \u0648 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0647\u0627\u06cc\u06cc \u0628\u0627\u0634\u062f \u06a9\u0647 \u06cc\u06a9 \u06cc\u0627 \u0686\u0646\u062f \u0646\u0641\u0631 \u0627\u0632 \u0627\u06cc\u0646 \u0645\u0634\u062a\u0631\u06cc \u0647\u0627 \u0631\u0627 \u0628\u0647 LLM \u0645\u062a\u0635\u0644 \u0645\u06cc \u06a9\u0646\u0646\u062f. \u0633\u067e\u0633 LLM \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0627\u0628\u0632\u0627\u0631\u0647\u0627 \u0648 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0631\u0627 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>             \u250c\u2500\u2500&gt;client_1&lt;\u2500\u2500&gt;server_1\nLLM&lt;\u2500\u2500&gt;host&lt;\u2500\u2524\n             \u2514\u2500\u2500&gt;client_2&lt;\u2500\u2500&gt;server_2\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><em>\u0646\u0645\u0648\u062f\u0627\u0631 \u06a9\u0647 \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u06cc\u0646 \u0645\u06cc\u0632\u0628\u0627\u0646 \u060c LLM \u060c \u0645\u0634\u062a\u0631\u06cc \u0648 \u0633\u0631\u0648\u0631\u0647\u0627 \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f<\/em><\/p>\n<p>\u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0633\u0631\u0648\u0631\u0647\u0627\u06cc MCP \u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0647\u0633\u062a\u0646\u062f \u06a9\u0647 \u0647\u0631 \u0631\u0648\u0632 \u0628\u06cc\u0634\u062a\u0631 \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc \u0634\u0648\u062f. \u0639\u0645\u0644\u06a9\u0631\u062f \u0622\u0646\u0647\u0627 \u0627\u0632 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 git \u060c \u062a\u0627 \u06a9\u0646\u062a\u0631\u0644 Spotify \u060c \u062c\u0633\u062a\u062c\u0648\u06cc \u0648\u0628 \u0648 \u0645\u0648\u0627\u0631\u062f \u062f\u06cc\u06af\u0631 \u0645\u062a\u063a\u06cc\u0631 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u0633\u0631\u0648\u0631\u0647\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f LLM \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u062f\u0633\u062a\u06cc\u0627\u0631 \u0645\u0641\u06cc\u062f \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0646\u0646\u062f \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u06a9\u0627\u0631\u0647\u0627\u06cc \u067e\u06cc\u0686\u06cc\u062f\u0647 \u0627\u06cc \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1\"><\/span>\n<p>  \u0627\u0628\u0632\u0627\u0631<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u0628\u0632\u0627\u0631\u0647\u0627 \u062a\u0648\u0627\u0628\u0639 \u0642\u0627\u0628\u0644 \u062a\u0645\u0627\u0633 \u0647\u0633\u062a\u0646\u062f \u06a9\u0647 \u062a\u0648\u0633\u0637 \u0633\u0631\u0648\u0631 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0627\u0633\u062a. LLM \u0642\u0627\u062f\u0631 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f \u062a\u0627 \u062f\u0631 \u0635\u0648\u0631\u062a \u0644\u0632\u0648\u0645 \u060c \u0628\u0627 \u0627\u0633\u062a\u062f\u0644\u0627\u0644\u0647\u0627\u06cc \u062e\u0627\u0635 &#8211; \u0628\u0627 \u0627\u0633\u062a\u062f\u0644\u0627\u0644\u0647\u0627\u06cc \u062e\u0627\u0635 \u062e\u0648\u0627\u0633\u062a\u0647 \u0634\u0648\u062f &#8211; \u0648 \u0628\u0631\u0627\u06cc \u0646\u062a\u06cc\u062c\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f \u0628\u0647 LLM \u0628\u0631\u06af\u0631\u062f\u062f. \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644 \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u0645\u062d\u0627\u0633\u0628\u0647 \u06a9\u0647 \u062f\u0648 \u0645\u0642\u062f\u0627\u0631 \u0631\u0627 \u0628\u0647 \u062e\u0648\u062f \u0627\u062e\u062a\u0635\u0627\u0635 \u062f\u0627\u062f\u0647 \u0648 \u062c\u0645\u0639 \u0622\u0646\u0647\u0627 \u0631\u0627 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D9%86%D8%A7%D8%A8%D8%B9\"><\/span>\n<p>  \u0645\u0646\u0627\u0628\u0639<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0645\u0646\u0627\u0628\u0639 \u062f\u0627\u062f\u0647 \u0634\u062f\u0647 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 LLM \u0647\u0633\u062a\u0646\u062f. \u0628\u0631 \u062e\u0644\u0627\u0641 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06cc\u06a9 \u0627\u0628\u0632\u0627\u0631 \u060c \u062a\u0645\u0627\u0633 \u0628\u0627 \u06cc\u06a9 \u0645\u0646\u0628\u0639 \u0647\u06cc\u0686 \u0639\u0648\u0627\u0631\u0636 \u062c\u0627\u0646\u0628\u06cc \u0646\u062e\u0648\u0627\u0647\u062f \u062f\u0627\u0634\u062a. \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644 \u060c \u0631\u062f\u06cc\u0641 \u0647\u0627\u06cc \u062e\u0637\u0627\u06cc \u062e\u0637\u0627 \u0627\u0632 \u06cc\u06a9 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u060c \u0627\u0645\u0627 \u0646\u0648\u0634\u062a\u0646 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u0628\u0647 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0646\u06cc\u0633\u062a.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%A7%D8%B9%D9%84%D8%A7%D9%86\"><\/span>\n<p>  \u0627\u0639\u0644\u0627\u0646<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u0639\u0644\u0627\u0646 \u0647\u0627 \u0627\u0633\u0627\u0633\u0627\u064b \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0633\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u0633\u0631\u0648\u0631 \u0647\u0633\u062a\u0646\u062f. \u0622\u0646\u0647\u0627 \u06cc\u06a9 \u0627\u0633\u062a\u062f\u0644\u0627\u0644 \u0645\u06cc \u06a9\u0646\u0646\u062f \u060c \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0627\u0644\u06af\u0648\u06cc \u0648\u0627\u0631\u062f \u0645\u06cc \u06a9\u0646\u0646\u062f \u0648 \u067e\u06cc\u0627\u0645\u06cc \u0631\u0627 \u0628\u0627 \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644 \u0647\u0627 \u0628\u0627\u0632 \u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u0646\u062f \u060c \u0622\u0645\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u0627\u0646\u062a\u0642\u0627\u0644 \u0628\u0647 LLM. \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644 \u060c \u0633\u0631\u06cc\u0639 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f <code>research<\/code> \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0645\u0648\u0636\u0648\u0639\u06cc \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0627\u0633\u062a\u062f\u0644\u0627\u0644 \u0645\u0637\u0631\u062d \u06a9\u0646\u062f \u0648 \u0628\u0627 \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644 \u0647\u0627\u06cc \u062f\u0642\u06cc\u0642 \u062f\u0631 \u0645\u0648\u0631\u062f \u0686\u06af\u0648\u0646\u06af\u06cc \u0627\u0646\u062a\u0638\u0627\u0631 LLM \u0628\u0631\u0627\u06cc \u062a\u062d\u0642\u06cc\u0642 \u062f\u0631 \u0645\u0648\u0631\u062f \u0645\u0648\u0636\u0648\u0639 \u060c \u0633\u0631\u06cc\u0639\u0627\u064b \u0628\u0631\u06af\u0631\u062f\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%88%DB%8C%DA%98%DA%AF%DB%8C_%D9%87%D8%A7%DB%8C_%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9%87\"><\/span>\n<p>  \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627\u06cc \u067e\u06cc\u0634\u0631\u0641\u062a\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0633\u0627\u06cc\u0631 \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627\u06cc \u067e\u06cc\u0634\u0631\u0641\u062a\u0647 \u062a\u0631 \u062f\u0631 \u067e\u0631\u0648\u062a\u06a9\u0644 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u060c \u0645\u0627\u0646\u0646\u062f \u0646\u0645\u0648\u0646\u0647 \u06af\u06cc\u0631\u06cc \u060c \u0631\u06cc\u0634\u0647 \u0648 \u062d\u0645\u0644 \u0648 \u0646\u0642\u0644 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc \u0633\u0631\u0648\u0631. \u0645\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0628\u0647 \u0622\u0646\u0647\u0627 \u0627\u062d\u062a\u06cc\u0627\u062c \u0646\u062e\u0648\u0627\u0647\u06cc\u0645 \u062f\u0627\u0634\u062a \u060c \u0627\u0645\u0627 \u0622\u0646\u0647\u0627 \u0627\u06cc\u062f\u0647 \u0627\u06cc \u0627\u0632 \u0627\u0646\u0639\u0637\u0627\u0641 \u067e\u0630\u06cc\u0631\u06cc MCP \u0628\u0647 \u0634\u0645\u0627 \u0645\u06cc \u062f\u0647\u0646\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D9%BE%D8%B1%D9%88%DA%98%D9%87\"><\/span>\n<p>  \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u067e\u0631\u0648\u0698\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0642\u0628\u0644 \u0627\u0632 \u0646\u0648\u0634\u062a\u0646 \u0647\u0631 \u06a9\u062f \u060c \u0628\u0627\u06cc\u062f \u0645\u062d\u06cc\u0637 \u0648 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u0645.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"1_%DB%8C%DA%A9_%D8%AD%D8%B3%D8%A7%D8%A8_%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%DB%8C_%D8%A8%D8%A7_%D8%A7%D9%86%D8%B3%D8%A7%D9%86_%D8%B4%D9%86%D8%A7%D8%B3%DB%8C_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  1. \u06cc\u06a9 \u062d\u0633\u0627\u0628 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0628\u0627 \u0627\u0646\u0633\u0627\u0646 \u0634\u0646\u0627\u0633\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u0631\u0627\u06cc \u0628\u0631\u0642\u0631\u0627\u0631\u06cc \u062a\u0645\u0627\u0633 \u0628\u0627 API \u0627\u0646\u0633\u0627\u0646 \u0634\u0646\u0627\u0633\u06cc \u060c \u0628\u0627\u06cc\u062f \u062f\u0631 \u06a9\u0646\u0633\u0648\u0644 API \u0627\u0646\u0633\u0627\u0646 \u0634\u0646\u0627\u0633\u06cc \u06cc\u06a9 \u062d\u0633\u0627\u0628 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u0648 \u0627\u0639\u062a\u0628\u0627\u0631 \u062e\u0648\u062f \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f. 5 \u062f\u0644\u0627\u0631 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0628\u06cc\u0634 \u0627\u0632 \u062d\u062f \u06a9\u0627\u0641\u06cc \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"2_%DB%8C%DA%A9_%D9%BE%D9%88%D8%B4%D9%87_%D9%BE%D8%B1%D9%88%DA%98%D9%87_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  2. \u06cc\u06a9 \u067e\u0648\u0634\u0647 \u067e\u0631\u0648\u0698\u0647 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u06cc\u06a9 \u067e\u0648\u0634\u0647 \u0628\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647 \u0648 \u0641\u0647\u0631\u0633\u062a \u06a9\u0627\u0631 \u0641\u0639\u0644\u06cc \u0631\u0627 \u0628\u0647 \u0627\u06cc\u0646 \u067e\u0648\u0634\u0647 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"nb\">mkdir <\/span>mcp-host <span class=\"o\">&amp;&amp;<\/span> <span class=\"nb\">cd <\/span>mcp-host\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"3_%D9%88%D8%A7%D8%A8%D8%B3%D8%AA%DA%AF%DB%8C_%D9%87%D8%A7_%D8%B1%D8%A7_%D9%86%D8%B5%D8%A8_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  3. \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627 \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u06af\u0631 \u0642\u0628\u0644\u0627\u064b \u0622\u0646 \u0631\u0627 \u0646\u062f\u0627\u0631\u06cc\u062f \u060c PNPM \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f. \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 CorePack \u06a9\u0647 \u0628\u0627 node.js. \u06af\u0646\u062c\u0627\u0646\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a \u060c \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>corepack <span class=\"nb\">enable <\/span>pnpm\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0633\u067e\u0633 PNPM \u0631\u0627 \u0622\u063a\u0627\u0632 \u06a9\u0646\u06cc\u062f \u0648 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>pnpm init <span class=\"o\">&amp;&amp;<\/span> pnpm add @anthropic-ai\/sdk @modelcontextprotocol\/sdk dotenv <span class=\"o\">&amp;&amp;<\/span> pnpm add <span class=\"nt\">-D<\/span> @types\/node\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0645\u0627 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0633\u0631\u0648\u0631\u0647\u0627\u06cc MCP \u06a9\u0647 \u062f\u0631 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0646\u0648\u0634\u062a\u0647 \u0634\u062f\u0647 \u0627\u0646\u062f \u0628\u0647 UV \u062e\u0648\u0627\u0647\u06cc\u0645 \u0631\u0633\u06cc\u062f<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>brew <span class=\"nb\">install <\/span>uv\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"4_%D8%AA%D9%86%D8%B8%DB%8C%D9%85_%D9%85%D8%AA%D8%BA%DB%8C%D8%B1%D9%87%D8%A7%DB%8C_ENV_%D9%88_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_TypeScript\"><\/span>\n<p>  4. \u062a\u0646\u0638\u06cc\u0645 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc ENV \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc TypeScript<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u0631\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0627\u06cc\u0645\u0646 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc ENV \u0648 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u06a9\u0644\u06cc\u062f API \u0627\u0646\u0633\u0627\u0646 \u0634\u0646\u0627\u0633\u06cc \u060c \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0631 \u06a9\u0646\u0633\u0648\u0644 \u0627\u0646\u0633\u0627\u0646 \u0634\u0646\u0627\u0633\u06cc \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f \u060c \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"nb\">echo<\/span> <span class=\"s2\">\"ANTHROPIC_API_KEY=[YOUR API KEY HERE]\"<\/span> <span class=\"o\">&gt;<\/span> .env\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0645\u0627 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0628\u0631\u062e\u06cc \u0627\u0632 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0647\u0627\u06cc \u0627\u0633\u0627\u0633\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc TypeScript \u0627\u0636\u0627\u0641\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f. \u0627\u0628\u062a\u062f\u0627 \u067e\u0631\u0648\u0646\u062f\u0647 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"nb\">touch <\/span>tsconfig.json\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0633\u067e\u0633 \u0642\u0648\u0627\u0646\u06cc\u0646 \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0647 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f <code>tsconfig.json<\/code> \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u0632 \u0633\u0637\u062d \u0628\u0627\u0644\u0627 \u062f\u0631 \u0627\u0646\u062a\u0638\u0627\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"p\">{<\/span><span class=\"w\">\n  <\/span><span class=\"nl\">\"compilerOptions\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n    <\/span><span class=\"nl\">\"module\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"s2\">\"esnext\"<\/span><span class=\"p\">,<\/span><span class=\"w\">\n    <\/span><span class=\"nl\">\"moduleResolution\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"s2\">\"node\"<\/span><span class=\"p\">,<\/span><span class=\"w\">\n    <\/span><span class=\"nl\">\"esModuleInterop\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"kc\">true<\/span><span class=\"p\">,<\/span><span class=\"w\">\n    <\/span><span class=\"nl\">\"target\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"s2\">\"esnext\"<\/span><span class=\"p\">,<\/span><span class=\"w\">\n    <\/span><span class=\"nl\">\"types\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"p\">[<\/span><span class=\"s2\">\"node\"<\/span><span class=\"p\">]<\/span><span class=\"w\">\n  <\/span><span class=\"p\">},<\/span><span class=\"w\">\n  <\/span><span class=\"nl\">\"include\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"p\">[<\/span><span class=\"s2\">\"**\/*.ts\"<\/span><span class=\"p\">]<\/span><span class=\"w\">\n<\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%D9%85%DB%8C%D8%B2%D8%A8%D8%A7%D9%86_%DA%A9%D9%87_%D8%A8%D9%87_%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1%D9%87%D8%A7_%D9%85%D8%AA%D8%B5%D9%84_%D9%85%DB%8C_%D8%B4%D9%88%D8%AF\"><\/span>\n<p>  \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u0632\u0628\u0627\u0646 \u06a9\u0647 \u0628\u0647 \u0627\u0628\u0632\u0627\u0631\u0647\u0627 \u0645\u062a\u0635\u0644 \u0645\u06cc \u0634\u0648\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0642\u0628\u0644 \u0627\u0632 \u0634\u0631\u0648\u0639 \u0628\u0631\u0642\u0631\u0627\u0631\u06cc \u062a\u0645\u0627\u0633 \u0628\u0627 API LLM \u060c \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0627\u0631\u062a\u0628\u0627\u0637 \u0631\u0627 \u0628\u0627 \u0633\u0631\u0648\u0631\u0647\u0627\u06cc MCP \u0628\u0633\u0627\u0632\u06cc\u0645 \u0648 \u0622\u0632\u0645\u0627\u06cc\u0634 \u06a9\u0646\u06cc\u0645. \u0641\u0627\u06cc\u0644\u06cc \u0628\u0647 \u0646\u0627\u0645 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f <code>host.ts<\/code>\u0628\u0634\u0631 \u06cc\u06a9 \u06a9\u0644\u0627\u0633 \u0631\u0627 \u0628\u0627 \u062a\u0627\u0628\u0639\u06cc \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0622\u0631\u0627\u06cc\u0647 \u0627\u06cc \u0627\u0632 \u0633\u0631\u0648\u0631\u0647\u0627 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0622\u0646 \u0645\u06cc \u0628\u0631\u062f \u060c \u06cc\u06a9 \u0645\u0634\u062a\u0631\u06cc MCP \u0631\u0627 \u0628\u0631\u0627\u06cc \u0647\u0631 \u06cc\u06a9 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0633\u067e\u0633 \u0645\u0634\u062a\u0631\u06cc \u0631\u0627 \u0628\u0647 \u0633\u0631\u0648\u0631 \u0648\u0635\u0644 \u0645\u06cc \u06a9\u0646\u062f. \u0628\u0631\u0627\u06cc \u0647\u0631 \u0645\u0634\u062a\u0631\u06cc \u060c \u0645\u0627 \u062a\u0645\u0627\u0645 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u0627\u0632 \u0633\u0631\u0648\u0631 \u0645\u062a\u0635\u0644 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u0648 \u0622\u0646\u0647\u0627 \u0631\u0627 \u0628\u0647 \u0646\u0642\u0634\u0647 \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0628\u0647 \u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u0648\u0642\u062a\u06cc \u0632\u0645\u0627\u0646 \u062a\u0645\u0627\u0633 \u0628\u0627 \u0627\u0628\u0632\u0627\u0631 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc \u0634\u0648\u062f \u060c \u0645\u0634\u062a\u0631\u06cc \u0645\u0646\u0627\u0633\u0628 \u0631\u0627 \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u0645. \u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631 \u0645\u0627 \u0641\u0642\u0637 \u062a\u0645\u0627\u0645 \u0646\u0627\u0645 \u0647\u0627\u06cc \u0627\u0628\u0632\u0627\u0631 \u0631\u0627 \u0648\u0627\u0631\u062f \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u062a\u0627 \u0628\u0628\u06cc\u0646\u06cc\u0645 \u0627\u062a\u0635\u0627\u0644\u0627\u062a \u06a9\u0627\u0631 \u06a9\u0631\u062f\u0647 \u0627\u0646\u062f \u0648 \u06a9\u062f\u0627\u0645 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc\u06cc \u0631\u0627 \u06a9\u0647 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 LLM \u0642\u0631\u0627\u0631 \u062e\u0648\u0627\u0647\u06cc\u0645 \u062f\u0627\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight typescript\"><code><span class=\"c1\">\/\/ host.ts<\/span>\n\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">StdioServerParameters<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">@modelcontextprotocol\/sdk\/client\/stdio<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">StdioClientTransport<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">@modelcontextprotocol\/sdk\/client\/stdio<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">Client<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">@modelcontextprotocol\/sdk\/client\/index<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">Tool<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">@anthropic-ai\/sdk\/resources<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n\n<span class=\"kd\">type<\/span> <span class=\"nx\">Server<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">StdioServerParameters<\/span> <span class=\"o\">&amp;<\/span> <span class=\"p\">{<\/span> <span class=\"na\">name<\/span><span class=\"p\">:<\/span> <span class=\"kr\">string<\/span> <span class=\"p\">};<\/span>\n\n<span class=\"k\">export<\/span> <span class=\"kd\">class<\/span> <span class=\"nc\">Host<\/span> <span class=\"p\">{<\/span>\n  <span class=\"k\">private<\/span> <span class=\"nx\">clients<\/span><span class=\"p\">:<\/span> <span class=\"nx\">Client<\/span><span class=\"p\">[]<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[];<\/span>\n  <span class=\"k\">private<\/span> <span class=\"nx\">tools<\/span><span class=\"p\">:<\/span> <span class=\"nx\">Tool<\/span><span class=\"p\">[]<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[];<\/span>\n  <span class=\"k\">private<\/span> <span class=\"nx\">toolToClientMap<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Record<\/span><span class=\"o\">&lt;<\/span><span class=\"kr\">string<\/span><span class=\"p\">,<\/span> <span class=\"nx\">Client<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{};<\/span>\n\n  <span class=\"k\">async<\/span> <span class=\"nf\">connect<\/span><span class=\"p\">(<\/span><span class=\"nx\">servers<\/span><span class=\"p\">:<\/span> <span class=\"nx\">Server<\/span><span class=\"p\">[])<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">for <\/span><span class=\"p\">(<\/span><span class=\"kd\">const<\/span> <span class=\"nx\">server<\/span> <span class=\"k\">of<\/span> <span class=\"nx\">servers<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n      <span class=\"kd\">const<\/span> <span class=\"nx\">transport<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">StdioClientTransport<\/span><span class=\"p\">(<\/span><span class=\"nx\">server<\/span><span class=\"p\">);<\/span>\n      <span class=\"kd\">const<\/span> <span class=\"nx\">client<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">Client<\/span><span class=\"p\">({<\/span>\n        <span class=\"na\">name<\/span><span class=\"p\">:<\/span> <span class=\"nx\">server<\/span><span class=\"p\">.<\/span><span class=\"nx\">name<\/span> <span class=\"o\">+<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">-client<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n        <span class=\"na\">version<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">1.0.0<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n      <span class=\"p\">});<\/span>\n      <span class=\"k\">await<\/span> <span class=\"nx\">client<\/span><span class=\"p\">.<\/span><span class=\"nf\">connect<\/span><span class=\"p\">(<\/span><span class=\"nx\">transport<\/span><span class=\"p\">);<\/span>\n      <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">clients<\/span><span class=\"p\">.<\/span><span class=\"nf\">push<\/span><span class=\"p\">(<\/span><span class=\"nx\">client<\/span><span class=\"p\">);<\/span>\n      <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"s2\">`Connected to <\/span><span class=\"p\">${<\/span><span class=\"nx\">server<\/span><span class=\"p\">.<\/span><span class=\"nx\">name<\/span><span class=\"p\">}<\/span><span class=\"s2\">`<\/span><span class=\"p\">);<\/span>\n\n      <span class=\"kd\">const<\/span> <span class=\"nx\">tools<\/span> <span class=\"o\">=<\/span> <span class=\"p\">(<\/span><span class=\"k\">await<\/span> <span class=\"nx\">client<\/span><span class=\"p\">.<\/span><span class=\"nf\">listTools<\/span><span class=\"p\">()).<\/span><span class=\"nx\">tools<\/span><span class=\"p\">;<\/span>\n      <span class=\"k\">for <\/span><span class=\"p\">(<\/span><span class=\"kd\">const<\/span> <span class=\"nx\">tool<\/span> <span class=\"k\">of<\/span> <span class=\"nx\">tools<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"k\">if <\/span><span class=\"p\">(<\/span><span class=\"nx\">tool<\/span><span class=\"p\">.<\/span><span class=\"nx\">inputSchema<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n          <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">tools<\/span><span class=\"p\">.<\/span><span class=\"nf\">push<\/span><span class=\"p\">({<\/span>\n            <span class=\"na\">name<\/span><span class=\"p\">:<\/span> <span class=\"nx\">tool<\/span><span class=\"p\">.<\/span><span class=\"nx\">name<\/span><span class=\"p\">,<\/span>\n            <span class=\"na\">description<\/span><span class=\"p\">:<\/span> <span class=\"nx\">tool<\/span><span class=\"p\">.<\/span><span class=\"nx\">description<\/span><span class=\"p\">,<\/span>\n            <span class=\"na\">input_schema<\/span><span class=\"p\">:<\/span> <span class=\"nx\">tool<\/span><span class=\"p\">.<\/span><span class=\"nx\">inputSchema<\/span> <span class=\"k\">as<\/span> <span class=\"nx\">Tool<\/span><span class=\"p\">.<\/span><span class=\"nx\">InputSchema<\/span><span class=\"p\">,<\/span>\n          <span class=\"p\">});<\/span>\n          <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">toolToClientMap<\/span><span class=\"p\">[<\/span><span class=\"nx\">tool<\/span><span class=\"p\">.<\/span><span class=\"nx\">name<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">client<\/span><span class=\"p\">;<\/span>\n        <span class=\"p\">}<\/span>\n      <span class=\"p\">}<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span>\n      <span class=\"dl\">\"<\/span><span class=\"s2\">Available tools: <\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n      <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">tools<\/span><span class=\"p\">.<\/span><span class=\"nf\">map<\/span><span class=\"p\">((<\/span><span class=\"nx\">tool<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nx\">tool<\/span><span class=\"p\">.<\/span><span class=\"nx\">name<\/span><span class=\"p\">)<\/span>\n    <span class=\"p\">);<\/span>\n  <span class=\"p\">}<\/span>\n\n  <span class=\"k\">async<\/span> <span class=\"nf\">disconnect<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">for <\/span><span class=\"p\">(<\/span><span class=\"kd\">const<\/span> <span class=\"nx\">client<\/span> <span class=\"k\">of<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">clients<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n      <span class=\"k\">await<\/span> <span class=\"nx\">client<\/span><span class=\"p\">.<\/span><span class=\"nf\">close<\/span><span class=\"p\">();<\/span>\n    <span class=\"p\">}<\/span>\n  <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%D9%86%D8%AA%D9%82%D8%A7%D9%84_%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1_%D8%A8%D9%87_%D9%85%DB%8C%D8%B2%D8%A8%D8%A7%D9%86\"><\/span>\n<p>  \u0627\u0646\u062a\u0642\u0627\u0644 \u0627\u0628\u0632\u0627\u0631 \u0628\u0647 \u0645\u06cc\u0632\u0628\u0627\u0646<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0641\u0627\u06cc\u0644\u06cc \u0628\u0647 \u0646\u0627\u0645 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f <code>main.ts<\/code> \u062c\u0627\u06cc\u06cc \u06a9\u0647 \u0645\u0627 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0631\u0627 \u0622\u063a\u0627\u0632 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f \u0648 \u0628\u0631\u062e\u06cc \u0627\u0632 \u0627\u0628\u0632\u0627\u0631\u0647\u0627 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0622\u0646 \u0645\u0646\u062a\u0642\u0644 \u0645\u06cc \u06a9\u0646\u06cc\u0645. \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0627\u0632 \u0633\u0631\u0648\u0631\u0647\u0627\u06cc &#8220;Fetch&#8221; \u0648 &#8220;FileSystem&#8221; \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u062a\u06cc\u0645 MCP \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f. \u0627\u0632 \u0633\u0631\u0648\u0631 &#8220;Fetch&#8221; \u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646 \u06cc\u06a9 \u0648\u0628 \u0633\u0627\u06cc\u062a \u062f\u0631 \u06cc\u06a9 URL \u062e\u0627\u0635 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f \u060c \u0648 &#8220;\u0633\u06cc\u0633\u062a\u0645 \u0641\u0627\u06cc\u0644&#8221; \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u067e\u0631\u0648\u0646\u062f\u0647 \u0647\u0627 \u0631\u0627 \u062f\u0631 \u067e\u0648\u0634\u0647 \u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u0647 \u0622\u0646\u0647\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0631\u0646\u062f \u060c \u0628\u062e\u0648\u0627\u0646\u062f \u060c \u0628\u0646\u0648\u06cc\u0633\u062f \u0648 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u06a9\u0646\u062f. \u0645\u0648\u0631\u062f \u0633\u0648\u0645 \u062f\u0631 <code>args<\/code> \u0627\u0632 &#8220;\u0633\u06cc\u0633\u062a\u0645 \u0641\u0627\u06cc\u0644&#8221; \u0645\u0633\u06cc\u0631\u06cc \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0641\u0647\u0631\u0633\u062a \u0627\u0633\u062a. \u0627\u06cc\u0646 \u0631\u0627 \u0628\u0647 \u0645\u0633\u06cc\u0631 \u067e\u0648\u0634\u0647 \u0627\u06cc \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u067e\u0631\u0648\u0698\u0647 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f.<\/p>\n<p>\u0628\u0639\u062f \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0628\u0647 \u0633\u0631\u0648\u0631\u0647\u0627 \u0648\u0635\u0644 \u0634\u062f\u06cc\u0645 \u0648 \u062a\u0645\u0627\u0645 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc\u06cc \u0631\u0627 \u06a9\u0647 \u0628\u0631\u0627\u06cc \u067e\u0627\u06cc\u0627\u0646 \u062f\u0627\u062f\u0646 \u0628\u0647 \u0627\u06cc\u0646 \u0631\u0648\u0646\u062f \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0642\u0637\u0639 \u062f\u0627\u0631\u06cc\u0645 \u060c \u0630\u06a9\u0631 \u06a9\u0631\u062f\u06cc\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight typescript\"><code><span class=\"c1\">\/\/ main.ts<\/span>\n\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">Host<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">.\/host<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n\n<span class=\"kd\">const<\/span> <span class=\"nx\">servers<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span>\n  <span class=\"p\">{<\/span>\n    <span class=\"na\">name<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">fetch<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n    <span class=\"na\">command<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">uvx<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n    <span class=\"na\">args<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">mcp-server-fetch<\/span><span class=\"dl\">\"<\/span><span class=\"p\">],<\/span>\n  <span class=\"p\">},<\/span>\n  <span class=\"p\">{<\/span>\n    <span class=\"na\">name<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">filesystem<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n    <span class=\"na\">command<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">npx<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n    <span class=\"na\">args<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span>\n      <span class=\"dl\">\"<\/span><span class=\"s2\">-y<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n      <span class=\"dl\">\"<\/span><span class=\"s2\">@modelcontextprotocol\/server-filesystem<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n      <span class=\"dl\">\"<\/span><span class=\"s2\">\/Users\/yourname\/mcp-host<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"c1\">\/\/ Replace with path to folder for this project<\/span>\n    <span class=\"p\">],<\/span>\n  <span class=\"p\">},<\/span>\n<span class=\"p\">];<\/span>\n\n<span class=\"kd\">const<\/span> <span class=\"nx\">host<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">Host<\/span><span class=\"p\">();<\/span>\n<span class=\"k\">await<\/span> <span class=\"nx\">host<\/span><span class=\"p\">.<\/span><span class=\"nf\">connect<\/span><span class=\"p\">(<\/span><span class=\"nx\">servers<\/span><span class=\"p\">);<\/span>\n<span class=\"k\">await<\/span> <span class=\"nx\">host<\/span><span class=\"p\">.<\/span><span class=\"nf\">disconnect<\/span><span class=\"p\">();<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0631\u062f\u0647 \u0648 \u0633\u06cc\u0627\u0647\u0647\u0647\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0633\u0631\u0648\u0631\u0647\u0627 \u0648 \u0644\u06cc\u0633\u062a \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>npx tsx main.ts\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%D8%AA%D8%B5%D8%A7%D9%84_%D9%85%DB%8C%D8%B2%D8%A8%D8%A7%D9%86_%D8%A8%D9%87_LLM\"><\/span>\n<p>  \u0627\u062a\u0635\u0627\u0644 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0628\u0647 LLM<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u067e\u0633 \u0627\u0632 \u062a\u0623\u06cc\u06cc\u062f \u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0628\u0647 \u0633\u0631\u0648\u0631\u0647\u0627\u06cc MCP \u0648\u0635\u0644 \u0634\u0648\u06cc\u0645 \u0648 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0622\u0646\u0647\u0627 \u0631\u0627 \u0644\u06cc\u0633\u062a \u06a9\u0646\u06cc\u0645 \u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0631\u0627 \u0628\u0647 LLM \u0648\u0635\u0644 \u06a9\u0646\u06cc\u0645 \u0648 \u0644\u06cc\u0633\u062a\u06cc \u0627\u0632 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u0631\u0627 LLM \u0645\u0646\u062a\u0642\u0644 \u06a9\u0646\u06cc\u0645. \u0645\u062f\u0644 \u0647\u0627\u06cc Claude Anthropic \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u06cc\u06a9 \u0622\u0631\u06af\u0648\u0645\u0627\u0646 \u0627\u0628\u0632\u0627\u0631\u06cc \u0631\u0627 \u0645\u06cc \u067e\u0630\u06cc\u0631\u0646\u062f \u0648 \u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 LLM \u0628\u062e\u0648\u0627\u0647\u062f \u0627\u0628\u0632\u0627\u0631 \u0631\u0627 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u062f \u060c \u06cc\u06a9 \u0628\u0644\u0648\u06a9 &#8220;\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0628\u0632\u0627\u0631&#8221; \u0631\u0627 \u062f\u0631 \u067e\u0627\u0633\u062e \u062e\u0648\u062f \u0642\u0631\u0627\u0631 \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<p>\u0648\u0642\u062a\u06cc \u067e\u0627\u0633\u062e\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u060c \u0627\u0628\u062a\u062f\u0627 \u0645\u062a\u0646 \u0631\u0627 \u0648\u0627\u0631\u062f \u0645\u06cc \u06a9\u0646\u06cc\u0645. \u0633\u067e\u0633 \u060c \u0627\u06af\u0631 \u06cc\u06a9 \u0628\u0644\u0648\u06a9 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06a9\u062f \u0645\u0648\u062c\u0648\u062f \u0628\u0627\u0634\u062f \u060c \u0645\u0627 \u0627\u0632 \u0646\u0642\u0634\u0647 \u0627\u06cc \u06a9\u0647 \u0642\u0628\u0644\u0627\u064b \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u06cc\u0645 \u0628\u0631\u0627\u06cc \u06cc\u0627\u0641\u062a\u0646 \u0645\u0634\u062a\u0631\u06cc \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645. \u0645\u0627 \u0628\u0647 \u0622\u0646 \u0645\u0634\u062a\u0631\u06cc \u0645\u06cc \u06af\u0648\u06cc\u06cc\u0645 \u06a9\u0647 \u0627\u0628\u0632\u0627\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u062f \u0648 \u0622\u0631\u06af\u0648\u0645\u0627\u0646 \u0647\u0627\u06cc \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 LLM \u0631\u0627 \u062a\u0635\u0648\u06cc\u0628 \u06a9\u0646\u062f. \u0633\u067e\u0633 \u0622\u0646 \u067e\u06cc\u0627\u0645 \u0631\u0627 \u0628\u0647 \u06a9\u0644\u0648\u062f \u0645\u0646\u062a\u0642\u0644 \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u0648 \u0645\u0646\u062a\u0638\u0631 \u067e\u0627\u0633\u062e \u0647\u0633\u062a\u06cc\u0645. \u0645\u0627 \u0647\u0645\u0686\u0646\u0627\u0646 \u062f\u0631 \u06a9\u0644 \u0627\u06cc\u0646 \u0631\u0648\u0646\u062f \u062d\u0644\u0642\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n<p>\u067e\u0627\u0633\u062e \u0646\u0647\u0627\u06cc\u06cc \u0646\u06cc\u0632 \u06cc\u06a9 <code>stop_reason<\/code> \u0627\u0631\u0632\u0634 <code>end_turn<\/code>\u060c \u0646\u0634\u0627\u0646 \u062f\u0647\u0646\u062f\u0647 \u0645\u062f\u0644 \u062a\u06a9\u0645\u06cc\u0644 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u060c \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0628\u0631\u0631\u0633\u06cc \u0627\u06cc\u0645\u0646 \u062a\u0631 \u0627\u0633\u062a \u060c \u0627\u0645\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u067e\u0631\u0648\u0698\u0647 \u0633\u0627\u062f\u0647 \u063a\u06cc\u0631 \u0636\u0631\u0648\u0631\u06cc \u0627\u0633\u062a.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight typescript\"><code><span class=\"c1\">\/\/ host.ts<\/span>\n\n<span class=\"k\">import<\/span> <span class=\"nx\">Anthropic<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">@anthropic-ai\/sdk<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">StdioServerParameters<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">@modelcontextprotocol\/sdk\/client\/stdio<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">StdioClientTransport<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">@modelcontextprotocol\/sdk\/client\/stdio<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">Client<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">@modelcontextprotocol\/sdk\/client\/index<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">ContentBlockParam<\/span><span class=\"p\">,<\/span>\n  <span class=\"nx\">ImageBlockParam<\/span><span class=\"p\">,<\/span>\n  <span class=\"nx\">MessageParam<\/span><span class=\"p\">,<\/span>\n  <span class=\"nx\">TextBlockParam<\/span><span class=\"p\">,<\/span>\n  <span class=\"nx\">Tool<\/span><span class=\"p\">,<\/span>\n<span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">@anthropic-ai\/sdk\/resources<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n\n<span class=\"kd\">type<\/span> <span class=\"nx\">Server<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">StdioServerParameters<\/span> <span class=\"o\">&amp;<\/span> <span class=\"p\">{<\/span> <span class=\"na\">name<\/span><span class=\"p\">:<\/span> <span class=\"kr\">string<\/span> <span class=\"p\">};<\/span>\n<span class=\"kd\">type<\/span> <span class=\"nx\">ToolResult<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span>\n  <span class=\"na\">content<\/span><span class=\"p\">:<\/span> <span class=\"kr\">string<\/span> <span class=\"o\">|<\/span> <span class=\"nb\">Array<\/span><span class=\"o\">&lt;<\/span><span class=\"nx\">TextBlockParam<\/span> <span class=\"o\">|<\/span> <span class=\"nx\">ImageBlockParam<\/span><span class=\"o\">&gt;<\/span><span class=\"p\">;<\/span>\n  <span class=\"nl\">isError<\/span><span class=\"p\">:<\/span> <span class=\"nx\">boolean<\/span><span class=\"p\">;<\/span>\n<span class=\"p\">};<\/span>\n\n<span class=\"k\">export<\/span> <span class=\"kd\">class<\/span> <span class=\"nc\">Host<\/span> <span class=\"p\">{<\/span>\n  <span class=\"k\">private<\/span> <span class=\"nx\">llmClient<\/span><span class=\"p\">:<\/span> <span class=\"nx\">Anthropic<\/span><span class=\"p\">;<\/span>\n  <span class=\"k\">private<\/span> <span class=\"nx\">clients<\/span><span class=\"p\">:<\/span> <span class=\"nx\">Client<\/span><span class=\"p\">[]<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[];<\/span>\n  <span class=\"k\">private<\/span> <span class=\"nx\">tools<\/span><span class=\"p\">:<\/span> <span class=\"nx\">Tool<\/span><span class=\"p\">[]<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[];<\/span>\n  <span class=\"k\">private<\/span> <span class=\"nx\">messages<\/span><span class=\"p\">:<\/span> <span class=\"nx\">MessageParam<\/span><span class=\"p\">[]<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[];<\/span>\n  <span class=\"k\">private<\/span> <span class=\"nx\">toolToClientMap<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Record<\/span><span class=\"o\">&lt;<\/span><span class=\"kr\">string<\/span><span class=\"p\">,<\/span> <span class=\"nx\">Client<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{};<\/span>\n\n  <span class=\"nf\">constructor<\/span><span class=\"p\">(<\/span><span class=\"nx\">llmClient<\/span><span class=\"p\">:<\/span> <span class=\"nx\">Anthropic<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">llmClient<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">llmClient<\/span><span class=\"p\">;<\/span>\n  <span class=\"p\">}<\/span>\n\n  <span class=\"k\">async<\/span> <span class=\"nf\">connect<\/span><span class=\"p\">(<\/span><span class=\"nx\">servers<\/span><span class=\"p\">:<\/span> <span class=\"nx\">Server<\/span><span class=\"p\">[])<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">for <\/span><span class=\"p\">(<\/span><span class=\"kd\">const<\/span> <span class=\"nx\">server<\/span> <span class=\"k\">of<\/span> <span class=\"nx\">servers<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n      <span class=\"kd\">const<\/span> <span class=\"nx\">transport<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">StdioClientTransport<\/span><span class=\"p\">(<\/span><span class=\"nx\">server<\/span><span class=\"p\">);<\/span>\n      <span class=\"kd\">const<\/span> <span class=\"nx\">client<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">Client<\/span><span class=\"p\">({<\/span>\n        <span class=\"na\">name<\/span><span class=\"p\">:<\/span> <span class=\"nx\">server<\/span><span class=\"p\">.<\/span><span class=\"nx\">name<\/span> <span class=\"o\">+<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">-client<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n        <span class=\"na\">version<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">1.0.0<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n      <span class=\"p\">});<\/span>\n      <span class=\"k\">await<\/span> <span class=\"nx\">client<\/span><span class=\"p\">.<\/span><span class=\"nf\">connect<\/span><span class=\"p\">(<\/span><span class=\"nx\">transport<\/span><span class=\"p\">);<\/span>\n      <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">clients<\/span><span class=\"p\">.<\/span><span class=\"nf\">push<\/span><span class=\"p\">(<\/span><span class=\"nx\">client<\/span><span class=\"p\">);<\/span>\n      <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"s2\">`Connected to MCP server <\/span><span class=\"p\">${<\/span><span class=\"nx\">server<\/span><span class=\"p\">.<\/span><span class=\"nx\">name<\/span><span class=\"p\">}<\/span><span class=\"s2\">`<\/span><span class=\"p\">);<\/span>\n\n      <span class=\"kd\">const<\/span> <span class=\"nx\">tools<\/span> <span class=\"o\">=<\/span> <span class=\"p\">(<\/span><span class=\"k\">await<\/span> <span class=\"nx\">client<\/span><span class=\"p\">.<\/span><span class=\"nf\">listTools<\/span><span class=\"p\">()).<\/span><span class=\"nx\">tools<\/span><span class=\"p\">;<\/span>\n      <span class=\"k\">for <\/span><span class=\"p\">(<\/span><span class=\"kd\">const<\/span> <span class=\"nx\">tool<\/span> <span class=\"k\">of<\/span> <span class=\"nx\">tools<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"k\">if <\/span><span class=\"p\">(<\/span><span class=\"nx\">tool<\/span><span class=\"p\">.<\/span><span class=\"nx\">inputSchema<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n          <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">tools<\/span><span class=\"p\">.<\/span><span class=\"nf\">push<\/span><span class=\"p\">({<\/span>\n            <span class=\"na\">name<\/span><span class=\"p\">:<\/span> <span class=\"nx\">tool<\/span><span class=\"p\">.<\/span><span class=\"nx\">name<\/span><span class=\"p\">,<\/span>\n            <span class=\"na\">description<\/span><span class=\"p\">:<\/span> <span class=\"nx\">tool<\/span><span class=\"p\">.<\/span><span class=\"nx\">description<\/span><span class=\"p\">,<\/span>\n            <span class=\"na\">input_schema<\/span><span class=\"p\">:<\/span> <span class=\"nx\">tool<\/span><span class=\"p\">.<\/span><span class=\"nx\">inputSchema<\/span> <span class=\"k\">as<\/span> <span class=\"nx\">Tool<\/span><span class=\"p\">.<\/span><span class=\"nx\">InputSchema<\/span><span class=\"p\">,<\/span>\n          <span class=\"p\">});<\/span>\n          <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">toolToClientMap<\/span><span class=\"p\">[<\/span><span class=\"nx\">tool<\/span><span class=\"p\">.<\/span><span class=\"nx\">name<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">client<\/span><span class=\"p\">;<\/span>\n        <span class=\"p\">}<\/span>\n      <span class=\"p\">}<\/span>\n    <span class=\"p\">}<\/span>\n  <span class=\"p\">}<\/span>\n\n  <span class=\"k\">async<\/span> <span class=\"nf\">disconnect<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">for <\/span><span class=\"p\">(<\/span><span class=\"kd\">const<\/span> <span class=\"nx\">client<\/span> <span class=\"k\">of<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">clients<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n      <span class=\"k\">await<\/span> <span class=\"nx\">client<\/span><span class=\"p\">.<\/span><span class=\"nf\">close<\/span><span class=\"p\">();<\/span>\n    <span class=\"p\">}<\/span>\n  <span class=\"p\">}<\/span>\n\n  <span class=\"k\">private<\/span> <span class=\"k\">async<\/span> <span class=\"nf\">handleResponse<\/span><span class=\"p\">(<\/span><span class=\"nx\">response<\/span><span class=\"p\">:<\/span> <span class=\"nx\">Anthropic<\/span><span class=\"p\">.<\/span><span class=\"nx\">Messages<\/span><span class=\"p\">.<\/span><span class=\"nx\">Message<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">if <\/span><span class=\"p\">(<\/span><span class=\"nx\">response<\/span><span class=\"p\">.<\/span><span class=\"nx\">content<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">].<\/span><span class=\"kd\">type<\/span> <span class=\"o\">===<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">text<\/span><span class=\"dl\">\"<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n      <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"s2\">`[Claude]: <\/span><span class=\"p\">${<\/span><span class=\"nx\">response<\/span><span class=\"p\">.<\/span><span class=\"nx\">content<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">].<\/span><span class=\"nx\">text<\/span><span class=\"p\">}<\/span><span class=\"s2\">`<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">messages<\/span><span class=\"p\">.<\/span><span class=\"nf\">push<\/span><span class=\"p\">({<\/span>\n      <span class=\"na\">role<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">assistant<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n      <span class=\"na\">content<\/span><span class=\"p\">:<\/span> <span class=\"nx\">response<\/span><span class=\"p\">.<\/span><span class=\"nx\">content<\/span><span class=\"p\">,<\/span>\n    <span class=\"p\">});<\/span>\n\n    <span class=\"k\">if <\/span><span class=\"p\">(<\/span><span class=\"nx\">response<\/span><span class=\"p\">.<\/span><span class=\"nx\">content<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">]?.<\/span><span class=\"kd\">type<\/span> <span class=\"o\">===<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">tool_use<\/span><span class=\"dl\">\"<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n      <span class=\"kd\">const<\/span> <span class=\"nx\">toolUse<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">response<\/span><span class=\"p\">.<\/span><span class=\"nx\">content<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">];<\/span>\n      <span class=\"kd\">const<\/span> <span class=\"nx\">client<\/span> <span class=\"o\">=<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">toolToClientMap<\/span><span class=\"p\">[<\/span><span class=\"nx\">toolUse<\/span><span class=\"p\">.<\/span><span class=\"nx\">name<\/span><span class=\"p\">];<\/span>\n      <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"s2\">`Using tool: <\/span><span class=\"p\">${<\/span><span class=\"nx\">toolUse<\/span><span class=\"p\">.<\/span><span class=\"nx\">name<\/span><span class=\"p\">}<\/span><span class=\"s2\"> ...`<\/span><span class=\"p\">);<\/span>\n      <span class=\"kd\">const<\/span> <span class=\"nx\">toolResult<\/span> <span class=\"o\">=<\/span> <span class=\"p\">(<\/span><span class=\"k\">await<\/span> <span class=\"nx\">client<\/span><span class=\"p\">.<\/span><span class=\"nf\">callTool<\/span><span class=\"p\">({<\/span>\n        <span class=\"na\">name<\/span><span class=\"p\">:<\/span> <span class=\"nx\">toolUse<\/span><span class=\"p\">.<\/span><span class=\"nx\">name<\/span><span class=\"p\">,<\/span>\n        <span class=\"na\">arguments<\/span><span class=\"p\">:<\/span> <span class=\"nx\">toolUse<\/span><span class=\"p\">.<\/span><span class=\"nx\">input<\/span> <span class=\"k\">as<\/span> <span class=\"nb\">Record<\/span><span class=\"o\">&lt;<\/span><span class=\"kr\">string<\/span><span class=\"p\">,<\/span> <span class=\"nx\">unknown<\/span><span class=\"o\">&gt;<\/span><span class=\"p\">,<\/span>\n      <span class=\"p\">}))<\/span> <span class=\"k\">as<\/span> <span class=\"nx\">ToolResult<\/span><span class=\"p\">;<\/span>\n\n      <span class=\"kd\">const<\/span> <span class=\"nx\">message<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span>\n        <span class=\"p\">{<\/span>\n          <span class=\"na\">tool_use_id<\/span><span class=\"p\">:<\/span> <span class=\"nx\">toolUse<\/span><span class=\"p\">.<\/span><span class=\"nx\">id<\/span><span class=\"p\">,<\/span>\n          <span class=\"na\">type<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">tool_result<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n          <span class=\"na\">content<\/span><span class=\"p\">:<\/span> <span class=\"nx\">toolResult<\/span><span class=\"p\">.<\/span><span class=\"nx\">content<\/span><span class=\"p\">,<\/span>\n          <span class=\"na\">is_error<\/span><span class=\"p\">:<\/span> <span class=\"nx\">toolResult<\/span><span class=\"p\">.<\/span><span class=\"nx\">isError<\/span><span class=\"p\">,<\/span>\n        <span class=\"p\">}<\/span> <span class=\"k\">as<\/span> <span class=\"kd\">const<\/span><span class=\"p\">,<\/span>\n      <span class=\"p\">];<\/span>\n\n      <span class=\"k\">await<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nf\">call<\/span><span class=\"p\">(<\/span><span class=\"nx\">message<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n  <span class=\"p\">}<\/span>\n\n  <span class=\"k\">async<\/span> <span class=\"nf\">call<\/span><span class=\"p\">(<\/span><span class=\"nx\">message<\/span><span class=\"p\">:<\/span> <span class=\"kr\">string<\/span> <span class=\"o\">|<\/span> <span class=\"nb\">Array<\/span><span class=\"o\">&lt;<\/span><span class=\"nx\">ContentBlockParam<\/span><span class=\"o\">&gt;<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">messages<\/span><span class=\"p\">.<\/span><span class=\"nf\">push<\/span><span class=\"p\">({<\/span>\n      <span class=\"na\">role<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">user<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n      <span class=\"na\">content<\/span><span class=\"p\">:<\/span> <span class=\"nx\">message<\/span><span class=\"p\">,<\/span>\n    <span class=\"p\">});<\/span>\n\n    <span class=\"kd\">const<\/span> <span class=\"nx\">response<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">llmClient<\/span><span class=\"p\">.<\/span><span class=\"nx\">messages<\/span><span class=\"p\">.<\/span><span class=\"nf\">create<\/span><span class=\"p\">({<\/span>\n      <span class=\"na\">max_tokens<\/span><span class=\"p\">:<\/span> <span class=\"mi\">2048<\/span><span class=\"p\">,<\/span>\n      <span class=\"na\">messages<\/span><span class=\"p\">:<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">messages<\/span><span class=\"p\">,<\/span>\n      <span class=\"na\">tools<\/span><span class=\"p\">:<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">tools<\/span><span class=\"p\">,<\/span>\n      <span class=\"na\">model<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">claude-3-5-haiku-latest<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n    <span class=\"p\">});<\/span>\n\n    <span class=\"k\">return<\/span> <span class=\"k\">await<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nf\">handleResponse<\/span><span class=\"p\">(<\/span><span class=\"nx\">response<\/span><span class=\"p\">);<\/span>\n  <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D8%AA%D9%85%D8%A7%D8%B3_%D8%A8%D8%A7_LLM\"><\/span>\n<p>  \u062a\u0645\u0627\u0633 \u0628\u0627 LLM<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0633\u0631\u0627\u0646\u062c\u0627\u0645 \u060c \u0645\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0627\u0635\u0644\u06cc \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u062a\u0627 \u0645\u0634\u062a\u0631\u06cc \u0627\u0646\u0633\u0627\u0646 \u0634\u0646\u0627\u0633\u06cc \u0631\u0627 \u0641\u0648\u0631\u06cc \u06a9\u0646\u06cc\u0645 \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0645\u0646\u062a\u0642\u0644 \u06a9\u0646\u06cc\u0645. \u0633\u067e\u0633 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0633\u0631\u0648\u0631 \u0631\u0627 \u0645\u0646\u062a\u0642\u0644 \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u0648 \u0628\u0647 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0645\u06cc \u06af\u0648\u06cc\u06cc\u0645 \u06a9\u0647 \u0645\u0627\u0646\u0646\u062f \u06af\u0630\u0634\u062a\u0647 \u0628\u0647 \u0633\u0631\u0648\u0631\u0647\u0627 \u0645\u062a\u0635\u0644 \u0634\u0648\u062f. \u0633\u0631\u0627\u0646\u062c\u0627\u0645 \u060c \u0645\u0627 \u067e\u06cc\u0627\u0645\u06cc \u0631\u0627 \u0628\u0647 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0645\u0646\u062a\u0642\u0644 \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u0648 \u0628\u0647 \u0622\u0646 \u062f\u0633\u062a\u0648\u0631 \u0645\u06cc \u062f\u0647\u06cc\u0645 \u06a9\u0647 \u0635\u0641\u062d\u0647 \u0645\u0642\u062f\u0645\u0647 \u0633\u0627\u06cc\u062a MCP \u0631\u0627 \u0648\u0627\u06af\u0630\u0627\u0631 \u06a9\u0646\u062f \u060c \u0645\u062d\u062a\u0648\u0627 \u0631\u0627 \u062e\u0644\u0627\u0635\u0647 \u06a9\u0646\u06cc\u0645 \u0648 \u062e\u0644\u0627\u0635\u0647 \u0631\u0627 \u062f\u0631 \u067e\u0631\u0648\u0646\u062f\u0647 \u0627\u06cc \u0628\u0631\u0627\u06cc \u0645\u0627 \u0628\u0646\u0648\u06cc\u0633\u06cc\u0645.<\/p>\n<p>\u0627\u0632 \u0622\u0646\u062c\u0627 \u06a9\u0647 LLM \u0641\u0642\u0637 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0645\u0634\u062a\u0631\u06cc &#8220;FileSystem&#8221; \u0628\u0647 \u06cc\u06a9 \u067e\u0648\u0634\u0647 \u0648\u0627\u062d\u062f \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0631\u062f \u060c \u0627\u06cc\u0646 \u067e\u0631\u0648\u0646\u062f\u0647 \u0631\u0627 \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0622\u0646 \u062a\u0647\u06cc\u0647 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f \u0645\u06cc \u0646\u0648\u06cc\u0633\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight typescript\"><code><span class=\"c1\">\/\/ main.ts<\/span>\n\n<span class=\"k\">import<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">dotenv\/config<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"nx\">Anthropic<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">@anthropic-ai\/sdk<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">Host<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">.\/host<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n\n<span class=\"kd\">const<\/span> <span class=\"nx\">anthropicClient<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">Anthropic<\/span><span class=\"p\">({<\/span>\n  <span class=\"na\">apiKey<\/span><span class=\"p\">:<\/span> <span class=\"nx\">process<\/span><span class=\"p\">.<\/span><span class=\"nx\">env<\/span><span class=\"p\">[<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">ANTHROPIC_API_KEY<\/span><span class=\"dl\">\"<\/span><span class=\"p\">],<\/span>\n<span class=\"p\">});<\/span>\n\n<span class=\"kd\">const<\/span> <span class=\"nx\">servers<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span>\n  <span class=\"p\">{<\/span>\n    <span class=\"na\">name<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">fetch<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n    <span class=\"na\">command<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">uvx<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n    <span class=\"na\">args<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">mcp-server-fetch<\/span><span class=\"dl\">\"<\/span><span class=\"p\">],<\/span>\n  <span class=\"p\">},<\/span>\n  <span class=\"p\">{<\/span>\n    <span class=\"na\">name<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">filesystem<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n    <span class=\"na\">command<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">npx<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n    <span class=\"na\">args<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span>\n      <span class=\"dl\">\"<\/span><span class=\"s2\">-y<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n      <span class=\"dl\">\"<\/span><span class=\"s2\">@modelcontextprotocol\/server-filesystem<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n      <span class=\"dl\">\"<\/span><span class=\"s2\">\/Users\/yourname\/mcp-host<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"c1\">\/\/ Replace with path to folder for this project<\/span>\n    <span class=\"p\">],<\/span>\n  <span class=\"p\">},<\/span>\n<span class=\"p\">];<\/span>\n\n<span class=\"kd\">const<\/span> <span class=\"nx\">host<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">Host<\/span><span class=\"p\">(<\/span><span class=\"nx\">anthropicClient<\/span><span class=\"p\">);<\/span>\n<span class=\"k\">await<\/span> <span class=\"nx\">host<\/span><span class=\"p\">.<\/span><span class=\"nf\">connect<\/span><span class=\"p\">(<\/span><span class=\"nx\">servers<\/span><span class=\"p\">);<\/span>\n<span class=\"k\">await<\/span> <span class=\"nx\">host<\/span><span class=\"p\">.<\/span><span class=\"nf\">call<\/span><span class=\"p\">(<\/span>\n  <span class=\"dl\">\"<\/span><span class=\"s2\">Please fetch https:\/\/www.anthropic.com\/news\/model-context-protocol, summarise the content of that page, then write it to a markdown file.<\/span><span class=\"dl\">\"<\/span>\n<span class=\"p\">);<\/span>\n<span class=\"k\">await<\/span> <span class=\"nx\">host<\/span><span class=\"p\">.<\/span><span class=\"nf\">disconnect<\/span><span class=\"p\">();<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0648\u0628\u0627\u0631\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f. \u067e\u0633 \u0627\u0632 \u0627\u062a\u0645\u0627\u0645 \u0631\u0648\u0646\u062f \u060c \u0628\u0647 \u067e\u0631\u0648\u0646\u062f\u0647 \u062c\u062f\u06cc\u062f\u06cc \u06a9\u0647 \u062a\u0627\u0632\u0647 \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u0627\u0633\u062a \u0646\u06af\u0627\u0647\u06cc \u0628\u06cc\u0646\u062f\u0627\u0632\u06cc\u062f. \u0627\u06af\u0631 \u0647\u0645\u0647 \u062e\u0648\u0628 \u067e\u06cc\u0634 \u0631\u0641\u062a \u060c \u062e\u0644\u0627\u0635\u0647 \u062e\u0648\u0628\u06cc \u0627\u0632 MCP \u0631\u0627 \u062f\u0631 \u062f\u0627\u062e\u0644 \u067e\u06cc\u062f\u0627 \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>npx tsx main.ts\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D9%BE%D8%A7%DB%8C%D8%A7%D9%86\"><\/span>\n<p>  \u067e\u0627\u06cc\u0627\u0646<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0645\u0627 \u0628\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0647\u0631 \u062a\u0639\u062f\u0627\u062f \u0627\u0628\u0632\u0627\u0631 \u060c \u06cc\u06a9 \u0631\u0648\u0634 \u0633\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u062a\u0642\u0648\u06cc\u062a \u0642\u0627\u0628\u0644\u06cc\u062a \u0647\u0627\u06cc \u06a9\u0644\u0648\u062f \u062f\u0627\u0631\u06cc\u0645. \u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0628\u0647 \u0622\u0646 \u062d\u0627\u0641\u0638\u0647 \u0645\u062f\u0627\u0648\u0645 \u060c \u0627\u0645\u06a9\u0627\u0646 \u06af\u0634\u062a \u0648 \u06af\u0630\u0627\u0631 \u062f\u0631 \u0648\u0628 \u06cc\u0627 \u062d\u062a\u06cc \u0627\u0631\u0633\u0627\u0644 \u0627\u06cc\u0645\u06cc\u0644 \u0627\u0632 \u0637\u0631\u0641 \u062e\u0648\u062f \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u06cc\u0645. \u0628\u0627 \u062a\u0634\u06a9\u0631 \u0627\u0632 \u0642\u062f\u0631\u062a MCP.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%BA%D8%B0%D8%A7%DB%8C_%D8%A7%D8%B5%D9%84%DB%8C\"><\/span>\n<p>  \u063a\u0630\u0627\u06cc \u0627\u0635\u0644\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol>\n<li>\u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 LLM \u0628\u0647 \u0627\u0628\u0632\u0627\u0631\u0647\u0627 \u0628\u0647 \u0622\u0646 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627 \u0627\u0642\u062f\u0627\u0645\u0627\u062a\u06cc \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u062f \u062a\u0627 \u0628\u0631 \u0645\u062d\u06cc\u0637 \u0622\u0646 \u062a\u0623\u062b\u06cc\u0631 \u0628\u06af\u0630\u0627\u0631\u062f. \u0627\u06cc\u0646 \u0627\u0645\u0631 \u0633\u0648\u062f\u0645\u0646\u062f\u06cc LLM \u0631\u0627 \u062a\u0627 \u062d\u062f \u0632\u06cc\u0627\u062f\u06cc \u0627\u0641\u0632\u0627\u06cc\u0634 \u0645\u06cc \u062f\u0647\u062f.<\/li>\n<li>\u067e\u0631\u0648\u062a\u06a9\u0644 \u0632\u0645\u06cc\u0646\u0647 \u0645\u062f\u0644 \u06cc\u06a9 \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u0639\u0627\u0644\u06cc \u0628\u0631\u0627\u06cc \u0631\u0627\u0628\u0637 \u0647\u0627\u06cc \u0627\u0628\u0632\u0627\u0631 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0628\u0647 \u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u0627\u0632 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0633\u0631\u0648\u0631\u0647\u0627\u06cc \u0645\u0646\u0628\u0639 \u0628\u0627\u0632 \u0645\u0648\u062c\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645.<\/li>\n<li>\u0628\u0627 \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0646\u0633\u0628\u062a\u0627\u064b \u0633\u0627\u062f\u0647 \u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 LLM \u0631\u0627 \u0628\u0647 \u0627\u0628\u0632\u0627\u0631\u0647\u0627 \u0648\u0635\u0644 \u06a9\u0646\u06cc\u0645 \u060c \u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 \u062f\u0631 \u06a9\u0646\u062a\u0631\u0644 \u06a9\u0627\u0645\u0644 \u0628\u0627\u0642\u06cc \u0645\u06cc \u0645\u0627\u0646\u0646\u062f.<\/li>\n<\/ol><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0645\u0642\u062f\u0645\u0647 \u0627\u06cc \u0645\u062e\u062a\u0635\u0631 \u062f\u0631 \u0645\u0648\u0631\u062f \u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 LLM \u0647\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u067e\u0631\u0648\u062a\u06a9\u0644 Model Context \u0628\u0627 \u0633\u0627\u062e\u062a\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u06cc\u0632\u0628\u0627\u0646 \u062e\u0648\u062f \u062f\u0631 TypeScript. \u0628\u06cc\u0634\u062a\u0631 LLM \u0647\u0627 \u0628\u0631\u0627\u06cc \u0645\u06a9\u0627\u0644\u0645\u0627\u062a \u0633\u0627\u062f\u0647 \u0639\u0627\u0644\u06cc \u0647\u0633\u062a\u0646\u062f \u060c \u0627\u0645\u0627 \u062a\u0648\u0627\u0646\u0627\u06cc\u06cc \u062a\u0639\u0627\u0645\u0644 \u0628\u0627 \u0645\u062d\u06cc\u0637 \u062e\u0648\u062f \u0631\u0627 \u0646\u062f\u0627\u0631\u0646\u062f. \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u067e\u0631\u0648\u062a\u06a9\u0644 \u0632\u0645\u06cc\u0646\u0647 Model (MCP) \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 LLM \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0637\u06cc\u0641 \u06af\u0633\u062a\u0631\u062f\u0647 \u0627\u06cc \u0627\u0632 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":99623,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-99622","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/99622","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=99622"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/99622\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/99623"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=99622"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=99622"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=99622"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}