{"id":3495,"date":"2025-09-26T16:34:18","date_gmt":"2025-09-26T14:34:18","guid":{"rendered":"https:\/\/davidka.net\/ru\/?p=3495"},"modified":"2025-09-26T20:07:36","modified_gmt":"2025-09-26T18:07:36","slug":"mcp-powershell-server-http","status":"publish","type":"post","link":"https:\/\/ru.davidka.net\/ru\/mcp-powershell-server-http\/","title":{"rendered":"\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432: MCP PowerShell HTTP Server (mcp-powershell-server-http.py)"},"content":{"rendered":"\n<div id=\"rtoc-mokuji-wrapper\" class=\"rtoc-mokuji-content frame2 preset1 animation-fade rtoc_open default\" data-id=\"3495\" data-theme=\"Neve - Davidka\">\n\t\t\t<div id=\"rtoc-mokuji-title\" class=\"rtoc_btn_none rtoc_left\">\n\t\t\t\n\t\t\t<span>In Questo Articolo<\/span>\n\t\t\t<\/div><ul class=\"rtoc-mokuji mokuji_none level-3\"><li class=\"rtoc-item\"><a href=\"#rtoc-1\">1. \u041e\u0431\u0437\u043e\u0440<\/a><ul class=\"rtoc-mokuji mokuji_none level-3\"><li class=\"rtoc-item\"><a href=\"#rtoc-2\">2. \u0417\u0430\u043f\u0443\u0441\u043a \u0438 \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<\/a><ul class=\"rtoc-mokuji mokuji_none level-3\"><li class=\"rtoc-item\"><a href=\"#rtoc-3\">3. \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0438 \u0424\u0443\u043d\u043a\u0446\u0438\u0438<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-4\">4. \u041f\u043e\u0442\u043e\u043a \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-5\">5. \u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ol><\/div><h4 id=\"rtoc-1\"  class=\"wp-block-heading\">1. \u041e\u0431\u0437\u043e\u0440<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><code class=\"\" data-line=\"\">mcp-powershell-http.ps1<\/code> \u2014 \u044d\u0442\u043e \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439 HTTP-\u0441\u0435\u0440\u0432\u0435\u0440, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 PowerShell, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0439 \u0434\u043b\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f PowerShell-\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432. \u041e\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u0435\u0442 \u043a\u0430\u043a &#171;\u043c\u043e\u0441\u0442&#187; \u043c\u0435\u0436\u0434\u0443 \u0432\u043d\u0435\u0448\u043d\u0438\u043c \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u043c (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, AI-\u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043e\u043c) \u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u043e\u0439 PowerShell, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b JSON-RPC 2.0.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c:<\/strong> \u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0435 PowerShell (<code class=\"\" data-line=\"\">runspace<\/code>), \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0441\u0440\u0435\u0434\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<\/li>\n\n\n\n<li><strong>\u0413\u0438\u0431\u043a\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f:<\/strong> \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0435\u0440\u0432\u0435\u0440\u0430 (\u043f\u043e\u0440\u0442, \u0445\u043e\u0441\u0442, \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u044b) \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 JSON-\u0444\u0430\u0439\u043b.<\/li>\n\n\n\n<li><strong>\u0421\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c:<\/strong> \u041a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u0430\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0448\u0438\u0431\u043e\u043a \u043d\u0430 \u0432\u0441\u0435\u0445 \u0443\u0440\u043e\u0432\u043d\u044f\u0445 (HTTP, JSON, \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u0430) \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043d\u0430\u0434\u0435\u0436\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<\/li>\n\n\n\n<li><strong>\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b MCP:<\/strong> \u0420\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b MCP \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043c\u0435\u0442\u043e\u0434\u044b <code class=\"\" data-line=\"\">initialize<\/code>, <code class=\"\" data-line=\"\">tools\/list<\/code> \u0438 <code class=\"\" data-line=\"\">tools\/call<\/code>.<\/li>\n\n\n\n<li><strong>\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432:<\/strong> \u0412\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u044b \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0432\u044b\u0432\u043e\u0434\u0430 \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u0437\u043b\u043e\u0443\u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438.<\/li>\n<\/ul>\n\n\n\n<h4 id=\"rtoc-2\"  class=\"wp-block-heading\">2. \u0417\u0430\u043f\u0443\u0441\u043a \u0438 \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>PowerShell 7.0 \u0438\u043b\u0438 \u0432\u044b\u0448\u0435.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u0422\u0438\u043f<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><code class=\"\" data-line=\"\">-Port<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\"><code class=\"\" data-line=\"\">[int]<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u041f\u043e\u0440\u0442, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0442\u044c HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u044b.<\/td><td class=\"has-text-align-left\" data-align=\"left\"><code class=\"\" data-line=\"\">8090<\/code><\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><code class=\"\" data-line=\"\">-ServerHost<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\"><code class=\"\" data-line=\"\">[string]<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u0425\u043e\u0441\u0442 (IP-\u0430\u0434\u0440\u0435\u0441 \u0438\u043b\u0438 \u0434\u043e\u043c\u0435\u043d\u043d\u043e\u0435 \u0438\u043c\u044f) \u0434\u043b\u044f \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<\/td><td class=\"has-text-align-left\" data-align=\"left\"><code class=\"\" data-line=\"\">localhost<\/code><\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><code class=\"\" data-line=\"\">-ConfigFile<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\"><code class=\"\" data-line=\"\">[string]<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u041f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 JSON. \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438.<\/td><td class=\"has-text-align-left\" data-align=\"left\"><code class=\"\" data-line=\"\">$null<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041f\u0440\u0438\u043c\u0435\u0440 \u0437\u0430\u043f\u0443\u0441\u043a\u0430:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">.\\mcp-powershell-http.ps1 -Port 8090 -ServerHost 0.0.0.0 -ConfigFile &quot;C:\\config\\settings.json&quot;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0424\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 (<code class=\"\" data-line=\"\">settings.json<\/code>):<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u0435\u0440\u0432\u0435\u0440 \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0438\u0437 JSON-\u0444\u0430\u0439\u043b\u0430. \u042d\u0442\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0434\u043b\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0441\u0440\u0435\u0434.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>\u041f\u0440\u0438\u043c\u0435\u0440 <code class=\"\" data-line=\"\">settings.json<\/code> \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f:<\/em><\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">{\n  &quot;Port&quot;: 8090,\n  &quot;Host&quot;: &quot;localhost&quot;,\n  &quot;MaxConcurrentRequests&quot;: 10,\n  &quot;TimeoutSeconds&quot;: 300,\n  &quot;LogLevel&quot;: &quot;INFO&quot;,\n  &quot;AllowedPaths&quot;: &#091;\n    &quot;C:\\\\Scripts\\\\&quot;,\n    &quot;C:\\\\Users\\\\%USERNAME%\\\\Documents\\\\&quot;\n  ],\n  &quot;Security&quot;: {\n    &quot;EnableScriptValidation&quot;: false,\n    &quot;BlockDangerousCommands&quot;: false,\n    &quot;RestrictedCommands&quot;: &#091;\n      &quot;Remove-Item -Path C:\\\\Windows\\\\*&quot;,\n      &quot;Format-Volume&quot;\n    ]\n  }\n}<\/code><\/pre>\n\n\n\n<h4 id=\"rtoc-3\"  class=\"wp-block-heading\">3. \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0438 \u0424\u0443\u043d\u043a\u0446\u0438\u0438<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043a\u0440\u0438\u043f\u0442 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0433\u0438\u043e\u043d\u043e\u0432 (<code class=\"\" data-line=\"\">#region<\/code>), \u0447\u0442\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044e.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>\u0420\u0435\u0433\u0438\u043e\u043d: <code class=\"\" data-line=\"\">Utility Functions<\/code> (\u0412\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438)<\/strong><\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong><code class=\"\" data-line=\"\">Write-Log<\/code><\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435:<\/strong> \u0412\u044b\u0432\u043e\u0434\u0438\u0442 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438 \u043e\u043a\u0440\u0430\u0448\u0435\u043d\u043d\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0441 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043c\u0435\u0442\u043a\u043e\u0439. \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<\/li>\n\n\n\n<li><strong>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">$Message<\/code> <code class=\"\" data-line=\"\">[string]<\/code> (\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439): \u0422\u0435\u043a\u0441\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">$Level<\/code> <code class=\"\" data-line=\"\">[string]<\/code> (\u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439): \u0423\u0440\u043e\u0432\u0435\u043d\u044c \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (<code class=\"\" data-line=\"\">DEBUG<\/code>, <code class=\"\" data-line=\"\">INFO<\/code>, <code class=\"\" data-line=\"\">WARNING<\/code>, <code class=\"\" data-line=\"\">ERROR<\/code>). \u0412\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0446\u0432\u0435\u0442 \u0432\u044b\u0432\u043e\u0434\u0430.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">Test-MCPRequest<\/code><\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435:<\/strong> \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043b\u0438 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u0431\u0430\u0437\u043e\u0432\u044b\u043c \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 JSON-RPC 2.0 (\u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043f\u043e\u043b\u0435\u0439 <code class=\"\" data-line=\"\">jsonrpc: &quot;2.0&quot;<\/code> \u0438 <code class=\"\" data-line=\"\">method<\/code>).<\/li>\n\n\n\n<li><strong>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">$Request<\/code> <code class=\"\" data-line=\"\">[hashtable]<\/code> (\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439): \u0417\u0430\u043f\u0440\u043e\u0441, \u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0438\u0437 JSON.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442:<\/strong> <code class=\"\" data-line=\"\">$true<\/code>, \u0435\u0441\u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0441 \u0432\u0430\u043b\u0438\u0434\u0435\u043d, \u0438\u043d\u0430\u0447\u0435 <code class=\"\" data-line=\"\">$false<\/code>.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">New-MCPResponse<\/code><\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435:<\/strong> \u0424\u0430\u0431\u0440\u0438\u0447\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043e\u0442\u0432\u0435\u0442\u0430 JSON-RPC.<\/li>\n\n\n\n<li><strong>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">$Id<\/code> <code class=\"\" data-line=\"\">[object]<\/code>: \u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0437\u0430\u043f\u0440\u043e\u0441\u0430.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">$Result<\/code> <code class=\"\" data-line=\"\">[object]<\/code>: \u041e\u0431\u044a\u0435\u043a\u0442 \u0441 \u0443\u0441\u043f\u0435\u0448\u043d\u044b\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">$Error<\/code> <code class=\"\" data-line=\"\">[hashtable]<\/code>: \u041e\u0431\u044a\u0435\u043a\u0442 \u0441 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442:<\/strong> <code class=\"\" data-line=\"\">[hashtable]<\/code> \u0441 \u0433\u043e\u0442\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u043e\u0442\u0432\u0435\u0442\u0430.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">Test-ScriptSafety<\/code><\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435:<\/strong> \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043e\u043f\u0430\u0441\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434, \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 <code class=\"\" data-line=\"\">$script:RestrictedCommands<\/code>.<\/li>\n\n\n\n<li><strong>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435:<\/strong> \u0412 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0430 (<code class=\"\" data-line=\"\">return $true<\/code>). \u0414\u043b\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0435\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c.<\/li>\n\n\n\n<li><strong>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">$Script<\/code> <code class=\"\" data-line=\"\">[string]<\/code> (\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439): \u0422\u0435\u043a\u0441\u0442 PowerShell-\u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442:<\/strong> <code class=\"\" data-line=\"\">$true<\/code>, \u0435\u0441\u043b\u0438 \u0441\u043a\u0440\u0438\u043f\u0442 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u0435\u043d, \u0438\u043d\u0430\u0447\u0435 <code class=\"\" data-line=\"\">$false<\/code>.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>\u0420\u0435\u0433\u0438\u043e\u043d: <code class=\"\" data-line=\"\">Core Logic<\/code> (\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043b\u043e\u0433\u0438\u043a\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f)<\/strong><\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong><code class=\"\" data-line=\"\">Invoke-PowerShellScript<\/code><\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435:<\/strong> \u041a\u043b\u044e\u0447\u0435\u0432\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0430\u044f \u0437\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 PowerShell-\u0441\u043a\u0440\u0438\u043f\u0442\u0430.<\/li>\n\n\n\n<li><strong>\u041f\u0440\u043e\u0446\u0435\u0441\u0441:<\/strong>\n<ol class=\"wp-block-list\">\n<li>\u0421\u043e\u0437\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0439, \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 PowerShell (<code class=\"\" data-line=\"\">[powershell]::Create()<\/code>).<\/li>\n\n\n\n<li>(\u041e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e) \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0447\u0443\u044e \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u0432\u043d\u0443\u0442\u0440\u0438 \u044d\u0442\u043e\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430.<\/li>\n\n\n\n<li>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0432 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u0442\u0435\u043a\u0441\u0442 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0438 \u0435\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b.<\/li>\n\n\n\n<li>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e \u0441 \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u043e\u043c.<\/li>\n\n\n\n<li>\u0421\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u043f\u043e\u0442\u043e\u043a\u0438 \u0432\u044b\u0432\u043e\u0434\u0430 (<code class=\"\" data-line=\"\">Output<\/code>), \u043e\u0448\u0438\u0431\u043e\u043a (<code class=\"\" data-line=\"\">Error<\/code>) \u0438 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0439 (<code class=\"\" data-line=\"\">Warning<\/code>).<\/li>\n\n\n\n<li>\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0440\u0430\u0437\u043c\u0435\u0440 \u0432\u044b\u0432\u043e\u0434\u0430 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 10 000 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432), \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043e\u0431\u044a\u0435\u043c\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445.<\/li>\n\n\n\n<li>\u041e\u0447\u0438\u0449\u0430\u0435\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u044b (<code class=\"\" data-line=\"\">Dispose()<\/code>) \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f.<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">$Script<\/code> <code class=\"\" data-line=\"\">[string]<\/code> (\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439): \u041a\u043e\u0434 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">$Parameters<\/code> <code class=\"\" data-line=\"\">[hashtable]<\/code>: \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">$TimeoutSeconds<\/code> <code class=\"\" data-line=\"\">[int]<\/code>: \u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">$WorkingDirectory<\/code> <code class=\"\" data-line=\"\">[string]<\/code>: \u0420\u0430\u0431\u043e\u0447\u0430\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f \u0434\u043b\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u0430.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442:<\/strong> <code class=\"\" data-line=\"\">[hashtable]<\/code> \u0441 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c\u0438: <code class=\"\" data-line=\"\">success<\/code> (bool), <code class=\"\" data-line=\"\">output<\/code> (string), <code class=\"\" data-line=\"\">errors<\/code> (array), <code class=\"\" data-line=\"\">warnings<\/code> (array), <code class=\"\" data-line=\"\">executionTime<\/code> (double).<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>\u0420\u0435\u0433\u0438\u043e\u043d: <code class=\"\" data-line=\"\">MCP Protocol Methods<\/code> (\u041c\u0435\u0442\u043e\u0434\u044b \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 MCP)<\/strong><\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong><code class=\"\" data-line=\"\">Invoke-MCPMethod<\/code><\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435:<\/strong> \u0414\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0432\u044b\u0437\u043e\u0432\u044b \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 MCP.<\/li>\n\n\n\n<li><strong>\u041f\u0440\u043e\u0446\u0435\u0441\u0441:<\/strong> \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e <code class=\"\" data-line=\"\">switch<\/code> \u043f\u043e \u0438\u043c\u0435\u043d\u0438 \u043c\u0435\u0442\u043e\u0434\u0430 (<code class=\"\" data-line=\"\">$Method<\/code>) \u0434\u043b\u044f \u0432\u044b\u0437\u043e\u0432\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u043b\u043e\u0433\u0438\u043a\u0438.<\/li>\n\n\n\n<li><strong>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">&quot;initialize&quot;<\/code>: \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0435.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">&quot;tools\/list&quot;<\/code>: \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0442\u043e\u043b\u044c\u043a\u043e <code class=\"\" data-line=\"\">&quot;run-script&quot;<\/code>).<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">&quot;tools\/call&quot;<\/code>: \u041e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0432\u044b\u0437\u043e\u0432 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430. \u0418\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 <code class=\"\" data-line=\"\">Invoke-PowerShellScript<\/code> \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">$Method<\/code> <code class=\"\" data-line=\"\">[string]<\/code>: \u0418\u043c\u044f \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">$Params<\/code> <code class=\"\" data-line=\"\">[hashtable]<\/code>: \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043c\u0435\u0442\u043e\u0434\u0430.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">$Id<\/code> <code class=\"\" data-line=\"\">[object]<\/code>: \u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0437\u0430\u043f\u0440\u043e\u0441\u0430.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442:<\/strong> <code class=\"\" data-line=\"\">[hashtable]<\/code> \u2014 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043a \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 MCP-\u043e\u0442\u0432\u0435\u0442.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>\u0420\u0435\u0433\u0438\u043e\u043d: <code class=\"\" data-line=\"\">HTTP Server<\/code> (\u041b\u043e\u0433\u0438\u043a\u0430 HTTP-\u0441\u0435\u0440\u0432\u0435\u0440\u0430)<\/strong><\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong><code class=\"\" data-line=\"\">Invoke-RequestHandler<\/code><\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435:<\/strong> \u041e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u043b\u043d\u044b\u0439 \u0436\u0438\u0437\u043d\u0435\u043d\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u043e\u0434\u043d\u043e\u0433\u043e HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u0430.<\/li>\n\n\n\n<li><strong>\u041f\u0440\u043e\u0446\u0435\u0441\u0441:<\/strong>\n<ol class=\"wp-block-list\">\n<li>\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442 CORS-\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438.<\/li>\n\n\n\n<li>\u041e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 <code class=\"\" data-line=\"\">OPTIONS<\/code>-\u0437\u0430\u043f\u0440\u043e\u0441\u044b (CORS preflight).<\/li>\n\n\n\n<li>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, \u0447\u0442\u043e \u043c\u0435\u0442\u043e\u0434 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u2014 <code class=\"\" data-line=\"\">POST<\/code>.<\/li>\n\n\n\n<li>\u0427\u0438\u0442\u0430\u0435\u0442 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0442\u0435\u043b\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430.<\/li>\n\n\n\n<li>\u041f\u0430\u0440\u0441\u0438\u0442 JSON \u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0435\u0433\u043e \u0432 \u0445\u044d\u0448-\u0442\u0430\u0431\u043b\u0438\u0446\u0443.<\/li>\n\n\n\n<li>\u0412\u044b\u0437\u044b\u0432\u0430\u0435\u0442 <code class=\"\" data-line=\"\">Test-MCPRequest<\/code> \u0434\u043b\u044f \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438.<\/li>\n\n\n\n<li>\u041f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441 \u0432 <code class=\"\" data-line=\"\">Invoke-MCPMethod<\/code> \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438.<\/li>\n\n\n\n<li>\u0421\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u043e\u0442\u0432\u0435\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 JSON \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0435\u0433\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0443.<\/li>\n\n\n\n<li>\u041e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0432\u0441\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u043d\u0430 \u044d\u0442\u043e\u043c \u043f\u0443\u0442\u0438.<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">$Context<\/code> <code class=\"\" data-line=\"\">[System.Net.HttpListenerContext]<\/code>: \u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043e\u0442 .NET-\u0441\u043b\u0443\u0448\u0430\u0442\u0435\u043b\u044f.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">Start-MCPServer<\/code><\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435:<\/strong> \u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 HTTP-\u0441\u043b\u0443\u0448\u0430\u0442\u0435\u043b\u044c.<\/li>\n\n\n\n<li><strong>\u041f\u0440\u043e\u0446\u0435\u0441\u0441:<\/strong>\n<ol class=\"wp-block-list\">\n<li>\u0421\u043e\u0437\u0434\u0430\u0435\u0442 \u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442 \u043e\u0431\u044a\u0435\u043a\u0442 <code class=\"\" data-line=\"\">System.Net.HttpListener<\/code>.<\/li>\n\n\n\n<li>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 <code class=\"\" data-line=\"\">listener.Start()<\/code>.<\/li>\n\n\n\n<li>\u0412\u0445\u043e\u0434\u0438\u0442 \u0432 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0446\u0438\u043a\u043b <code class=\"\" data-line=\"\">while ($listener.IsListening)<\/code>, \u043e\u0436\u0438\u0434\u0430\u044f \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f.<\/li>\n\n\n\n<li>\u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 <code class=\"\" data-line=\"\">Invoke-RequestHandler<\/code>.<\/li>\n\n\n\n<li>\u041a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0441\u0435\u0440\u0432\u0435\u0440 \u043f\u0440\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430.<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h4 id=\"rtoc-4\"  class=\"wp-block-heading\">4. \u041f\u043e\u0442\u043e\u043a \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u041a\u043b\u0438\u0435\u043d\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 <code class=\"\" data-line=\"\">POST<\/code> \u0437\u0430\u043f\u0440\u043e\u0441 \u0441 <code class=\"\" data-line=\"\">Content-Type: application\/json<\/code> \u043d\u0430 URL \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">Start-MCPServer<\/code> \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441 \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 \u0435\u0433\u043e \u0432 <code class=\"\" data-line=\"\">Invoke-RequestHandler<\/code>.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">Invoke-RequestHandler<\/code> \u0432\u0430\u043b\u0438\u0434\u0438\u0440\u0443\u0435\u0442 HTTP-\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438, \u043c\u0435\u0442\u043e\u0434 \u0438 \u043f\u0430\u0440\u0441\u0438\u0442 JSON-\u0442\u0435\u043b\u043e.<\/li>\n\n\n\n<li>\u0412\u0430\u043b\u0438\u0434\u043d\u044b\u0439 MCP-\u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u0432 <code class=\"\" data-line=\"\">Invoke-MCPMethod<\/code>.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">Invoke-MCPMethod<\/code> \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u0447\u0442\u043e \u0432\u044b\u0437\u0432\u0430\u043d \u043c\u0435\u0442\u043e\u0434 <code class=\"\" data-line=\"\">tools\/call<\/code> \u0441 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u043c <code class=\"\" data-line=\"\">run-script<\/code>.<\/li>\n\n\n\n<li>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b (\u0441\u043a\u0440\u0438\u043f\u0442, \u0442\u0430\u0439\u043c\u0430\u0443\u0442 \u0438 \u0442.\u0434.) \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0432 <code class=\"\" data-line=\"\">Invoke-PowerShellScript<\/code>.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">Invoke-PowerShellScript<\/code> \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 \u0432 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435.<\/li>\n\n\n\n<li>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0446\u0435\u043f\u043e\u0447\u043a\u0435 \u0432\u044b\u0437\u043e\u0432\u043e\u0432, \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 JSON-RPC \u043e\u0442\u0432\u0435\u0442 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 <code class=\"\" data-line=\"\">Invoke-RequestHandler<\/code>.<\/li>\n<\/ol>\n\n\n\n<h4 id=\"rtoc-5\"  class=\"wp-block-heading\">5. \u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u043b\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e &#171;\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430&#187; (\u043f\u043e\u043c\u0438\u043c\u043e <code class=\"\" data-line=\"\">run-script<\/code>) \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0432 \u0431\u043b\u043e\u043a <code class=\"\" data-line=\"\">&quot;tools\/list&quot;<\/code> \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <code class=\"\" data-line=\"\">Invoke-MCPMethod<\/code>.<\/li>\n\n\n\n<li>\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0442\u043a\u0443 <code class=\"\" data-line=\"\">case<\/code> \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0432 <code class=\"\" data-line=\"\">switch ($toolName)<\/code> \u0432\u043d\u0443\u0442\u0440\u0438 \u0431\u043b\u043e\u043a\u0430 <code class=\"\" data-line=\"\">&quot;tools\/call&quot;<\/code> \u0432 <code class=\"\" data-line=\"\">Invoke-MCPMethod<\/code>.<\/li>\n\n\n\n<li>\u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u043e\u0433\u0438\u043a\u0443 \u0434\u043b\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>In Questo Articolo 1. \u041e\u0431\u0437\u043e\u0440 2. \u0417\u0430\u043f\u0443\u0441\u043a \u0438 \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f 3. \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0438 \u0424\u0443\u043d\u043a\u0446\u0438\u0438 4. \u041f\u043e\u0442\u043e\u043a \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 5. \u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 1. \u041e\u0431\u0437\u043e\u0440 mcp-powershell-http.ps1 \u2014 \u044d\u0442\u043e \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439 HTTP-\u0441\u0435\u0440\u0432\u0435\u0440, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 PowerShell, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0439 \u0434\u043b\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f PowerShell-\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432. \u041e\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u0435\u0442 \u043a\u0430\u043a &#171;\u043c\u043e\u0441\u0442&#187; \u043c\u0435\u0436\u0434\u0443 \u0432\u043d\u0435\u0448\u043d\u0438\u043c \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u043c (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, AI-\u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043e\u043c) \u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u043e\u0439 PowerShell, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b JSON-RPC 2.0.&hellip;&nbsp;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[937],"tags":[944,108,938,939],"class_list":["post-3495","post","type-post","status-publish","format-standard","hentry","category-mcp-powershell-server","tag-tag-client-server","tag-tag-mcp","tag-tag-mcp-server","tag-tag-powershell-script-execution"],"acf":[],"_links":{"self":[{"href":"https:\/\/ru.davidka.net\/ru\/wp-json\/wp\/v2\/posts\/3495","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ru.davidka.net\/ru\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ru.davidka.net\/ru\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ru.davidka.net\/ru\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ru.davidka.net\/ru\/wp-json\/wp\/v2\/comments?post=3495"}],"version-history":[{"count":0,"href":"https:\/\/ru.davidka.net\/ru\/wp-json\/wp\/v2\/posts\/3495\/revisions"}],"wp:attachment":[{"href":"https:\/\/ru.davidka.net\/ru\/wp-json\/wp\/v2\/media?parent=3495"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ru.davidka.net\/ru\/wp-json\/wp\/v2\/categories?post=3495"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ru.davidka.net\/ru\/wp-json\/wp\/v2\/tags?post=3495"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}