{"id":3512,"date":"2025-09-26T20:11:45","date_gmt":"2025-09-26T18:11:45","guid":{"rendered":"https:\/\/davidka.net\/ru\/?p=3512"},"modified":"2025-09-26T23:04:56","modified_gmt":"2025-09-26T21:04:56","slug":"mcp-powershell-server-stdio","status":"publish","type":"post","link":"https:\/\/ru.davidka.net\/ru\/mcp-powershell-server-stdio\/","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 STDIO Server (mcp-powershell-server-stdio.py)"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">MCP PowerShell Server Documentation<\/h1>\n\n\n\n<div id=\"rtoc-mokuji-wrapper\" class=\"rtoc-mokuji-content frame2 preset1 animation-fade rtoc_open default\" data-id=\"3512\" 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><ol class=\"rtoc-mokuji decimal_ol level-1\"><li class=\"rtoc-item\"><a href=\"#rtoc-1\">\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-2\">\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430<\/a><ul class=\"rtoc-mokuji mokuji_ul level-2\"><li class=\"rtoc-item\"><a href=\"#rtoc-3\">\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-4\">\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0444\u0430\u0439\u043b\u0430<\/a><\/li><\/ul><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-5\">\u0424\u0443\u043d\u043a\u0446\u0438\u0438<\/a><ul class=\"rtoc-mokuji mokuji_ul level-2\"><li class=\"rtoc-item\"><a href=\"#rtoc-6\">ConvertFrom-JsonToHashtable<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-7\">Write-Log<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-8\">Test-MCPRequest<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-9\">New-MCPResponse<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-10\">Invoke-PowerShellScript<\/a><\/li><\/ul><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-11\">MCP \u041c\u0435\u0442\u043e\u0434\u044b<\/a><ul class=\"rtoc-mokuji mokuji_ul level-2\"><li class=\"rtoc-item\"><a href=\"#rtoc-12\">initialize<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-13\">tools\/list<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-14\">tools\/call<\/a><\/li><\/ul><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-15\">\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b<\/a><ul class=\"rtoc-mokuji mokuji_ul level-2\"><li class=\"rtoc-item\"><a href=\"#rtoc-16\">run-script<\/a><\/li><\/ul><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-17\">\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<\/a><ul class=\"rtoc-mokuji mokuji_ul level-2\"><li class=\"rtoc-item\"><a href=\"#rtoc-18\">\u041a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-19\">\u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-20\">\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c<\/a><\/li><\/ul><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-21\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435<\/a><ul class=\"rtoc-mokuji mokuji_ul level-2\"><li class=\"rtoc-item\"><a href=\"#rtoc-22\">\u0417\u0430\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-23\">\u041f\u0440\u0438\u043c\u0435\u0440\u044b MCP \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/a><ul class=\"rtoc-mokuji mokuji_none level-3\"><li class=\"rtoc-item\"><a href=\"#rtoc-24\">\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-25\">\u0421\u043f\u0438\u0441\u043e\u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-26\">\u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u0430<\/a><\/li><\/ul><\/li><\/ul><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-27\">\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0448\u0438\u0431\u043e\u043a<\/a><ul class=\"rtoc-mokuji mokuji_ul level-2\"><li class=\"rtoc-item\"><a href=\"#rtoc-28\">\u041a\u043e\u0434\u044b \u043e\u0448\u0438\u0431\u043e\u043a MCP<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-29\">\u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a<\/a><\/li><\/ul><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-30\">\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-31\">\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-32\">\u041c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u044c<\/a><\/li><\/ol><\/div><h2 id=\"rtoc-1\"  class=\"wp-block-heading\">\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">MCP PowerShell Server &#8212; \u044d\u0442\u043e \u0441\u0435\u0440\u0432\u0435\u0440, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b Model Context Protocol (MCP) \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f PowerShell \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432. \u0421\u0435\u0440\u0432\u0435\u0440 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 STDIO \u0440\u0435\u0436\u0438\u043c\u0435 \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f PowerShell \u043a\u043e\u043c\u0430\u043d\u0434 \u0447\u0435\u0440\u0435\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441.<\/p>\n\n\n\n<h2 id=\"rtoc-2\"  class=\"wp-block-heading\">\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430<\/h2>\n\n\n\n<h3 id=\"rtoc-3\"  class=\"wp-block-heading\">\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>JSON \u041a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440<\/strong> &#8212; \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f JSON \u0432 \u0445\u044d\u0448-\u0442\u0430\u0431\u043b\u0438\u0446\u044b PowerShell<\/li>\n\n\n\n<li><strong>\u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/strong> &#8212; \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0437\u0430\u043f\u0438\u0441\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0432 \u0444\u0430\u0439\u043b<\/li>\n\n\n\n<li><strong>MCP \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a<\/strong> &#8212; \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043b\u043e\u0433\u0438\u043a\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 MCP \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/li>\n\n\n\n<li><strong>PowerShell \u0418\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c<\/strong> &#8212; \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432<\/li>\n\n\n\n<li><strong>STDIO \u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441<\/strong> &#8212; \u043a\u043e\u043c\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u043f\u043e\u0442\u043e\u043a\u0438<\/li>\n<\/ol>\n\n\n\n<h3 id=\"rtoc-4\"  class=\"wp-block-heading\">\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0444\u0430\u0439\u043b\u0430<\/h3>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">mcp-powershell-stdio.ps1\n\u251c\u2500\u2500 ConvertFrom-JsonToHashtable    # \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0438 JSON\n\u251c\u2500\u2500 Write-Log                      # \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\n\u251c\u2500\u2500 Test-MCPRequest               # \u0412\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044f MCP \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432\n\u251c\u2500\u2500 New-MCPResponse               # \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 MCP \u043e\u0442\u0432\u0435\u0442\u043e\u0432\n\u251c\u2500\u2500 Invoke-PowerShellScript       # \u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 PowerShell \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\n\u251c\u2500\u2500 Invoke-MCPMethod              # \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 MCP \u043c\u0435\u0442\u043e\u0434\u043e\u0432\n\u251c\u2500\u2500 Send-MCPResponse              # \u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u043e\u0442\u0432\u0435\u0442\u043e\u0432\n\u251c\u2500\u2500 Start-MCPServer               # \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0446\u0438\u043a\u043b \u0441\u0435\u0440\u0432\u0435\u0440\u0430\n\u2514\u2500\u2500 \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u0437\u0430\u043f\u0443\u0441\u043a<\/code><\/pre>\n\n\n\n<h2 id=\"rtoc-5\"  class=\"wp-block-heading\">\u0424\u0443\u043d\u043a\u0446\u0438\u0438<\/h2>\n\n\n\n<h3 id=\"rtoc-6\"  class=\"wp-block-heading\">ConvertFrom-JsonToHashtable<\/h3>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">function ConvertFrom-JsonToHashtable {\n    param(&#091;string]$Json)\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong>: \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 JSON \u0441\u0442\u0440\u043e\u043a\u0443 \u0432 \u0445\u044d\u0448-\u0442\u0430\u0431\u043b\u0438\u0446\u044b PowerShell \u0434\u043b\u044f \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0441 PowerShell 5.x.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">Json<\/code> (string) &#8212; JSON \u0441\u0442\u0440\u043e\u043a\u0430 \u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442<\/strong>: \u0425\u044d\u0448-\u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0441 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0420\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u043e\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432<\/li>\n\n\n\n<li>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439<\/li>\n\n\n\n<li>\u0421\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0441 PowerShell 5.x<\/li>\n<\/ul>\n\n\n\n<h3 id=\"rtoc-7\"  class=\"wp-block-heading\">Write-Log<\/h3>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">function Write-Log {\n    param(\n        &#091;Parameter(Mandatory=$true)]\n        &#091;string]$Message,\n\n        &#091;Parameter(Mandatory=$false)]\n        &#091;ValidateSet(&quot;INFO&quot;, &quot;WARNING&quot;, &quot;ERROR&quot;, &quot;DEBUG&quot;)]\n        &#091;string]$Level = &quot;INFO&quot;\n    )\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong>: \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043b\u043e\u0433\u0438 \u0432 \u0444\u0430\u0439\u043b, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 stdout \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f MCP \u043a\u043e\u043c\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">Message<\/code> (string) &#8212; \u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u043b\u043e\u0433<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">Level<\/code> (string) &#8212; \u0423\u0440\u043e\u0432\u0435\u043d\u044c \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (INFO, WARNING, ERROR, DEBUG)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0417\u0430\u043f\u0438\u0441\u044c \u0432 \u0444\u0430\u0439\u043b <code class=\"\" data-line=\"\">$env:TEMP\\mcp-powershell-server.log<\/code><\/li>\n\n\n\n<li>\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u043a\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 <code class=\"\" data-line=\"\">yyyy-MM-dd HH:mm:ss<\/code><\/li>\n\n\n\n<li>UTF-8 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430<\/li>\n<\/ul>\n\n\n\n<h3 id=\"rtoc-8\"  class=\"wp-block-heading\">Test-MCPRequest<\/h3>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">function Test-MCPRequest {\n    param(\n        &#091;Parameter(Mandatory=$true)]\n        &#091;hashtable]$Request\n    )\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong>: \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u0430\u043b\u0438\u0434\u0438\u0440\u0443\u0435\u0442 MCP \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">Request<\/code> (hashtable) &#8212; MCP \u0437\u0430\u043f\u0440\u043e\u0441 \u0434\u043b\u044f \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442<\/strong>: Boolean &#8212; \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0438<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041d\u0430\u043b\u0438\u0447\u0438\u0435 \u043f\u043e\u043b\u044f <code class=\"\" data-line=\"\">jsonrpc<\/code> \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c &#171;2.0&#187;<\/li>\n\n\n\n<li>\u041d\u0430\u043b\u0438\u0447\u0438\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044f <code class=\"\" data-line=\"\">method<\/code><\/li>\n<\/ul>\n\n\n\n<h3 id=\"rtoc-9\"  class=\"wp-block-heading\">New-MCPResponse<\/h3>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">function New-MCPResponse {\n    param(\n        &#091;Parameter(Mandatory=$false)]\n        &#091;object]$Id = $null,\n\n        &#091;Parameter(Mandatory=$false)]\n        &#091;object]$Result = $null,\n\n        &#091;Parameter(Mandatory=$false)]\n        &#091;hashtable]$Error = $null\n    )\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong>: \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 MCP \u043e\u0442\u0432\u0435\u0442.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">Id<\/code> (object) &#8212; \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> (object) &#8212; \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">Error<\/code> (hashtable) &#8212; \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442<\/strong>: Hashtable \u0441 MCP \u043e\u0442\u0432\u0435\u0442\u043e\u043c<\/p>\n\n\n\n<h3 id=\"rtoc-10\"  class=\"wp-block-heading\">Invoke-PowerShellScript<\/h3>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">function Invoke-PowerShellScript {\n    param(\n        &#091;Parameter(Mandatory=$true)]\n        &#091;string]$Script,\n\n        &#091;Parameter(Mandatory=$false)]\n        &#091;hashtable]$Parameters = @{},\n\n        &#091;Parameter(Mandatory=$false)]\n        &#091;int]$TimeoutSeconds = 300,\n\n        &#091;Parameter(Mandatory=$false)]\n        &#091;string]$WorkingDirectory = $PWD\n    )\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong>: \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 PowerShell \u0441\u043a\u0440\u0438\u043f\u0442 \u0432 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">Script<\/code> (string) &#8212; PowerShell \u0441\u043a\u0440\u0438\u043f\u0442 \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> (hashtable) &#8212; \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0434\u043b\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u0430<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">TimeoutSeconds<\/code> (int) &#8212; \u0422\u0430\u0439\u043c\u0430\u0443\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 300 \u0441\u0435\u043a)<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">WorkingDirectory<\/code> (string) &#8212; \u0420\u0430\u0431\u043e\u0447\u0430\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442<\/strong>: Hashtable \u0441 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">success<\/code> (bool) &#8212; \u0421\u0442\u0430\u0442\u0443\u0441 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">output<\/code> (string) &#8212; \u0412\u044b\u0432\u043e\u0434 \u043a\u043e\u043c\u0430\u043d\u0434\u044b<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">errors<\/code> (array) &#8212; \u041c\u0430\u0441\u0441\u0438\u0432 \u043e\u0448\u0438\u0431\u043e\u043a<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">warnings<\/code> (array) &#8212; \u041c\u0430\u0441\u0441\u0438\u0432 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0439<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0418\u0437\u043e\u043b\u044f\u0446\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 PowerShell \u043f\u0440\u043e\u0446\u0435\u0441\u0441<\/li>\n\n\n\n<li>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u0430<\/li>\n\n\n\n<li>\u0421\u0431\u043e\u0440 \u0432\u0441\u0435\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0432\u044b\u0432\u043e\u0434\u0430 (output, error, warning)<\/li>\n\n\n\n<li>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432<\/li>\n<\/ul>\n\n\n\n<h2 id=\"rtoc-11\"  class=\"wp-block-heading\">MCP \u041c\u0435\u0442\u043e\u0434\u044b<\/h2>\n\n\n\n<h3 id=\"rtoc-12\"  class=\"wp-block-heading\">initialize<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong>: \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f MCP \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043e\u0431\u043c\u0435\u043d \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u0445.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041e\u0442\u0432\u0435\u0442<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">{\n  &quot;protocolVersion&quot;: &quot;2024-11-05&quot;,\n  &quot;capabilities&quot;: {\n    &quot;tools&quot;: {\n      &quot;listChanged&quot;: true\n    }\n  },\n  &quot;serverInfo&quot;: {\n    &quot;name&quot;: &quot;PowerShell Script Runner&quot;,\n    &quot;version&quot;: &quot;1.0.0&quot;,\n    &quot;description&quot;: &quot;\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 PowerShell \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0447\u0435\u0440\u0435\u0437 MCP&quot;\n  }\n}<\/code><\/pre>\n\n\n\n<h3 id=\"rtoc-13\"  class=\"wp-block-heading\">tools\/list<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong>: \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041e\u0442\u0432\u0435\u0442<\/strong>: \u041c\u0430\u0441\u0441\u0438\u0432 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u0441\u0445\u0435\u043c \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432.<\/p>\n\n\n\n<h3 id=\"rtoc-14\"  class=\"wp-block-heading\">tools\/call<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong>: \u0412\u044b\u0437\u043e\u0432 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">name<\/code> (string) &#8212; \u0418\u043c\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">arguments<\/code> (object) &#8212; \u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430<\/li>\n<\/ul>\n\n\n\n<h2 id=\"rtoc-15\"  class=\"wp-block-heading\">\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b<\/h2>\n\n\n\n<h3 id=\"rtoc-16\"  class=\"wp-block-heading\">run-script<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong>: \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 PowerShell \u0441\u043a\u0440\u0438\u043f\u0442 \u0441 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0421\u0445\u0435\u043c\u0430 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">{\n  &quot;type&quot;: &quot;object&quot;,\n  &quot;properties&quot;: {\n    &quot;script&quot;: {\n      &quot;type&quot;: &quot;string&quot;,\n      &quot;description&quot;: &quot;PowerShell \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f&quot;\n    },\n    &quot;parameters&quot;: {\n      &quot;type&quot;: &quot;object&quot;,\n      &quot;description&quot;: &quot;\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0434\u043b\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u0430 (\u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e)&quot;,\n      &quot;additionalProperties&quot;: true\n    },\n    &quot;workingDirectory&quot;: {\n      &quot;type&quot;: &quot;string&quot;,\n      &quot;description&quot;: &quot;\u0420\u0430\u0431\u043e\u0447\u0430\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f (\u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e)&quot;,\n      &quot;default&quot;: &quot;&lt;\u0442\u0435\u043a\u0443\u0449\u0430\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f&gt;&quot;\n    },\n    &quot;timeoutSeconds&quot;: {\n      &quot;type&quot;: &quot;integer&quot;,\n      &quot;description&quot;: &quot;\u0422\u0430\u0439\u043c\u0430\u0443\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445 (\u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e)&quot;,\n      &quot;default&quot;: 300,\n      &quot;minimum&quot;: 1,\n      &quot;maximum&quot;: 3600\n    }\n  },\n  &quot;required&quot;: &#091;&quot;script&quot;]\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041e\u0442\u0432\u0435\u0442<\/strong>: \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0430\u044f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0412\u044b\u0432\u043e\u0434 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435<\/li>\n\n\n\n<li>\u041e\u0448\u0438\u0431\u043a\u0438 (\u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c)<\/li>\n\n\n\n<li>\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f (\u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c)<\/li>\n\n\n\n<li>\u041c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f<\/li>\n<\/ul>\n\n\n\n<h2 id=\"rtoc-17\"  class=\"wp-block-heading\">\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<\/h2>\n\n\n\n<h3 id=\"rtoc-18\"  class=\"wp-block-heading\">\u041a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430<\/h3>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">&#091;Console]::OutputEncoding = &#091;System.Text.Encoding]::UTF8\n&#091;Console]::InputEncoding = &#091;System.Text.Encoding]::UTF8<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u0435\u0440\u0432\u0435\u0440 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 UTF-8 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u043e\u0439 \u0434\u043b\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 JSON \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n\n\n\n<h3 id=\"rtoc-19\"  class=\"wp-block-heading\">\u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u0424\u0430\u0439\u043b \u043b\u043e\u0433\u043e\u0432<\/strong>: <code class=\"\" data-line=\"\">$env:TEMP\\mcp-powershell-server.log<\/code><\/li>\n\n\n\n<li><strong>\u041a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430<\/strong>: UTF-8<\/li>\n\n\n\n<li><strong>\u0423\u0440\u043e\u0432\u043d\u0438<\/strong>: INFO, WARNING, ERROR, DEBUG<\/li>\n\n\n\n<li><strong>\u0424\u043e\u0440\u043c\u0430\u0442<\/strong>: <code class=\"\" data-line=\"\">[yyyy-MM-dd HH:mm:ss] [LEVEL] Message<\/code><\/li>\n<\/ul>\n\n\n\n<h3 id=\"rtoc-20\"  class=\"wp-block-heading\">\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0418\u0437\u043e\u043b\u044f\u0446\u0438\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 PowerShell \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b<\/li>\n\n\n\n<li>\u0422\u0430\u0439\u043c\u0430\u0443\u0442\u044b \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0437\u0430\u0432\u0438\u0441\u0430\u043d\u0438\u044f<\/li>\n\n\n\n<li>\u0412\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044f \u0432\u0441\u0435\u0445 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/li>\n\n\n\n<li>\u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439<\/li>\n<\/ul>\n\n\n\n<h2 id=\"rtoc-21\"  class=\"wp-block-heading\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435<\/h2>\n\n\n\n<h3 id=\"rtoc-22\"  class=\"wp-block-heading\">\u0417\u0430\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/h3>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">.\\mcp-powershell-stdio.ps1<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u0435\u0440\u0432\u0435\u0440 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0432 STDIO \u0440\u0435\u0436\u0438\u043c\u0435 \u0438 \u043e\u0436\u0438\u0434\u0430\u0435\u0442 MCP \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0447\u0435\u0440\u0435\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0432\u0432\u043e\u0434.<\/p>\n\n\n\n<h3 id=\"rtoc-23\"  class=\"wp-block-heading\">\u041f\u0440\u0438\u043c\u0435\u0440\u044b MCP \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h3>\n\n\n\n<h4 id=\"rtoc-24\"  class=\"wp-block-heading\">\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f<\/h4>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">{\n  &quot;jsonrpc&quot;: &quot;2.0&quot;,\n  &quot;id&quot;: 1,\n  &quot;method&quot;: &quot;initialize&quot;,\n  &quot;params&quot;: {\n    &quot;protocolVersion&quot;: &quot;2024-11-05&quot;,\n    &quot;capabilities&quot;: {},\n    &quot;clientInfo&quot;: {\n      &quot;name&quot;: &quot;test-client&quot;,\n      &quot;version&quot;: &quot;1.0.0&quot;\n    }\n  }\n}<\/code><\/pre>\n\n\n\n<h4 id=\"rtoc-25\"  class=\"wp-block-heading\">\u0421\u043f\u0438\u0441\u043e\u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432<\/h4>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">{\n  &quot;jsonrpc&quot;: &quot;2.0&quot;,\n  &quot;id&quot;: 2,\n  &quot;method&quot;: &quot;tools\/list&quot;\n}<\/code><\/pre>\n\n\n\n<h4 id=\"rtoc-26\"  class=\"wp-block-heading\">\u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u0430<\/h4>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">{\n  &quot;jsonrpc&quot;: &quot;2.0&quot;,\n  &quot;id&quot;: 3,\n  &quot;method&quot;: &quot;tools\/call&quot;,\n  &quot;params&quot;: {\n    &quot;name&quot;: &quot;run-script&quot;,\n    &quot;arguments&quot;: {\n      &quot;script&quot;: &quot;Get-Process | Select-Object -First 5 Name, CPU&quot;,\n      &quot;timeoutSeconds&quot;: 60\n    }\n  }\n}<\/code><\/pre>\n\n\n\n<h2 id=\"rtoc-27\"  class=\"wp-block-heading\">\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0448\u0438\u0431\u043e\u043a<\/h2>\n\n\n\n<h3 id=\"rtoc-28\"  class=\"wp-block-heading\">\u041a\u043e\u0434\u044b \u043e\u0448\u0438\u0431\u043e\u043a MCP<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">-32700<\/code>: \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430 JSON<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">-32600<\/code>: \u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u044b\u0439 MCP \u0437\u0430\u043f\u0440\u043e\u0441<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">-32601<\/code>: \u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0438\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">-32602<\/code>: \u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">-32603<\/code>: \u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044f\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/li>\n<\/ul>\n\n\n\n<h3 id=\"rtoc-29\"  class=\"wp-block-heading\">\u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0441\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u043b\u043e\u0433\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b \u0441 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043c\u0435\u0442\u043a\u0430<\/li>\n\n\n\n<li>\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u043e\u0448\u0438\u0431\u043a\u0438<\/li>\n\n\n\n<li>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/li>\n\n\n\n<li>Stack trace (\u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438)<\/li>\n<\/ul>\n\n\n\n<h2 id=\"rtoc-30\"  class=\"wp-block-heading\">\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u0422\u0430\u0439\u043c\u0430\u0443\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f<\/strong>: \u041c\u0430\u043a\u0441\u0438\u043c\u0443\u043c 3600 \u0441\u0435\u043a\u0443\u043d\u0434 (1 \u0447\u0430\u0441)<\/li>\n\n\n\n<li><strong>\u0418\u0437\u043e\u043b\u044f\u0446\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432<\/strong>: \u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435<\/li>\n\n\n\n<li><strong>\u041a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430<\/strong>: \u0422\u043e\u043b\u044c\u043a\u043e UTF-8<\/li>\n\n\n\n<li><strong>\u0421\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c<\/strong>: PowerShell 5.x \u0438 \u0432\u044b\u0448\u0435<\/li>\n<\/ol>\n\n\n\n<h2 id=\"rtoc-31\"  class=\"wp-block-heading\">\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u043a\u043b\u0430\u0434\u043d\u044b\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u044b \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432<\/li>\n\n\n\n<li>\u042d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f JSON<\/li>\n\n\n\n<li>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432<\/li>\n\n\n\n<li>\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/li>\n<\/ul>\n\n\n\n<h2 id=\"rtoc-32\"  class=\"wp-block-heading\">\u041c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u044c<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u0435\u0440\u0432\u0435\u0440 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0437\u0430 \u0440\u0430\u0437 \u0432 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435. \u0414\u043b\u044f \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u043a \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><em>\u0412\u0435\u0440\u0441\u0438\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438: 1.0.0<\/em><br><em>\u0414\u0430\u0442\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f: 15 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f 2025<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>MCP PowerShell Server Documentation In Questo Articolo \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0444\u0430\u0439\u043b\u0430 \u0424\u0443\u043d\u043a\u0446\u0438\u0438 ConvertFrom-JsonToHashtable Write-Log Test-MCPRequest New-MCPResponse Invoke-PowerShellScript MCP \u041c\u0435\u0442\u043e\u0434\u044b initialize tools\/list tools\/call \u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b run-script \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u041a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430 \u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0417\u0430\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u041f\u0440\u0438\u043c\u0435\u0440\u044b MCP \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0421\u043f\u0438\u0441\u043e\u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0448\u0438\u0431\u043e\u043a \u041a\u043e\u0434\u044b \u043e\u0448\u0438\u0431\u043e\u043a MCP \u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a \u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u041c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u044c \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 MCP PowerShell Server&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-3512","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\/3512","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=3512"}],"version-history":[{"count":0,"href":"https:\/\/ru.davidka.net\/ru\/wp-json\/wp\/v2\/posts\/3512\/revisions"}],"wp:attachment":[{"href":"https:\/\/ru.davidka.net\/ru\/wp-json\/wp\/v2\/media?parent=3512"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ru.davidka.net\/ru\/wp-json\/wp\/v2\/categories?post=3512"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ru.davidka.net\/ru\/wp-json\/wp\/v2\/tags?post=3512"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}