name: Publish to MCP Registry on: push: tags: ["v*"] jobs: publish: name: Publish MCP Server runs-on: ubuntu-latest permissions: id-token: write contents: read defaults: run: working-directory: mcp-server steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: "22" registry-url: "https://registry.npmjs.org" - name: Install dependencies run: npm ci - name: Build run: npm run build - name: Publish to npm run: npm publish --access public env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Install MCP Publisher CLI run: | 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 working-directory: ${{ github.workspace }} - name: Login to MCP Registry run: ../mcp-publisher login github-oidc working-directory: ${{ github.workspace }}/mcp-server - name: Publish to MCP Registry run: ../mcp-publisher publish working-directory: ${{ github.workspace }}/mcp-server