Skip to main content
Glama

actors-mcp-server

Official
by apify
MIT License
7,198
465
  • Apple
release.yaml9.31 kB
name: Create a release on: # Trigger a stable version release via GitHub's UI, with the ability to specify the type of release. workflow_dispatch: inputs: release_type: description: Release type required: true type: choice default: auto options: - auto - custom - patch - minor - major custom_version: description: The custom version to bump to (only for "custom" type) required: false type: string default: "" concurrency: group: release cancel-in-progress: false jobs: release_metadata: name: Prepare release metadata runs-on: ubuntu-latest outputs: version_number: ${{ steps.release_metadata.outputs.version_number }} tag_name: ${{ steps.release_metadata.outputs.tag_name }} changelog: ${{ steps.release_metadata.outputs.changelog }} release_notes: ${{ steps.release_metadata.outputs.release_notes }} steps: - uses: apify/workflows/git-cliff-release@main name: Prepare release metadata id: release_metadata with: release_type: ${{ inputs.release_type }} custom_version: ${{ inputs.custom_version }} existing_changelog_path: CHANGELOG.md update_changelog: needs: [ release_metadata ] name: Update changelog runs-on: ubuntu-latest outputs: changelog_commitish: ${{ steps.commit.outputs.commit_long_sha || github.sha }} steps: - name: Checkout repository uses: actions/checkout@v4 with: token: ${{ secrets.APIFY_SERVICE_ACCOUNT_GITHUB_TOKEN }} - name: Use Node.js 22 uses: actions/setup-node@v4 with: node-version: 22 - name: Update package version in package.json run: npm version --no-git-tag-version --allow-same-version ${{ needs.release_metadata.outputs.version_number }} - name: Update manifest.json version run: jq '.version = "${{ needs.release_metadata.outputs.version_number }}"' manifest.json > manifest.json.tmp && mv manifest.json.tmp manifest.json - name: Update CHANGELOG.md uses: DamianReeves/write-file-action@master with: path: CHANGELOG.md write-mode: overwrite contents: ${{ needs.release_metadata.outputs.changelog }} - name: Commit changes id: commit uses: EndBug/add-and-commit@v9 with: author_name: Apify Release Bot author_email: noreply@apify.com message: "chore(release): Update changelog, package.json and manifest.json versions [skip ci]" create_github_release: name: Create github release needs: [release_metadata, update_changelog] runs-on: ubuntu-latest env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - uses: actions/checkout@v4 with: ref: ${{ needs.update_changelog.outputs.changelog_commitish }} - name: Verify commit SHA run: | CURRENT_SHA=$(git rev-parse HEAD) EXPECTED_SHA="${{ needs.update_changelog.outputs.changelog_commitish }}" echo "Expected commit SHA: $EXPECTED_SHA" echo "Actual checked out SHA: $CURRENT_SHA" if [ "$EXPECTED_SHA" != "$CURRENT_SHA" ]; then echo "ERROR: Checked out SHA differs from expected!" exit 1 else echo "✓ Commit SHA matches expected" fi - name: Verify manifest.json version run: | EXPECTED_VERSION="${{ needs.release_metadata.outputs.version_number }}" ACTUAL_VERSION=$(jq -r '.version' manifest.json) echo "Expected version: $EXPECTED_VERSION" echo "Actual version in manifest.json: $ACTUAL_VERSION" echo "Current commit SHA: ${{ needs.update_changelog.outputs.changelog_commitish }}" if [ "$EXPECTED_VERSION" != "$ACTUAL_VERSION" ]; then echo "ERROR: Version mismatch! Expected $EXPECTED_VERSION but found $ACTUAL_VERSION in manifest.json" exit 1 fi echo "✓ Version check passed: manifest.json has correct version $ACTUAL_VERSION" - name: Use Node.js 22 uses: actions/setup-node@v4 with: node-version: 22 cache: 'npm' cache-dependency-path: 'package-lock.json' - name: Install dependencies run: | echo "access=public" >> .npmrc echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" >> .npmrc npm ci - name: Build module run: npm run build - name: Prepare MCPB package run: | mkdir mcpb cp -r node_modules mcpb/node_modules cp -r dist mcpb/dist cp -r docs mcpb/docs cp package.json mcpb/package.json cp manifest.json mcpb/manifest.json cp docs/apify-logo.png mcpb/icon.png - name: Create MCPB package # fix version of anthropic-ai/mcpb to 1.1.1 so that we have a reproducible build run: npx -y @anthropic-ai/mcpb@1.1.1 pack mcpb/ apify-mcp-server.mcpb - name: Copy MCPB package run: cp apify-mcp-server.mcpb actors-mcp-server.mcpb - name: Create release uses: softprops/action-gh-release@v2 with: tag_name: ${{ needs.release_metadata.outputs.tag_name }} name: ${{ needs.release_metadata.outputs.version_number }} target_commitish: ${{ needs.update_changelog.outputs.changelog_commitish }} body: ${{ needs.release_metadata.outputs.release_notes }} files: | apify-mcp-server.mcpb actors-mcp-server.mcpb publish_to_npm: name: Publish to NPM needs: [ release_metadata, update_changelog ] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: ref: ${{ needs.update_changelog.outputs.changelog_commitish }} - name: Verify commit SHA run: | CURRENT_SHA=$(git rev-parse HEAD) EXPECTED_SHA="${{ needs.update_changelog.outputs.changelog_commitish }}" echo "Expected commit SHA: $EXPECTED_SHA" echo "Actual checked out SHA: $CURRENT_SHA" if [ "$EXPECTED_SHA" != "$CURRENT_SHA" ]; then echo "ERROR: Checked out SHA differs from expected!" exit 1 else echo "✓ Commit SHA matches expected" fi - name: Verify package.json version run: | EXPECTED_VERSION="${{ needs.release_metadata.outputs.version_number }}" ACTUAL_VERSION=$(jq -r '.version' package.json) echo "Expected version: $EXPECTED_VERSION" echo "Actual version in package.json: $ACTUAL_VERSION" echo "Current commit SHA: ${{ needs.update_changelog.outputs.changelog_commitish }}" if [ "$EXPECTED_VERSION" != "$ACTUAL_VERSION" ]; then echo "ERROR: Version mismatch! Expected $EXPECTED_VERSION but found $ACTUAL_VERSION in package.json" exit 1 fi echo "✓ Version check passed: package.json has correct version $ACTUAL_VERSION" - name: Use Node.js 22 uses: actions/setup-node@v4 with: node-version: 22 cache: 'npm' cache-dependency-path: 'package-lock.json' - name: Install dependencies run: | echo "access=public" >> .npmrc echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" >> .npmrc npm ci - name: Build module run: npm run build - name: Publish to NPM run: npm publish --tag latest env: NODE_AUTH_TOKEN: ${{ secrets.APIFY_SERVICE_ACCOUNT_NPM_TOKEN }} NPM_TOKEN: ${{ secrets.APIFY_SERVICE_ACCOUNT_NPM_TOKEN }}

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/apify/actors-mcp-server'

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