We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kelvingao/ibkr-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
name: Build and Publish Wheels
on:
push:
tags:
- 'v*'
workflow_dispatch: # Allow manual trigger
jobs:
build_wheels:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v4
- name: Build wheels
uses: pypa/cibuildwheel@v2.21
env:
# Only build for Python 3.12 and 3.13
CIBW_BUILD: "cp312-* cp313-*"
# Skip 32-bit builds and musllinux
CIBW_SKIP: "*-win32 *-manylinux_i686 *-musllinux_*"
# Build for both x86_64 and arm64 on macOS
CIBW_ARCHS_MACOS: "x86_64 arm64"
# Build for x86_64 and aarch64 on Linux
CIBW_ARCHS_LINUX: "x86_64 aarch64"
# Install build dependencies
CIBW_BEFORE_BUILD: "pip install cython"
# Test that the wheel can be imported
CIBW_TEST_COMMAND: "python -c \"import ibkr_mcp\""
- uses: actions/upload-artifact@v4
with:
name: wheels-${{ matrix.os }}
path: ./wheelhouse/*.whl
# Test publish - triggers on any tag or manual dispatch
publish_test:
name: Publish to TestPyPI
needs: build_wheels
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
pattern: wheels-*
path: dist
merge-multiple: true
- name: List wheels
run: ls -la dist/
- name: Publish to TestPyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/
password: ${{ secrets.TEST_PYPI_API_TOKEN }}
skip-existing: true
# Production publish - only on v* tags
publish:
name: Publish to PyPI
needs: [build_wheels, publish_test]
runs-on: ubuntu-latest
# Only publish on tag push starting with v
if: startsWith(github.ref, 'refs/tags/v')
steps:
- uses: actions/download-artifact@v4
with:
pattern: wheels-*
path: dist
merge-multiple: true
- name: List wheels
run: ls -la dist/
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_API_TOKEN }}