Skip to main content
Glama
hingaibm

Data Intelligence MCP Server

by hingaibm
publish-to-pypi.yaml6.15 kB
name: Publish to PyPI (Test → Prod) on: workflow_dispatch: permissions: contents: read id-token: write jobs: publish-test: name: Publish to TestPyPI runs-on: ubuntu-latest environment: name: test-pypi steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.11' - name: Install build dependencies run: | python -m pip install --upgrade pip pip install build twine uv - name: Build and publish to TestPyPI env: TEST_PYPI_API_TOKEN: ${{ secrets.TEST_PYPI_API_TOKEN }} run: | make publish-testpypi - name: Wait for TestPyPI to be ready run: | echo "Waiting for package to be available on TestPyPI..." for i in {1..5}; do if pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ ibm-watsonx-data-intelligence-mcp-server; then echo "Package available on TestPyPI" exit 0 fi echo "Attempt $i failed, retrying in $((i * 5)) seconds..." sleep $((i * 5)) done echo "Package not available on TestPyPI after multiple attempts." exit 1 - name: Test package installation from TestPyPI run: | pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ ibm-watsonx-data-intelligence-mcp-server python -c "from importlib.metadata import version; print(f'Successfully installed version: {version(\"ibm-watsonx-data-intelligence-mcp-server\")}')" - name: Start and verify server (TestPyPI) run: | echo "Starting ibm-watsonx-data-intelligence-mcp-server..." timeout 5 ibm-watsonx-data-intelligence-mcp-server --transport stdio > /tmp/server.log 2>&1 || EXIT_CODE=$? echo "Server output:" cat /tmp/server.log if [ "${EXIT_CODE:-0}" -eq 124 ]; then echo "Server timed out as expected (running indefinitely)" elif [ "${EXIT_CODE:-0}" -ne 0 ]; then echo "Server failed to start (exit code: $EXIT_CODE)" exit 1 fi if grep -qiE "(^error|^failed|^traceback|^exception|: error|: failed)" /tmp/server.log; then echo "Server startup errors detected in logs" exit 1 fi echo "Server verification passed - no errors" - name: Create test verification summary run: | echo "## TestPyPI Verification Passed" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY echo "Package successfully:" >> $GITHUB_STEP_SUMMARY echo "- Built and packaged using Makefile" >> $GITHUB_STEP_SUMMARY echo "- Published to TestPyPI" >> $GITHUB_STEP_SUMMARY echo "- Installed from TestPyPI" >> $GITHUB_STEP_SUMMARY echo "- Server started successfully" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY echo "View on TestPyPI: https://test.pypi.org/project/ibm-watsonx-data-intelligence-mcp-server/" >> $GITHUB_STEP_SUMMARY publish-prod: name: Publish to PyPI (Production) runs-on: ubuntu-latest needs: publish-test if: success() environment: name: pypi steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.11' - name: Install dependencies run: | python -m pip install --upgrade pip pip install build twine uv - name: Build and publish to PyPI env: PYPI_API_TOKEN: ${{ secrets.PYPI_API_TOKEN }} run: | make publish - name: Wait for PyPI to be ready run: | for i in {1..5}; do if pip install ibm-watsonx-data-intelligence-mcp-server --upgrade; then echo "Package available on PyPI" exit 0 fi echo "Attempt $i failed, retrying in $((i * 5)) seconds..." sleep $((i * 5)) done echo "Package not available on PyPI after multiple attempts" exit 1 - name: Verify package on PyPI run: | pip install ibm-watsonx-data-intelligence-mcp-server --upgrade python -c "import importlib.metadata; print(f'Successfully installed version: {importlib.metadata.version(\"ibm-watsonx-data-intelligence-mcp-server\")}')" - name: Start and verify server (Production) run: | echo "Starting ibm-watsonx-data-intelligence-mcp-server..." timeout 5 ibm-watsonx-data-intelligence-mcp-server --transport stdio > /tmp/server.log 2>&1 || EXIT_CODE=$? echo "Server output:" cat /tmp/server.log if [ "${EXIT_CODE:-0}" -eq 124 ]; then echo "Server timed out as expected (running indefinitely)" elif [ "${EXIT_CODE:-0}" -ne 0 ]; then echo "Server failed to start (exit code: $EXIT_CODE)" exit 1 fi if grep -qiE "(^error|^failed|^traceback|^exception|: error|: failed)" /tmp/server.log; then echo "Server startup errors detected in logs" exit 1 fi echo "Server verification passed - no errors" - name: Create prod verification summary run: | echo "## Production PyPI Deployment Successful" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY echo "Package successfully:" >> $GITHUB_STEP_SUMMARY echo "- Built and packaged using Makefile" >> $GITHUB_STEP_SUMMARY echo "- Published to PyPI" >> $GITHUB_STEP_SUMMARY echo "- Installed from PyPI" >> $GITHUB_STEP_SUMMARY echo "- Server started successfully" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY echo "View on PyPI: https://pypi.org/project/ibm-watsonx-data-intelligence-mcp-server/" >> $GITHUB_STEP_SUMMARY

Latest Blog Posts

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/hingaibm/data-intelligence-mcp-server'

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