PSMcpKnowledgeBase
0.3.0
Host a Model Context Protocol (MCP) server that serves your own documentation to AI agents, and manage the server and its knowledge base entirely from PowerShell. Supports stdio and Streamable HTTP, imports Markdown, text, HTML/web pages, Word (.docx), PDF, CSV, JSON/YAML/XML and source code, and ships a local BM25 search.
Minimum PowerShell version
7.2
Installation Options
Owners
Copyright
(c) nikq29. All rights reserved.
Package Details
Author(s)
- nikq29
Tags
MCP ModelContextProtocol AI Agent LLM Documentation KnowledgeBase Claude Copilot RAG Windows Linux MacOS
Functions
Get-McpClientConfig Add-McpDocument Get-McpDocument Get-McpDocumentConverter Register-McpDocumentConverter Remove-McpDocument Search-McpDocument Set-McpDocument Unregister-McpDocumentConverter Update-McpDocument Export-McpKnowledgeBase Get-McpKnowledgeBase Import-McpKnowledgeBase New-McpKnowledgeBase Publish-McpKnowledgeBase Remove-McpKnowledgeBase Set-McpKnowledgeBase Get-McpServer Get-McpServerLog Restart-McpServer Start-McpServer Stop-McpServer Test-McpServer
PSEditions
Dependencies
This module has no dependencies.
Release Notes
## [0.3.0] - 2026-11-15
### Added
- OAuth sign-in for HTTP servers: `Start-McpServer -OAuthIssuer -OAuthAudience -OAuthScope` (or
`PSMCPKB_OAUTH_ISSUER`, `PSMCPKB_OAUTH_AUDIENCE`, `PSMCPKB_OAUTH_SCOPE`) accepts JWT access tokens of an OpenID
Connect identity provider such as Microsoft Entra ID next to API keys and publishes
`/.well-known/oauth-protected-resource` so MCP clients can sign in. `Restart-McpServer` keeps the OAuth settings.
The issuer must use https (http only for localhost), tokens need a scope or app roles (ID tokens are rejected), and
the signing keys are refreshed daily. Like API key servers, OAuth servers accept browser clients from any origin.
- Azure template: `oauthClientId`/`oauthScope` enable Entra ID sign-in for the tenant of the deployment, and
`allowAnonymous` is now available; `apiKey` is optional when one of them is used. The Deploy to Azure button opens a
portal form (`createUiDefinition.json`) that lists the app registrations you own. `deploy.ps1` has
`-OAuthClientId`, `-OAuthScope`, `-AllowAnonymous` and `-AllowedOrigin`.
### Changed
- Releases move the `Unreleased` entries of `CHANGELOG.md` into a version section before the tag is created; the
release workflow stops when the section is missing and uses it for the GitHub release and the module manifest.
The sections of 0.1.0, 0.1.1 and 0.2.0 were added afterwards.
### Fixed
- `Publish-McpKnowledgeBase` checks the share for documents that do not exist locally again right before the
manifest is uploaded, so a note that an agent saves during a long upload is kept too.
- Background HTTP servers start when the knowledge base path, origins or OAuth settings contain curly apostrophes
(U+2019, which macOS types in folder names), and the commands of `Get-McpClientConfig` stay valid for such paths
on Windows. PowerShell treats these characters as single quotes, so the quoted values ended early.
- Successful `/health` requests (Azure probes every 30 seconds) are no longer written to the server log, which is
never rotated.
FileList
- PSMcpKnowledgeBase.nuspec
- PSMcpKnowledgeBase.psd1
- PSMcpKnowledgeBase.psm1
- en-US\about_PSMcpKnowledgeBase.help.txt
Version History
| Version | Downloads | Last updated |
|---|---|---|
| 0.3.1 | 9 | 11/15/2026 |
| 0.3.0 (current version) | 10 | 11/15/2026 |
| 0.2.0 | 11 | 11/15/2026 |
| 0.1.1 | 12 | 11/15/2026 |
| 0.1.0 | 9 | 11/15/2026 |