Skip to main content
Glama

Dynatrace MCP Server

Official
release.yml3.94 kB
name: Release on: push: tags: - 'v*' # Triggers on version tags like v1.0.0, v2.1.3, etc. permissions: contents: write # Required for creating releases id-token: write # Required for npm publishing with provenance jobs: release: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v5 with: fetch-depth: 0 # Fetch full history for changelog generation - name: Use Node.js # will read version from .nvmrc uses: actions/setup-node@v5 with: node-version-file: '.nvmrc' registry-url: 'https://registry.npmjs.org' - name: Install dependencies run: npm ci - name: Run prettier run: npm run prettier - name: Run tests run: npm run test:unit - name: Build run: npm run build - name: Extract version from tag id: version run: | # Remove 'v' prefix from tag to get version VERSION=${GITHUB_REF#refs/tags/v} echo "version=$VERSION" >> $GITHUB_OUTPUT echo "tag=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT - name: Generate changelog for GitHub Release id: changelog run: | # Get the previous tag PREV_TAG=$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || echo "") # Generate changelog between tags if [ -n "$PREV_TAG" ]; then CHANGELOG=$(git log --pretty=format:"- %s (%h)" $PREV_TAG..HEAD) else CHANGELOG=$(git log --pretty=format:"- %s (%h)") fi # Save changelog to output (handle multiline) echo "changelog<<EOF" >> $GITHUB_OUTPUT echo "$CHANGELOG" >> $GITHUB_OUTPUT echo "EOF" >> $GITHUB_OUTPUT - name: Publish to npm env: NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }} run: | # Publish to npm with provenance if [[ "${{ steps.version.outputs.version }}" == *"-"* ]]; then # Pre-release version - publish with next tag npm publish --tag next --provenance --access public else # Stable release - publish with latest tag npm publish --provenance --access public fi - name: Create GitHub Release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | # Create release body cat > release_body.md << 'EOF' ## Changes in ${{ steps.version.outputs.tag }} ${{ steps.changelog.outputs.changelog }} ## Usage ```bash npx -y @dynatrace-oss/dynatrace-mcp-server@${{ steps.version.outputs.version }} ``` EOF # Create the release if [[ "${{ steps.version.outputs.version }}" == *"-"* ]]; then gh release create "${{ steps.version.outputs.tag }}" \ --title "Release ${{ steps.version.outputs.tag }}" \ --notes-file release_body.md \ --prerelease else gh release create "${{ steps.version.outputs.tag }}" \ --title "Release ${{ steps.version.outputs.tag }}" \ --notes-file release_body.md fi # From https://github.com/modelcontextprotocol/registry/blob/main/docs/guides/publishing/github-actions.md - name: Install MCP Publisher run: | curl -L "https://github.com/modelcontextprotocol/registry/releases/download/v1.2.3/mcp-publisher_1.2.3_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher # Login to GitHub - apparently this works out of the box with GH Workflows - name: Login to MCP Registry run: ./mcp-publisher login github-oidc # Publish the package to the MCP Registry - name: Publish to MCP Registry run: ./mcp-publisher publish

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/dynatrace-oss/dynatrace-mcp'

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