v0.16.12 #7
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Publish MCP Registry | |
| on: | |
| release: | |
| types: | |
| - published | |
| workflow_dispatch: | |
| inputs: | |
| release_tag: | |
| description: GitHub Release tag to publish metadata for, for example v0.16.5. | |
| required: true | |
| type: string | |
| checkout_ref: | |
| description: Optional branch, tag, or commit SHA to publish from. Defaults to the selected workflow ref. | |
| required: false | |
| type: string | |
| permissions: | |
| contents: read | |
| id-token: write | |
| jobs: | |
| publish-mcp-registry: | |
| name: Publish MCP Registry | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| ref: ${{ github.event.inputs.checkout_ref || github.ref }} | |
| - name: Setup Node.js | |
| uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 | |
| with: | |
| node-version: "22" | |
| - name: Resolve release metadata | |
| id: meta | |
| run: | | |
| set -euo pipefail | |
| PACKAGE_VERSION="$(node -p "JSON.parse(require('node:fs').readFileSync('package.json', 'utf8')).version")" | |
| SERVER_VERSION="$(node -p "JSON.parse(require('node:fs').readFileSync('server.json', 'utf8')).version")" | |
| TAG_NAME="${{ github.event.release.tag_name || github.event.inputs.release_tag }}" | |
| VERSION="${TAG_NAME#v}" | |
| if [ "$VERSION" != "$PACKAGE_VERSION" ]; then | |
| echo "Release tag $TAG_NAME does not match package.json version $PACKAGE_VERSION" >&2 | |
| exit 1 | |
| fi | |
| if [ "$VERSION" != "$SERVER_VERSION" ]; then | |
| echo "Release tag $TAG_NAME does not match server.json version $SERVER_VERSION" >&2 | |
| exit 1 | |
| fi | |
| echo "version=$VERSION" >> "$GITHUB_OUTPUT" | |
| shell: bash | |
| - name: Check MCP metadata sync | |
| run: node scripts/sync-mcp-metadata.mjs --check | |
| - name: Install mcp-publisher | |
| run: | | |
| set -euo pipefail | |
| curl -L "https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher | |
| shell: bash | |
| - name: Authenticate to MCP Registry | |
| run: ./mcp-publisher login github-oidc | |
| - name: Publish server to MCP Registry | |
| run: ./mcp-publisher publish server.json |