PoshMcp Documentation
Transform PowerShell into AI-consumable tools with zero code changes.
PoshMcp is an open-source Model Context Protocol (MCP) server that securely exposes PowerShell commands to AI assistants and other MCP clients. Whether you're automating cloud infrastructure, system administration, or DevOps workflows, PoshMcp bridges the gap between AI capabilities and your existing PowerShell expertise.
Quick Navigation
- Getting Started — Install and run PoshMcp in minutes
- Configuration Guide — Configure PowerShell tools and modules
- Entra ID Authentication — Secure with OAuth 2.1 and Managed Identity
- Docker Deployment — Build and run containerized instances
- API Reference — C# API documentation for developers
Why PoshMcp?
🔧 Zero-Code Integration
Expose any PowerShell function or module command without writing C# code. Use familiar CLI commands to configure which tools AI assistants can access.
🔐 Enterprise Security
- OAuth 2.1 authentication with Entra ID
- Automatic Managed Identity support on Azure
- Token validation and per-user audit trails
- RBAC integration via PowerShell scopes
🚀 Multiple Deployment Models
- Local development with VS Code and GitHub Copilot
- HTTP server for custom integrations
- Docker containers for cloud and on-premises
- Azure Container Apps for managed, scalable deployments
📡 Model Context Protocol (MCP)
PoshMcp implements the MCP specification, enabling seamless integration with:
- GitHub Copilot
- Claude (Anthropic)
- Any MCP-compatible AI client
What Can You Do?
- Expose PowerShell modules to AI assistants for Infrastructure-as-Code, system admin, and DevOps
- Automate cloud operations — let AI call your Az PowerShell commands securely
- Build intelligent workflows — combine PowerShell logic with AI reasoning
- Maintain compliance — audit-log every tool invocation with user identity
- Scale across teams — shared HTTP or Container Apps deployments with multi-tenant support
Installation (30 seconds)
dotnet tool install -g poshmcp
poshmcp create-config
poshmcp serve --transport stdio
Then point your MCP client at it and start using PowerShell tools.
How It Works
graph LR
A["Your PowerShell<br/>(Get-Process, Set-AzResource, etc.)"]
B["PoshMcp Server<br/>(MCP + Auth)"]
C["MCP Client<br/>(GitHub Copilot, Claude, etc.)"]
A -->|Exposes as tools| B
C -->|Calls via MCP| B
B -->|Executes| A
B -->|Auth/Audit| D["Entra ID<br/>& Logs"]
Learn More
| Topic | Link |
|---|---|
| Installation & Configuration | Getting Started |
| Security & Authentication | Entra ID Guide |
| Docker & Containerization | Docker Deployment |
| Advanced Topics | Advanced Guide |
| API Reference | C# API Docs |
| Examples | Examples |
| Troubleshooting | FAQ & Troubleshooting |
Community & Support
- GitHub Issues — Report bugs or request features
- GitHub Discussions — Ask questions and share ideas
- Contributing — Contribute to PoshMcp
Ready to get started? → Go to Getting Started