name: Publish to MCP Registry on: workflow_dispatch: workflow_run: workflows: ["Build & publish haiku.rag to pypi"] types: - completed jobs: publish-mcp: runs-on: ubuntu-latest if: ${{ github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success' }} permissions: contents: read id-token: write steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.12' - name: Generate server.json from template run: | VERSION=$(python -c "import tomllib; print(tomllib.load(open('haiku_rag_slim/pyproject.toml', 'rb'))['project']['version'])") sed "s/{{VERSION}}/$VERSION/g" server.json > server.json.tmp mv server.json.tmp server.json echo "Generated server.json with version: $VERSION" - name: Install MCP Publisher run: | LATEST_RELEASE=$(curl -s https://api.github.com/repos/modelcontextprotocol/registry/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') curl -L https://github.com/modelcontextprotocol/registry/releases/download/${LATEST_RELEASE}/mcp-publisher_linux_amd64.tar.gz -o mcp-publisher.tar.gz tar -xzf mcp-publisher.tar.gz chmod +x mcp-publisher sudo mv mcp-publisher /usr/local/bin/ - name: Login to MCP Registry run: mcp-publisher login github-oidc - name: Publish to MCP Registry run: mcp-publisher publish