Types/OpenPackage/get_Mcp.json.ps1

<#
.SYNOPSIS
    Gets a Package's mcp.json
.DESCRIPTION
    Gets any mcp definitions in an Open Package
    
    Definitions can be in parts matching:
    * `/mcp.json`
    * `/claude_desktop_config.json`
    * `/\.?mcp/server.json`
#>

param()

$pattern = @(
    "/mcp\.json"
    "/claude_desktop_config\.json"
    '/\.?mcp/server.json$'
)

$pattern = "(?>$($pattern -join '|'))$"

foreach ($part in $this.GetParts()) {
    if ($part.Uri -notmatch $pattern) {
        continue
    }
    
    if ($part.Reader) {
        try {
            $part.Read()
        } catch {
            Write-Warning "Error reading $($part.Uri) : $_"
        }
    } else {
        $part
    }
}