hypo69/mcp-powershell-server
If you are the rightful owner of mcp-powershell-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
MCP PowerShell Server is a secure implementation of the Model Context Protocol (MCP) for executing PowerShell scripts.
MCP PowerShell Server
Π‘Π΅ΡΠ²Π΅Ρ MCP (Model Context Protocol) Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ PowerShell ΡΠΊΡΠΈΠΏΡΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ ΠΊΠ°ΠΊ HTTP, ΡΠ°ΠΊ ΠΈ STDIO ΡΠ΅ΠΆΠΈΠΌΡ ΡΠ°Π±ΠΎΡΡ.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
MCP PowerShell Server ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΠ-Π°ΡΡΠΈΡΡΠ΅Π½ΡΠ°ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ PowerShell ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΡΠΊΡΠΈΠΏΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» MCP. Π‘Π΅ΡΠ²Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π΄Π²Π° ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ°Π±ΠΎΡΡ:
- STDIO ΡΠ΅ΠΆΠΈΠΌ: ΠΠ»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ
gemini-cli
ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ MCP-ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ. - HTTP ΡΠ΅ΠΆΠΈΠΌ: ΠΠ»Ρ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠ΅ΡΠΈ ΡΠ΅ΡΠ΅Π· REST API.
ΠΠ°ΠΊΠΎΠΉ ΡΠ΅ΠΆΠΈΠΌ Π²ΡΠ±ΡΠ°ΡΡ: HTTP ΠΈΠ»ΠΈ STDIO?
ΠΡΠ±ΠΎΡ ΠΌΠ΅ΠΆΠ΄Ρ mcp-powershell-http.ps1
ΠΈ mcp-powershell-stdio.ps1
Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈ ΠΎΡΠΊΡΠ΄Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ.
mcp-powershell-http.ps1
(HTTP ΡΠ΅ΠΆΠΈΠΌ) ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ ΠΎΡΠΈΡΠΈΠ°Π½Ρ Π² ΡΠ΅ΡΡΠΎΡΠ°Π½Π΅. ΠΠ½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π·Π°ΠΊΠ°Π·Ρ (HTTP-Π·Π°ΠΏΡΠΎΡΡ) ΠΎΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π² ΡΠ΅ΡΠΈ, ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΠΈΡ Π½Π° "ΠΊΡΡ Π½Ρ" (PowerShell) ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π³ΠΎΡΠΎΠ²ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ (HTTP-ΠΎΡΠ²Π΅Ρ).mcp-powershell-stdio.ps1
(STDIO ΡΠ΅ΠΆΠΈΠΌ) ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ Π»ΠΈΡΠ½ΡΠΉ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊ Π½Π° ΠΊΡΡ Π½Π΅. ΠΠ½ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π·Π°Π΄Π°Π½ΠΈΡ Π½Π°ΠΏΡΡΠΌΡΡ (ΡΠ΅ΡΠ΅Π· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²Π²ΠΎΠ΄stdin
) ΠΎΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,gemini-cli
), ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΌ Π΅Π³ΠΎ Π·Π°ΠΏΡΡΡΠΈΠ», ΠΈ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΎΡΠ΄Π°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ (ΡΠ΅ΡΠ΅Π· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄stdout
).
ΠΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ HTTP ΡΠ΅ΠΆΠΈΠΌ
ΠΠ°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ HTTP, Π΅ΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π²ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅.
- Π£Π΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅: ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅.
- ΠΠ΅Π±-ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ: ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ PowerShell-ΡΠΊΡΠΈΠΏΡΡ ΠΈΠ· Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠ°Π½Π΅Π»ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· AJAX-Π·Π°ΠΏΡΠΎΡΡ.
- ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°: ΠΡΡΠ³ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ Π² Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΡΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ PowerShell.
- ΠΡΠΎΡΡΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: ΠΡ Ρ
ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΠΎΠ΄Π΅
curl
, Postman ΠΈΠ»ΠΈInvoke-RestMethod
Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄.
ΠΡΠΎΡΡΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ: Π²ΡΠ±ΠΈΡΠ°ΠΉΡΠ΅ HTTP, Π΅ΡΠ»ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π΅ΡΡΡ ΡΠ΅ΡΡ.
ΠΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ STDIO ΡΠ΅ΠΆΠΈΠΌ
ΠΡΠΎΡ ΡΠ΅ΠΆΠΈΠΌ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ.
- ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ β Gemini CLI: ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ
gemini-cli
ΡΠ°ΠΌ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρmcp-powershell-stdio.ps1
ΠΊΠ°ΠΊ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈ ΠΎΠ±ΡΠ°Π΅ΡΡΡ Ρ Π½ΠΈΠΌ Π½Π°ΠΏΡΡΠΌΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°. - ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ: ΠΠ°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° Python, Node.js ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΡΠ²Π΅Ρ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠΌ, Π½Π΅ ΠΎΡΠΊΡΡΠ²Π°Ρ ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΠΏΠΎΡΡΡ.
- ΠΠΎΠ²ΡΡΠ΅Π½Π½Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ: ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΠΏΠΎΡΡΡ Π½Π΅ ΠΎΡΠΊΡΡΠ²Π°ΡΡΡΡ, ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½.
ΠΡΠΎΡΡΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ: Π²ΡΠ±ΠΈΡΠ°ΠΉΡΠ΅ STDIO, Π΅ΡΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ ΡΠ΅ΡΠ²Π΅Ρ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅, ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΠ°ΠΌ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ΅ΡΠ²Π΅Ρ.
Π‘ΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ°
Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° | HTTP ΡΠ΅ΠΆΠΈΠΌ (mcp-powershell-http.ps1 ) | STDIO ΡΠ΅ΠΆΠΈΠΌ (mcp-powershell-stdio.ps1 ) |
---|---|---|
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ | Π‘Π΅ΡΠ΅Π²ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, Π²Π΅Π±-API | ΠΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ CLI-ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ |
Π’ΠΈΠΏ ΡΠ²ΡΠ·ΠΈ | ΠΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΎ ΡΠ΅ΡΠΈ (TCP/IP) | ΠΠ΅ΠΆΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ (IPC) |
Π Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ | ΠΠ»ΠΈΠ΅Π½Ρ ΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ | ΠΠ»ΠΈΠ΅Π½Ρ ΠΈ ΡΠ΅ΡΠ²Π΅Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ |
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ | Π’ΡΠ΅Π±ΡΠ΅Ρ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ (Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠΎΡΡΡ, ΡΠ°ΠΉΡΠ²ΠΎΠ») | ΠΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (Π½Π΅Ρ ΠΎΡΠΊΡΡΡΡΡ ΠΏΠΎΡΡΠΎΠ²) |
Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ | curl , Postman, Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ | gemini-cli , Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ-ΠΎΠ±Π΅ΡΡΠΊΠΈ |
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ
- β ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° MCP ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π²Π΅ΡΡΠΈΠΈ 2024-11-05
- β ΠΠ²Π° ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ°Π±ΠΎΡΡ: STDIO ΠΈ HTTP
- β ΠΠ·ΠΎΠ»ΡΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ PowerShell ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ
- β ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠΌ-Π°ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
- β ΠΠ΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ
- β ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ PowerShell
- β ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΊΡΠΈΠΏΡΠΎΠ²
- β ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ
- β ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ launcher'Ρ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΡΠΊΠ°
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
- PowerShell 7.0 ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅
- Windows 10/11 ΠΈΠ»ΠΈ Windows Server 2019+
- .NET 6.0 ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°
mcp-powershell-server/
βββ src/
β βββ clients/ # ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
β β βββ node/ # Node.js ΠΊΠ»ΠΈΠ΅Π½Ρ
β β βββ powershell/ # PowerShell ΠΊΠ»ΠΈΠ΅Π½Ρ
β β βββ python/ # Python ΠΊΠ»ΠΈΠ΅Π½Ρ
β βββ servers/ # Π‘Π΅ΡΠ²Π΅ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
β βββ mcp-powershell-stdio.ps1 # STDIO Π²Π΅ΡΡΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ°
β βββ mcp-powershell-http.ps1 # HTTP Π²Π΅ΡΡΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ°
β βββ test-mcp.ps1 # Π’Π΅ΡΡΠΎΠ²ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ
β βββ config.json # Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ
βββ docs/ # ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
βββ README.md # ΠΡΠΎΡ ΡΠ°ΠΉΠ»
βββ how-to-use.md # ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ
ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
STDIO ΡΠ΅ΠΆΠΈΠΌ (Π΄Π»Ρ gemini-cli)
-
ΠΠ°ΠΏΡΡΠΊ ΡΠ΅ΡΠ²Π΅ΡΠ°:
.\src\servers\mcp-powershell-stdio.ps1
-
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅:
.\src\servers\test-mcp.ps1
HTTP ΡΠ΅ΠΆΠΈΠΌ
-
ΠΠ°Π·ΠΎΠ²ΡΠΉ Π·Π°ΠΏΡΡΠΊ:
.\src\servers\mcp-powershell-http.ps1
-
Π‘ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ:
.\src\servers\mcp-powershell-http.ps1 -Port 9090 -ServerHost "0.0.0.0"
-
Π‘ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ:
.\src\servers\mcp-powershell-http.ps1 -ConfigFile ".\src\servers\config.json"
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ MCP ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ
run-script
ΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ PowerShell ΡΠΊΡΠΈΠΏΡ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
script
(ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ) - PowerShell ΠΊΠΎΠ΄ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡparameters
(ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ) - Π₯Π΅Ρ-ΡΠ°Π±Π»ΠΈΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²workingDirectory
(ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ) - Π Π°Π±ΠΎΡΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡtimeoutSeconds
(ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ) - Π’Π°ΠΉΠΌ-Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (1-3600 ΡΠ΅ΠΊ)
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· MCP:
{
"name": "run-script",
"arguments": {
"script": "Get-Process | Select-Object -First 5 | Format-Table",
"workingDirectory": "C:\\",
"timeoutSeconds": 30
}
}
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ
Π‘Π΅ΡΠ²Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΠ΅Π· ΡΠ°ΠΉΠ» config.json
:
{
"Port": 8090,
"Host": "localhost",
"MaxConcurrentRequests": 10,
"TimeoutSeconds": 300,
"AllowedPaths": [
"C:\\Scripts\\",
"C:\\Tools\\"
],
"Security": {
"EnableScriptValidation": true,
"BlockDangerousCommands": true,
"RestrictedCommands": [
"Remove-Item",
"Format-Volume",
"Stop-Computer",
"Restart-Computer"
]
}
}
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
- ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ PowerShell ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΏΠΈΡΠΊΠ° Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄
- ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
- ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠ°Π½Π΄
- ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΡΡΠ΅ΠΉ
ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
- STDIO ΡΠ΅ΠΆΠΈΠΌ: ΠΠΎΠ³ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π²
%TEMP%\mcp-powershell-server.log
- HTTP ΡΠ΅ΠΆΠΈΠΌ: ΠΠΎΠ³ΠΈ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ Ρ ΡΠ²Π΅ΡΠΎΠ²ΠΎΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ
Π£ΡΠΎΠ²Π½ΠΈ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ: DEBUG, INFO, WARNING, ERROR
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΠΠ-Π°ΡΡΠΈΡΡΠ΅Π½ΡΠ°ΠΌΠΈ
Gemini CLI
gemini --mcp-config "path/to/mcp_servers.json" -m gemini-2.5-pro -p "ΠΠΎΠΊΠ°ΠΆΠΈ ΠΏΠ΅ΡΠ²ΡΠ΅ 5 ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π² ΡΠΈΡΡΠ΅ΠΌΠ΅"
ΠΡΡΠ³ΠΈΠ΅ MCP-ΠΊΠ»ΠΈΠ΅Π½ΡΡ
Π‘Π΅ΡΠ²Π΅Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΌΠΈ MCP ΠΏΡΠΎΡΠΎΠΊΠΎΠ» 2024-11-05.
Π£ΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ
ΠΠ±ΡΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
- ΠΠΎΡΡ Π·Π°Π½ΡΡ: ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎΡΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ ΠΏΠΎΡΡ
- ΠΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ°: ΠΠ°ΠΏΡΡΠΊ Π½Π° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎΡΡΠ°Ρ (<1024) ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΡΠ°Π² Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°
- ΠΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ°: Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ PowerShell Π½Π°ΡΡΡΠΎΠ΅Π½ Π½Π° UTF-8
- ΠΠ΅ΡΡΠΈΡ PowerShell: Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ PowerShell 7+
ΠΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ°
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π»ΠΎΠ³ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄Π»Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ:
Get-Content "$env:TEMP\mcp-powershell-server.log" -Tail 20
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅
Π‘Π΅ΡΠ²Π΅Ρ Π»Π΅Π³ΠΊΠΎ ΡΠ°ΡΡΠΈΡΡΠ΅ΡΡΡ Π½ΠΎΠ²ΡΠΌΠΈ MCP ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ. Π‘ΠΌ. how-to-use.md
Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ
ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΏΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅.
ΠΠΈΡΠ΅Π½Π·ΠΈΡ
ΠΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ MIT. Π‘ΠΌ. ΡΠ°ΠΉΠ» LICENSE Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Issue Π² GitHub ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
- ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π²
how-to-use.md
- ΠΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
ΠΠ΅ΡΡΠΈΠΈ
- 1.0.0 - ΠΠ°ΡΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ STDIO ΠΈ HTTP ΡΠ΅ΠΆΠΈΠΌΠΎΠ²