PoshMcp v0.6.0 Release Notes
Released: 2026-07-25
What's New
MCP Resources Support
PoshMcp now exposes static and dynamic content as MCP Resources, allowing AI agents to read contextual information without executing PowerShell commands.
Two resource sources:
- File-based resources — Expose configuration files, runbooks, or documentation on disk
- Command-based resources — Serve live PowerShell output (processes, service topology, Azure resources)
Example: Configure a resource backed by a PowerShell command:
{
"McpResources": {
"Resources": [
{
"Uri": "poshmcp://resources/running-processes",
"Name": "Running Processes",
"Description": "List of currently running processes",
"MimeType": "application/json",
"Source": "command",
"Command": "Get-Process | Select-Object Name, Id, WorkingSet | ConvertTo-Json -Depth 2"
}
]
}
}
MCP clients can now:
resources/list— discover configured resourcesresources/read— fetch resource content by URI
MCP Prompts Support
Define reusable prompt templates with named arguments. AI agents inject arguments as PowerShell variables, enabling dynamic prompt rendering.
Example: A prompt template for service analysis:
{
"McpPrompts": {
"Prompts": [
{
"Name": "analyze-service",
"Description": "Analyze Windows service status and health",
"Arguments": [
{
"Name": "serviceName",
"Description": "Name of the Windows service",
"Required": true
},
{
"Name": "detail",
"Description": "Level of detail (basic, detailed)",
"Required": false
}
],
"Command": "Get-Service -Name $serviceName | Format-List *; Get-EventLog -LogName System -Source Service Control Manager | Where-Object { $_.Message -match $serviceName } | Select-Object -First 5"
}
]
}
}
MCP clients can:
prompts/list— discover available prompt templatesprompts/get— retrieve a rendered prompt with arguments injected
Doctor Validation
The poshmcp doctor command now validates McpResources and McpPrompts configuration:
poshmcp doctor
Doctor checks include:
- Resource URI uniqueness
- File path accessibility (for file-based resources)
- PowerShell command syntax validity (for command-based resources)
- Prompt argument requirement consistency
- Missing or circular prompt references
Configuration
McpResources Schema
{
"McpResources": {
"Resources": [
{
"Uri": "poshmcp://resources/{id}",
"Name": "Display Name",
"Description": "Brief description",
"MimeType": "text/plain or application/json",
"Source": "file" | "command",
"Path": "path/to/file.txt",
"Command": "PowerShell command"
}
]
}
}
Uri— Unique resource identifier (required)Name— Human-readable name (required)Description— What the resource contains (required)MimeType— Content type (required)Source—"file"or"command"(required)Path— File path (required if Source = "file"; relative to appsettings.json directory)Command— PowerShell command (required if Source = "command")
McpPrompts Schema
{
"McpPrompts": {
"Prompts": [
{
"Name": "prompt-name",
"Description": "What this prompt does",
"Arguments": [
{
"Name": "arg-name",
"Description": "Argument description",
"Required": true | false
}
],
"Command": "PowerShell command with $arg-name variables"
}
]
}
}
Name— Prompt identifier (required)Description— Purpose of the prompt (required)Arguments— Array of argument definitions (optional)Command— PowerShell command with$variableNameplaceholders (required)
Breaking Changes
None. This is a backward-compatible feature release.
Bug Fixes & Stability
- Improved error messages for resource read failures with context-aware hints
- Fixed resource caching edge case when command output is very large
- Prompt argument validation now provides detailed mismatch errors
Upgrade Notes
For Existing Deployments
If you do not need MCP Resources or Prompts:
- No configuration changes required
- No breaking changes to existing PowerShell tool exposure
- Safe to upgrade immediately
Enabling Resources and Prompts
To use the new features, add McpResources and/or McpPrompts sections to your appsettings.json:
# Update configuration manually or via CLI (CLI support planned for 0.6.1)
# For now, edit appsettings.json directly
Recommended Next Steps
- Read Resources and Prompts Guide for complete examples
- Use
poshmcp doctorto validate your configuration - Test resource and prompt access with your MCP client
Documentation
- Resources and Prompts Guide — Comprehensive user guide with examples
- Configuration Reference — Full appsettings.json schema
Known Limitations
- Prompt commands cannot reference PowerShell functions defined in other prompts (single-scope execution)
- Resource read operations do not cache; each call executes fresh (by design for live data)
- File-based resources are read in full into memory; very large files may impact performance
Platform Support
- Windows: .NET 10 runtime
- Linux/macOS: .NET 10 runtime
- Docker: Included in
poshmcp:latestimage - Azure Container Apps: Supported with
POSHMCP_TRANSPORT=http
Testing
This release includes:
- Unit tests for resource URI validation and uniqueness
- Integration tests for
resources/listandresources/readMCP methods - Integration tests for
prompts/listandprompts/getMCP methods - Command-based resource execution and error handling tests
- Doctor validation tests for configuration integrity