PnP PowerShell
mcpotherio.github.pnp/pnp-powershell-mcp-server · v0.1.7-beta
Manage Microsoft 365 in natural language with PnP PowerShell and author PnP PowerShell scripts.
run it
on your own machines, one way per deploy methodgenerated from the record, not tested yet
#!/usr/bin/env bash # pnp-powershell (io.github.pnp/pnp-powershell-mcp-server), recipe baremetal (generated). # Generated by Hub for toolset "my-agent"; started by mcp-my-agent-pnp-powershell.service. set -euo pipefail export HOST=127.0.0.1 PORT=8101 exec uvx mcp-proxy --host 127.0.0.1 --port 8101 --pass-environment -- dnx [email protected] --yes [Unit] Description=MCP server pnp-powershell (toolset my-agent), generated by Hub After=network-online.target Wants=network-online.target [Service] Type=simple User=mcp Group=mcp EnvironmentFile=/etc/mcp/my-agent.env Environment=HOME=/var/lib/mcp/pnp-powershell WorkingDirectory=/var/lib/mcp/pnp-powershell ExecStart=/opt/mcp/my-agent/bin/pnp-powershell.sh Restart=on-failure RestartSec=5 NoNewPrivileges=true ProtectSystem=strict ProtectHome=true PrivateTmp=true ReadWritePaths=/var/lib/mcp/pnp-powershell [Install] WantedBy=multi-user.target
connect to it
copy what your client needsdnx [email protected] --yes # env: PNP_MCP_READONLY, PNP_MCP_ALLOW_SETUP
{
"mcpServers": {
"pnp-powershell": {
"command": "dnx",
"args": [
"[email protected]",
"--yes"
],
"env": {
"PNP_MCP_READONLY": "${PNP_MCP_READONLY}",
"PNP_MCP_ALLOW_SETUP": "${PNP_MCP_ALLOW_SETUP}"
}
}
}
}
#!/usr/bin/env bash
# Registers every server with Claude Code (run once; `claude mcp list` to check).
set -euo pipefail
set -a; [ -f .env ] && source .env; set +a
claude mcp add pnp-powershell -e "PNP_MCP_READONLY=${PNP_MCP_READONLY}" -e "PNP_MCP_ALLOW_SETUP=${PNP_MCP_ALLOW_SETUP}" -- dnx [email protected] --yes
{
"mcpServers": {
"pnp-powershell": {
"command": "dnx",
"args": [
"[email protected]",
"--yes"
],
"env": {
"PNP_MCP_READONLY": "${PNP_MCP_READONLY}",
"PNP_MCP_ALLOW_SETUP": "${PNP_MCP_ALLOW_SETUP}"
}
}
}
}
{
"servers": {
"pnp-powershell": {
"type": "stdio",
"command": "dnx",
"args": [
"[email protected]",
"--yes"
],
"env": {
"PNP_MCP_READONLY": "${PNP_MCP_READONLY}",
"PNP_MCP_ALLOW_SETUP": "${PNP_MCP_ALLOW_SETUP}"
}
}
}
}
name: my-agent target: local servers: - hub: io.github.pnp/pnp-powershell-mcp-server
- not probed yet: tools unpinned, ingest lists them
tools
Not probed yetThe tools appear once the hub or its worker has listed this entry. Running it still works: your client lists them on first start.