diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 84eb6479..79393803 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -86,6 +86,32 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: + - uses: actions/checkout@v4 + with: + ref: ${{ needs.update_changelog.changelog_commitish }} + - 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 DXT package + run: | + mkdir dxt + cp -r node_modules dxt/node_modules + cp -r dist dxt/dist + cp -r docs dxt/docs + cp package.json dxt/package.json + cp manifest.json dxt/manifest.json + - name: Create DXT package + run: npx -y @anthropic-ai/dxt pack dxt/ actors-mcp-server.dxt - name: Create release uses: softprops/action-gh-release@v2 with: @@ -93,6 +119,8 @@ jobs: name: ${{ needs.release_metadata.outputs.version_number }} target_commitish: ${{ needs.update_changelog.outputs.changelog_commitish }} body: ${{ needs.release_metadata.outputs.release_notes }} + files: | + actors-mcp-server.dxt publish_to_npm: name: Publish to NPM diff --git a/docs/apify-logo.png b/docs/apify-logo.png new file mode 100644 index 00000000..db38b8e3 Binary files /dev/null and b/docs/apify-logo.png differ diff --git a/manifest.json b/manifest.json new file mode 100644 index 00000000..dd095f35 --- /dev/null +++ b/manifest.json @@ -0,0 +1,70 @@ +{ + "dxt_version": "0.1", + "name": "apify-actors-mcp-server", + "version": "0.0.0", + "description": "The Apify Model Context Protocol (MCP) Server at mcp.apify.com instantly connects AI applications and agents to thousands of ready‑built tools. It allows your AI assistant to use any Apify Actor for web scraping, data extraction, and automation tasks in real time.", + "keywords": [ + "apify", + "actors", + "dataset", + "mcp", + "automation", + "web", + "web scraping", + "web automation", + "web scraper", + "web crawler", + "scraping", + "data extraction", + "API" + ], + "author": { + "name": "Apify Technologies s.r.o.", + "url": "https://apify.com" + }, + "license": "Apache-2.0", + "repository": { + "type": "git", + "url": "https://github.com/apify/actors-mcp-server" + }, + "homepage": "https://mcp.apify.com", + "support": "https://github.com/apify/actors-mcp-server/issues", + "icon": "docs/apify-logo.png", + "screenshots": [ + "docs/actors-mcp-server.png" + ], + "server": { + "type": "node", + "entry_point": "dist/stdio.js", + "mcp_config": { + "command": "node", + "args": [ + "${__dirname}/dist/stdio.js" + ], + "env": { + "APIFY_TOKEN": "${user_config.apify_token}" + } + } + }, + "tools_generated": true, + "user_config": { + "apify_token": { + "type": "string", + "title": "Apify token", + "description": "Your Apify API token for authentication", + "sensitive": true, + "required": true + } + }, + "compatibility": { + "claude_desktop": ">=0.2.16", + "platforms": [ + "darwin", + "win32", + "linux" + ], + "runtimes": { + "node": ">=20.0.0" + } + } +} \ No newline at end of file