Skip to main content
Glama

airtable-mcp-server

name: CI/CD on: push: branches: [master] tags: - 'v*' pull_request: jobs: ci: runs-on: ubuntu-latest timeout-minutes: 10 strategy: matrix: node-version: [lts/*, current] env: CI: true steps: - name: Checkout ${{ github.sha }} uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ - name: Install dependencies run: npm ci - name: Lint run: npm run lint --if-present - name: Build run: npm run build --if-present - name: Test run: npm run test --if-present env: RUN_MCPB_TEST: TRUE RUN_DOCKER_TEST: TRUE - name: Prepare MCP Bundle artifact if: matrix.node-version == 'lts/*' run: | npm run build:mcpb mkdir -p .github/tmp unzip airtable-mcp-server.mcpb -d .github/tmp - name: Upload MCP Bundle artifact if: matrix.node-version == 'lts/*' uses: actions/upload-artifact@v4 with: name: airtable-mcp-server-mcpb path: .github/tmp/* deploy: if: startsWith(github.ref, 'refs/tags/v') && github.event_name == 'push' needs: ci runs-on: ubuntu-latest timeout-minutes: 15 permissions: contents: write # Required for creating GitHub releases id-token: write # Required for MCP registry OIDC authentication env: CI: true steps: - name: Checkout ${{ github.sha }} uses: actions/checkout@v4 - name: Use Node.js with the npmjs.org registry uses: actions/setup-node@v4 with: node-version: lts/* registry-url: https://registry.npmjs.org/ - name: Install dependencies run: npm ci - name: Build run: npm run build --if-present - name: Build MCP Bundle run: npm run build:mcpb - name: Update server.json version and SHA256 run: | VERSION=$(node -p "require('./package.json').version") MCPB_FILE_SHA256=$(sha256sum airtable-mcp-server.mcpb | cut -d' ' -f1) sed "s/{{VERSION}}/$VERSION/g; s/{{MCPB_FILE_SHA256}}/$MCPB_FILE_SHA256/g" server.json > server.json.tmp mv server.json.tmp server.json - name: Publish to NPM run: npm publish env: NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub uses: docker/login-action@v3 with: username: domdomegg password: ${{ secrets.DOCKER_ACCESS_TOKEN }} - name: Extract Docker metadata id: meta uses: docker/metadata-action@v5 with: images: domdomegg/airtable-mcp-server tags: | type=semver,pattern={{version}} type=raw,value=latest,enable={{is_default_branch}} - name: Build and push Docker image uses: docker/build-push-action@v5 with: context: . push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} platforms: linux/amd64,linux/arm64 - name: Create GitHub Release uses: softprops/action-gh-release@v2 with: files: airtable-mcp-server.mcpb generate_release_notes: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Install MCP Publisher run: | curl -L "https://github.com/modelcontextprotocol/registry/releases/download/v1.0.0/mcp-publisher_1.0.0_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher - name: Login to MCP Registry run: ./mcp-publisher login github-oidc - name: Publish to MCP Registry run: ./mcp-publisher publish

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/domdomegg/airtable-mcp-server'

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