We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/motherduckdb/mcp-server-motherduck'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
name: Release New Version
on:
workflow_dispatch:
inputs:
version:
description: 'Version number (e.g., 0.8.0)'
required: true
type: string
jobs:
bump-version:
runs-on: ubuntu-latest
permissions:
contents: write
outputs:
new_version: ${{ steps.set-version.outputs.version }}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
- name: Install bumpver
run: uv tool install bumpver
- name: Configure git
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
- name: Validate version input
run: |
version="${{ inputs.version }}"
if ! [[ "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "Version must be in MAJOR.MINOR.PATCH format (e.g., 0.8.0)."
exit 1
fi
git fetch --tags --force
if git rev-parse "v$version" >/dev/null 2>&1; then
echo "Tag v$version already exists."
exit 1
fi
- name: Update version to ${{ inputs.version }}
id: set-version
run: |
uv tool run bumpver update --set-version ${{ inputs.version }}
echo "NEW_VERSION=${{ inputs.version }}" >> $GITHUB_ENV
echo "version=${{ inputs.version }}" >> $GITHUB_OUTPUT
- name: Update lock file
run: uv lock
- name: Commit and tag
run: |
git add -A
git commit -m "Bump version to ${{ inputs.version }}"
git tag -a "v${{ inputs.version }}" -m "v${{ inputs.version }}"
- name: Push changes
run: |
git push origin "HEAD:${{ github.event.repository.default_branch }}"
git push origin --tags
# Publish job runs via workflow_call
call-publish:
needs: bump-version
uses: ./.github/workflows/publish-mcp.yml
with:
ref: v${{ needs.bump-version.outputs.new_version }}
secrets: inherit
build-mcpb:
needs: [bump-version, call-publish]
runs-on: ubuntu-latest
permissions:
contents: read
outputs:
mcpb_file: ${{ steps.build.outputs.mcpb_file }}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: v${{ needs.bump-version.outputs.new_version }}
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install MCPB CLI
run: npm install -g @anthropic-ai/mcpb
- name: Build MCPB bundle
id: build
run: |
mcpb pack
MCPB_FILE=$(ls *.mcpb)
echo "mcpb_file=$MCPB_FILE" >> $GITHUB_OUTPUT
echo "Built MCPB bundle: $MCPB_FILE"
- name: Upload MCPB artifact
uses: actions/upload-artifact@v4
with:
name: mcpb-bundle
path: "*.mcpb"
create-release:
needs: [bump-version, call-publish, build-mcpb]
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Download MCPB artifact
uses: actions/download-artifact@v4
with:
name: mcpb-bundle
- name: Create GitHub Release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release create "v${{ needs.bump-version.outputs.new_version }}" \
--repo ${{ github.repository }} \
--title "v${{ needs.bump-version.outputs.new_version }}" \
--generate-notes \
*.mcpb