About Pnp Powershell MCP Server
Pnp Powershell MCP Server is an MCP server published by pnp in the Developer Tools category: mCP server for PnP PowerShell.
The repository has 10 stars and 3 forks, with the last commit 4 days ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/pnp/pnp-powershell-mcp-serverThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (14)
pnp_diagnose_connectionChecks everything that has to be true before a command can run: `pwsh` on `PATH`, the `PnP.PowerShell` module, what connection the session holds, and — when it holds none — which app registration, persisted login or certificate this machine can actually sign in with. Every failing check names its cause and the exact next command, with no placeholder left in it where the facts can fill one in. Pass `targetUrl` to get the command for a specific site. The `pwsh`, module and auth-material checks need no tenant and no network, so it still works on a machine that is not set up yet; once a connection exists it also inspects that connection, which asks PnP for a Graph token and so reaches Entra ID.
Parameters not published.
pnp_get_best_practicesReturns best practices for using PnP PowerShell via this MCP server. Takes an optional `section` (`workflow`, `docs`, `sessions`, `config`, `readonly`, `output`, `destructive`, `auth`, `execution`, `patterns`) to retrieve one topic instead of the whole guide, which keeps the response small.
Parameters not published.
pnp_get_command_docsGets the reference documentation for one named cmdlet — syntax, parameters, parameter sets and examples — preceded by links to both the raw markdown source of its documentation page and the rendered HTML page. The markdown is the same content for a fraction of the tokens.
Parameters not published.
pnp_get_connection_statusChecks whether the session is signed in, to which site, and as which account.
Parameters not published.
pnp_get_result_pageReturns the next page of a result set `pnp_run_command` summarised. Pages over rows already fetched, so it costs nothing against the tenant and returns exactly the rows the original command saw.
Parameters not published.
pnp_get_script_sampleRetrieves the full PnP PowerShell script code for one named script sample. The index entry is local; the script body is fetched from GitHub.
Parameters not published.
pnp_list_sessionsLists all active PowerShell sessions with their status and last activity time. Use this to see what sessions exist before deciding which to connect, reset, or reuse.
Parameters not published.
pnp_pingReturns the server version, uptime, read-only mode status, and active session count, and — unless `includeReadiness` is `false` — whether `pwsh` and the `PnP.PowerShell` module are present. Use this as a lightweight health check to confirm the server is responsive and the machine is ready.
Parameters not published.
pnp_reset_sessionEnds a session and its PnP connection. Use it to sign out, switch accounts, or recover a session that has stopped responding.
Parameters not published.
pnp_run_commandRuns PnP PowerShell against the connected tenant and returns the result. Runs in a persistent session, so a `Connect-PnPOnline` connection is reused across calls. Destructive commands require confirmation first. A result set too large for the output cap is summarised and paged rather than truncated.
Parameters not published.
Show all 14 tools
pnp_search_commandsFinds which cmdlet does a job. Scores a compiled-in index of every cmdlet — name, verb, noun, synopsis, description, parameters and examples — with field-weighted BM25, so a plain-language question like "add a column to a list" finds `Add-PnPField`. Answers entirely in process: no `pwsh`, no session and no network, so it works on a machine that is not set up yet. Returns structured content alongside the text, and states the module version it was indexed from.
Parameters not published.
pnp_search_script_samplesLists community [PnP Script Samples](https://pnp.github.io/script-samples/) matching a keyword — titles, descriptions and links, no code. Answers from an index compiled into the server, so it needs no network.
Parameters not published.
pnp_setup_environmentInstalls the `PnP.PowerShell` module for the current user so PnP cmdlets can run, choosing the released or the latest pre-release build. It installs that one module only — it never signs in, touches the tenant, or creates an app registration — and only when `PNP_MCP_ALLOW_SETUP=true`; otherwise it returns the exact `Install-Module` command to run by hand.
Parameters not published.
pnp_suggest_scriptFinds the most relevant community script samples for a task and returns their full script code plus adaptation guidance, in one call.
Parameters not published.
Ask AI
Ask AI about Pnp Powershell MCP Server
Powered by Claude · Grounded in docs
Security checks
6 checks have not been run yet.