Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -147,3 +147,62 @@ jobs:
GITHUB_TOKEN: ${{ github.token }}
run: |
gh release upload ${{github.event.release.tag_name}} ./extension/playwright-mcp-extension-${{ steps.get-version.outputs.version }}.zip

publish-release-mcp-registry:
if: github.event_name == 'release'
needs: publish-release-npm
runs-on: ubuntu-latest
Comment thread
joelverhagen marked this conversation as resolved.
environment: allow-mcp-registry-publishing
permissions:
contents: read
id-token: write # Needed for GitHub OIDC authentication
steps:
- uses: actions/checkout@v5
- name: Clone MCP Registry and build publisher tool
shell: pwsh
run: |
cd ${{ runner.temp }}
Comment thread
joelverhagen marked this conversation as resolved.

# Install Microsoft Go
go run github.com/microsoft/go-infra/goinstallscript@v1.1.0
./go-install.ps1 -GitHubActionsPath

# Enable compliant crypto
$env:GOEXPERIMENT = "systemcrypto"

# Clone and build the publisher tool
git clone --branch "v1.3.7" https://github.com/modelcontextprotocol/registry
cd registry
go build -o ${{ runner.temp }}/mcp-publisher ./cmd/publisher

# show help for the tool to ensure it's working
${{ runner.temp }}/mcp-publisher --help
- name: Update server.json version
shell: pwsh
run: |
$packageJson = Get-Content ./package.json | ConvertFrom-Json
Comment thread
joelverhagen marked this conversation as resolved.
Outdated
$version = $packageJson.version
Write-Host "Updating server.json with version: $version"
$serverJson = Get-Content ./.mcp/server.json | ConvertFrom-Json
$serverJson.version = $version
foreach ($package in $serverJson.packages) {
$package.version = $version
}
$serverJson | ConvertTo-Json -Depth 10 | Set-Content ./.mcp/server.json
- name: Azure Login via OIDC
uses: azure/login@v2
with:
client-id: ${{ secrets.AZURE_MCP_REGISTRY_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_MCP_REGISTRY_SUBSCRIPTION_ID }}
subscription-id: ${{ secrets.AZURE_MCP_REGISTRY_TENANT_ID }}
- name: Publish to the MCP Registry
shell: pwsh
run: |
# log in using Key Vault
${{ runner.temp }}/mcp-publisher `
login dns azure-key-vault `
-vault "${{ secrets.KV_NAME }}" -key "${{ secrets.KV_KEY_NAME }}" `
-domain microsoft.com

# publish the server.json
${{ runner.temp }}/mcp-publisher publish ./.mcp/server.json
21 changes: 21 additions & 0 deletions .mcp/server.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json",
"name": "com.microsoft/playwright-mcp",
"title": "Playwright",
"description": "Automate web browsers using accessibility trees for testing and data extraction.",
Comment thread
joelverhagen marked this conversation as resolved.
"repository": {
"url": "https://github.com/microsoft/playwright-mcp",
"source": "github"
},
"version": "<version is replaced in the publish pipeline>",
"packages": [
{
"registryType": "npm",
"identifier": "@playwright/mcp",
"version": "<version is replaced in the publish pipeline>",
"transport": {
"type": "stdio"
}
}
]
}
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"name": "@playwright/mcp",
"version": "0.0.46",
"description": "Playwright Tools for MCP",
"mcpName": "com.microsoft/playwright-mcp",
"repository": {
"type": "git",
"url": "git+https://github.com/microsoft/playwright-mcp.git"
Expand Down