PSMcpKnowledgeBase.psd1
|
@{ # Script module or binary module file associated with this manifest. RootModule = 'PSMcpKnowledgeBase.psm1' # Version number of this module. Set by the Sampler build (GitVersion). ModuleVersion = '0.3.0' # ID used to uniquely identify this module GUID = 'a4c5aad7-b202-47f2-b38d-baca8f8a568f' Author = 'nikq29' CompanyName = 'nikq29' Copyright = '(c) nikq29. All rights reserved.' Description = '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.' PowerShellVersion = '7.2' CompatiblePSEditions = @('Core') RequiredModules = @() # Filled by ModuleBuilder from the files in the Public folder. FunctionsToExport = @('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') CmdletsToExport = @() VariablesToExport = @() AliasesToExport = @() PrivateData = @{ PSData = @{ Tags = @('MCP', 'ModelContextProtocol', 'AI', 'Agent', 'LLM', 'Documentation', 'KnowledgeBase', 'Claude', 'Copilot', 'RAG', 'PSEdition_Core', 'Windows', 'Linux', 'MacOS') LicenseUri = 'https://github.com/nikq29/PSMcpKnowledgeBase/blob/main/LICENSE' ProjectUri = 'https://github.com/nikq29/PSMcpKnowledgeBase' ReleaseNotes = '## [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. ' Prerelease = '' } } } |