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
name: PR Tests
on:
pull_request:
branches: [main]
paths-ignore: ["assets/**"]
push:
branches: [main]
workflow_dispatch: # Allow manual triggering
concurrency:
# New commit on branch cancels running workflows of the same branch
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
env:
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: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
- name: Run MCP smoke test
run: |
echo "Running MCP smoke test..."
uv run scripts/test_mcp_server.py server/zenml_server.py
docker-build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Build Docker image
run: |
echo "Building Docker image to verify Dockerfile..."
docker build -t mcp-zenml:test .
- name: Verify Docker container starts correctly
run: |
echo "Verifying container starts without import errors..."
# Capture output from container startup (will timeout waiting for stdio, that's expected)
OUTPUT=$(timeout 5 docker run --rm mcp-zenml:test 2>&1 || true)
echo "Container output:"
echo "$OUTPUT"
# Check for common import/startup errors
if echo "$OUTPUT" | grep -q "ModuleNotFoundError"; then
echo "❌ FAILED: Container has missing module imports"
exit 1
fi
if echo "$OUTPUT" | grep -q "ImportError"; then
echo "❌ FAILED: Container has import errors"
exit 1
fi
if echo "$OUTPUT" | grep -q "Traceback"; then
echo "❌ FAILED: Container crashed with Python exception"
exit 1
fi
# Verify analytics message appears (indicates successful startup)
if echo "$OUTPUT" | grep -q "Analytics:"; then
echo "✅ Container started successfully (analytics initialized)"
else
echo "⚠️ Warning: Expected analytics status message not found"
fi