Skip to main content
Glama

Last9 Observability MCP

Official
Apache 2.0
122
45
  • Apple
release.yaml5.65 kB
# .github/workflows/release.yml name: Release on Version Change on: pull_request: types: - closed branches: - main push: branches: - 'release-**' permissions: contents: write packages: write jobs: tag-and-release: if: github.event_name == 'pull_request' && github.event.pull_request.merged == true runs-on: ubuntu-latest outputs: version_changed: ${{ steps.version_change.outputs.changed }} new_version: ${{ steps.version_change.outputs.new_version }} steps: - name: Checkout code uses: actions/checkout@v4 with: fetch-depth: 0 - name: Get PR merge commit run: | git fetch origin main git checkout ${{ github.event.pull_request.merge_commit_sha }} - name: Get previous commit on main id: prev_commit run: | PREV_COMMIT=$(git rev-parse ${{ github.event.pull_request.merge_commit_sha }}^) echo "prev_commit=$PREV_COMMIT" >> $GITHUB_OUTPUT - name: Check if version changed in package.json id: version_change run: | OLD_VERSION=$(git show ${{ steps.prev_commit.outputs.prev_commit }}:package.json | jq -r .version) NEW_VERSION=$(jq -r .version package.json) echo "old_version=$OLD_VERSION" >> $GITHUB_OUTPUT echo "new_version=$NEW_VERSION" >> $GITHUB_OUTPUT if [ "$OLD_VERSION" != "$NEW_VERSION" ]; then echo "changed=true" >> $GITHUB_OUTPUT else echo "changed=false" >> $GITHUB_OUTPUT fi - name: Create tag if version changed if: steps.version_change.outputs.changed == 'true' run: | git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" git tag v${{ steps.version_change.outputs.new_version }} git push origin v${{ steps.version_change.outputs.new_version }} - name: Run GoReleaser if: steps.version_change.outputs.changed == 'true' uses: goreleaser/goreleaser-action@v5 with: distribution: goreleaser version: latest args: release --clean --skip-validate env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Trigger homebrew-tap update workflow if: steps.version_change.outputs.changed == 'true' run: | curl -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer ${{ secrets.HOMEBREW_TAP_TOKEN }}" \ https://api.github.com/repos/last9/homebrew-tap/dispatches \ -d '{"event_type":"update-last9-mcp","client_payload":{"tag":"v${{ steps.version_change.outputs.new_version }}"}}' publish-docker: needs: tag-and-release if: | always() && (needs.tag-and-release.outputs.version_changed == 'true' || (github.event_name == 'push' && startsWith(github.ref, 'refs/heads/release-'))) runs-on: ubuntu-latest env: DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} steps: - name: Checkout code uses: actions/checkout@v4 - name: Get version from package.json id: get_version run: | VERSION=$(jq -r .version package.json) echo "version=$VERSION" >> $GITHUB_OUTPUT - name: Extract branch name id: extract_branch run: | BRANCH_NAME=${GITHUB_REF#refs/heads/} echo "branch_name=$BRANCH_NAME" >> $GITHUB_OUTPUT - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Check Docker secrets id: check_secrets run: | if [[ -n "$DOCKER_USERNAME" && -n "$DOCKER_PASSWORD" ]]; then echo "has_docker_secrets=true" >> $GITHUB_OUTPUT else echo "has_docker_secrets=false" >> $GITHUB_OUTPUT fi - name: Login to Docker Registry if: steps.check_secrets.outputs.has_docker_secrets == 'true' uses: docker/login-action@v3 with: registry: docker-registry.last9.io username: ${{ env.DOCKER_USERNAME }} password: ${{ env.DOCKER_PASSWORD }} - name: Build and Push Docker Image (Release Branch) if: | steps.check_secrets.outputs.has_docker_secrets == 'true' && github.event_name == 'push' && startsWith(github.ref, 'refs/heads/release-') uses: docker/build-push-action@v5 with: context: . file: Dockerfile push: true tags: | docker-registry.last9.io/last9/last9-mcp-server:${{ steps.extract_branch.outputs.branch_name }} docker-registry.last9.io/last9/last9-mcp-server:${{ steps.extract_branch.outputs.branch_name }}-v${{ steps.get_version.outputs.version }} cache-from: type=gha cache-to: type=gha,mode=max platforms: linux/amd64 - name: Build and Push Docker Image (Main Branch) if: | steps.check_secrets.outputs.has_docker_secrets == 'true' && needs.tag-and-release.outputs.version_changed == 'true' uses: docker/build-push-action@v5 with: context: . file: Dockerfile push: true tags: | docker-registry.last9.io/last9/last9-mcp-server:v${{ needs.tag-and-release.outputs.new_version }} docker-registry.last9.io/last9/last9-mcp-server:latest cache-from: type=gha cache-to: type=gha,mode=max platforms: linux/amd64

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/last9/last9-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server