eng/common/mcp/azure-sdk-mcp.ps1 (53 lines of code) (raw):

#!/bin/env pwsh param( [string]$FileName = 'azsdk', [string]$Package = 'azsdk', [string]$Version, # Default to latest [string]$InstallDirectory = (Join-Path $HOME ".azure-sdk-mcp" "azsdk"), [string]$Repository = 'Azure/azure-sdk-tools', [switch]$Run, [switch]$UpdateVsCodeConfig, [switch]$Clean ) $ErrorActionPreference = "Stop" . (Join-Path $PSScriptRoot '..' 'scripts' 'Helpers' 'AzSdkTool-Helpers.ps1') if ($Clean) { Clear-Directory -Path $InstallDirectory } if ($UpdateVsCodeConfig) { $vscodeConfigPath = $PSScriptRoot + "../../../.vscode/mcp.json" if (Test-Path $vscodeConfigPath) { $vscodeConfig = Get-Content -Raw $vscodeConfig | ConvertFrom-Json -AsHashtable } else { $vscodeConfig = @{} } $serverKey = "azure-sdk-mcp" $serverConfig = @{ "type" = "stdio" "command" = "/home/ben/azs/azure-sdk-tools/eng/common/mcp/azure-sdk-mcp.ps1" } $orderedServers = [ordered]@{ $serverKey = $serverConfig } if (-not $vscodeConfig.ContainsKey('servers')) { $vscodeConfig['servers'] = @{} } foreach ($key in $vscodeConfig.servers.Keys) { if ($key -ne $serverKey) { $orderedServers[$key] = $vscodeConfig.servers[$key] } } $vscodeConfig.servers = $orderedServers Write-Host "Updating vscode mcp config at $vscodeConfigPath" $vscodeConfig | ConvertTo-Json -Depth 10 | Set-Content -Path $vscodeConfig -Force } $exe = Install-Standalone-Tool ` -Version $Version ` -FileName $FileName ` -Package $Package ` -Directory $InstallDirectory ` -Repository $Repository if ($Run) { Start-Process -FilePath $exe -NoNewWindow -Wait }