Skip to main content
Glama

ZenML MCP Server

Official
by zenml-io
name: MCP Smoke Test on: schedule: # Run every 3 days at 9 AM UTC - cron: '0 9 */3 * *' workflow_dispatch: # Allow manual triggering for testing permissions: contents: read issues: write jobs: smoke-test: runs-on: ubuntu-latest env: # ZenML configuration ZENML_DISABLE_RICH_LOGGING: "1" ZENML_LOGGING_COLORS_DISABLED: "true" ZENML_ANALYTICS_OPT_IN: "false" PYTHONIOENCODING: "UTF-8" PYTHONUNBUFFERED: "1" ZENML_STORE_URL: ${{ secrets.ZENML_STORE_URL }} ZENML_STORE_API_KEY: ${{ secrets.ZENML_STORE_API_KEY }} steps: - name: Checkout repository uses: actions/checkout@v4 - name: Install uv uses: astral-sh/setup-uv@v5 with: version: "0.7.13" enable-cache: true - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.12" - name: Run MCP smoke test id: smoke-test run: | echo "Running MCP smoke test..." uv run scripts/test_mcp_server.py zenml_server.py continue-on-error: true - name: Create issue on failure if: steps.smoke-test.outcome == 'failure' uses: actions/github-script@v7 with: script: | // Check for existing open issues with the same title const issues = await github.rest.issues.listForRepo({ owner: context.repo.owner, repo: context.repo.repo, state: 'open', labels: 'bug' }); const existingIssue = issues.data.find(issue => issue.title.includes('MCP Smoke Test Failed') ); if (existingIssue) { console.log(`Existing issue found: #${existingIssue.number}`); // Add a comment to the existing issue instead of creating a new one await github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, issue_number: existingIssue.number, body: ` ## 🔄 MCP Smoke Test Failed Again **Workflow Run:** [${context.runNumber}](${context.payload.repository.html_url}/actions/runs/${context.runId}) **Branch:** ${context.ref} **Commit:** ${context.sha.substring(0, 7)} **Triggered by:** ${context.eventName} **Date:** ${new Date().toISOString()} The MCP smoke test is still failing. Please investigate the recurring issue. **Logs:** Check the [workflow run](${context.payload.repository.html_url}/actions/runs/${context.runId}) for detailed error logs. ` }); } else { // Create a new issue await github.rest.issues.create({ owner: context.repo.owner, repo: context.repo.repo, title: '🚨 MCP Smoke Test Failed', body: ` ## MCP Smoke Test Failure Report The automated MCP smoke test has failed. This indicates there may be issues with the MCP server functionality. ### Details **Workflow Run:** [${context.runNumber}](${context.payload.repository.html_url}/actions/runs/${context.runId}) **Branch:** ${context.ref} **Commit:** ${context.sha.substring(0, 7)} **Triggered by:** ${context.eventName} **Date:** ${new Date().toISOString()} ### Investigation Steps 1. Check the [workflow logs](${context.payload.repository.html_url}/actions/runs/${context.runId}) for detailed error information 2. Verify ZenML server connectivity and authentication 3. Test the MCP server locally using: \`uv run scripts/test_mcp_server.py zenml_server.py\` 4. Check for any recent changes that might have affected the MCP server ### Environment - **ZenML Store URL:** ${process.env.ZENML_STORE_URL ? 'Set (from secrets)' : 'Not set'} - **ZenML API Key:** ${process.env.ZENML_STORE_API_KEY ? 'Set (from secrets)' : 'Not set'} @strickvl @htahir1 Please investigate this failure. `, labels: ['bug'] }); } - name: Report success if: steps.smoke-test.outcome == 'success' run: | echo "✅ MCP smoke test passed successfully!" echo "All MCP server functionality is working as expected."

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/zenml-io/mcp-zenml'

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