diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 937b5367..bbdc4792 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -314,3 +314,31 @@ jobs: ${{ steps.install-size.outputs.report }} env: GITHUB_TOKEN: ${{ secrets.APIFY_SERVICE_ACCOUNT_GITHUB_TOKEN }} + + # ── Homebrew tap ─────────────────────────────────────────────── + - name: Homebrew formula update instructions + if: inputs.type == 'release' + # The formula bump in apify/homebrew-tap is started by hand for now, so + # this step only prints the command — it deliberately does not dispatch + # anything. To automate it later, run the printed command in this step + # (with GH_TOKEN: secrets.APIFY_SERVICE_ACCOUNT_GITHUB_TOKEN) and keep it + # last and continue-on-error, so a Homebrew hiccup can never fail a + # release that is already tagged, published to npm and announced. + # + # The dispatched workflow points Formula/mcpc.rb at the new npm tarball, + # installs and `brew test`s it on Linux and macOS, then merges the bump. + # It polls the registry itself, so it tolerates publish propagation. + continue-on-error: true + env: + VERSION: ${{ steps.release.outputs.version }} + run: | + { + echo "### Homebrew" + echo "" + echo "The formula bump is manual for now. To ship \`${VERSION}\` to \`brew\`, run:" + echo "" + echo '```bash' + echo "gh workflow run update_formula.yaml --repo apify/homebrew-tap \\" + echo " --field package=mcpc --field npm_package=@apify/mcpc --field version=${VERSION}" + echo '```' + } | tee -a "$GITHUB_STEP_SUMMARY" diff --git a/CHANGELOG.md b/CHANGELOG.md index 5716a2c8..9775a9c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +- mcpc can now be installed with Homebrew on macOS and Linux: `brew install apify/tap/mcpc`. The formula brings its own Node.js, so no separate runtime setup is needed. - New `mcpc login --grant id-jag` for MCP's [Enterprise-Managed Authorization](https://modelcontextprotocol.io/extensions/auth/enterprise-managed-authorization) extension: sign in once with your corporate SSO (`--idp `), and mcpc obtains MCP server tokens via identity assertion grants (ID-JAG) without per-server consent screens. - Support for MCP protocol version 2026-07-28: mcpc now probes each server with `server/discover` and talks the new stateless protocol when supported, falling back to older protocol versions (2025-11-25 down to 2024-10-07) automatically. Resource subscriptions use the new `subscriptions/listen` stream (with automatic re-listen on drops), and `ping` transparently uses `server/discover` on 2026-07-28 servers. mcpc now uses the official TypeScript SDK v2 (`@modelcontextprotocol/client`). - `mcpc --json` now reports each session's server `capabilities`, plus `hasInstructions` to tell whether the server provided instructions (read them with `mcpc --json @`). diff --git a/CLAUDE.md b/CLAUDE.md index 07455c4b..26882e2a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -787,6 +787,15 @@ Before releasing: The script validates preconditions locally, then triggers the `release.yml` GitHub Actions workflow which handles: lint, build, test, version bump, changelog update, README update, git commit/tag/push, npm publish (with provenance), and GitHub release creation. +The Homebrew formula lives in [apify/homebrew-tap](https://github.com/apify/homebrew-tap), not here, and its bump is **started manually for now** — the release workflow only prints the command in its run summary: + +```bash +gh workflow run update_formula.yaml --repo apify/homebrew-tap \ + --field package=mcpc --field npm_package=@apify/mcpc --field version= +``` + +That workflow points `Formula/mcpc.rb` at the new npm tarball, installs and `brew test`s it on Linux and macOS, and merges the bump. Skipping it only leaves Homebrew users on the previous version; npm and Bun installs are unaffected. + For pre-releases: `pnpm run release:pre` (or `pnpm run release:pre -- minor`) Monitor the release progress at the GitHub Actions URL that opens automatically. diff --git a/README.md b/README.md index 3b734a1a..7d7e8c39 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,13 @@ many AI agents on the same machine. Authenticate once, reuse everywhere. ## Install -Requires a JavaScript runtime — install the latest [Node.js](https://nodejs.org/en/download) or [Bun](https://bun.sh) if you don't have one yet. +With [Homebrew](https://brew.sh) (macOS and Linux), which brings its own Node.js: + +```bash +brew install apify/tap/mcpc +``` + +Otherwise install the latest [Node.js](https://nodejs.org/en/download) or [Bun](https://bun.sh) first, then: ```bash npm install -g @apify/mcpc