-
Notifications
You must be signed in to change notification settings - Fork 67
Comparing changes
Open a pull request
base repository: apify/mcpc
base: v0.5.1
head repository: apify/mcpc
compare: HEAD
- 7 commits
- 97 files changed
- 3 contributors
Commits on Jul 31, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 52c996b - Browse repository at this point
Copy the full SHA 52c996bView commit details -
Enforce the dependency-age policy at release time (#352)
`minimumReleaseAge: 7200` (5 days) is a resolution-time setting only: pnpm 10 does not re-check an existing lockfile on a `--frozen-lockfile` install (that landed in pnpm 11, pnpm/pnpm#10438), and both CI and `release.yml` install that way — so no dependency-age check ran during a release at all. This adds a gate that reads every version pinned in `pnpm-lock.yaml`, asks the registry when it was published, and fails the release if anything is too young. - `scripts/check-dependency-age.mjs` — thresholds read from `pnpm-workspace.yaml`; fails closed, so a registry error is a failure and never a silent pass - Packages in `minimumReleaseAgeExclude` get a 48-hour floor instead of an outright exemption - Wired into `release.yml` ahead of the bump/tag/push/publish steps, and into `publish.sh` as a local pre-flight (not `ci.yml` — Renovate already holds bumps 7 days, and each run costs ~560 registry round-trips) - `report-install-size.mjs` now installs with `--ignore-scripts`: it resolves `^` ranges live via npm, which honours no age gate, in the job holding `NPM_TOKEN`. Verified measurement-neutral (3 bytes of 22.8 MB) - Drops the unresolved `allowBuilds:` / `esbuild: set this to true or false` placeholder from `pnpm-workspace.yaml` — confirmed inert on pnpm 10.33.4, `@napi-rs/keyring` still builds with an identical warning set — and corrects `CONTRIBUTING.md`, which said 1440 / 24 hours On today's lockfile the gate passes: 618 locked versions, the five `@modelcontextprotocol` packages at ~3.9–4.1 days sitting above the 48-hour floor. No existing issue to reference; happy to open one if you'd like the motivation anchored. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01T7DpKbdofBXpGHfhi4TMMf --- _Generated by [Claude Code](https://claude.ai/code/session_01T7DpKbdofBXpGHfhi4TMMf)_ --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 2a2643d - Browse repository at this point
Copy the full SHA 2a2643dView commit details -
Add
server-discovercommand for MCP 2026-07-28 connections (#354)MCP 2026-07-28 removed `ping`, so `mcpc @session ping` silently probes with `server/discover` instead — invisible until it shows up in a server's access log, with no way to see what that request returns. This adds a command that says what it does. - `mcpc @session server-discover` sends `server/discover` and reports the answer: supported protocol versions (negotiated one marked), capabilities, instructions, `_meta`. `--json` prints the `DiscoverResult` verbatim. - On 2025-era connections it refuses (exit 2) and points at `mcpc @session`, whose `initialize` result carries the same data. - `ping` output now names the request it measured; `ping --json` is unchanged. - Capability rendering extracted so both screens share it; `SERVER_INFO_META_KEY` mirrored in the dependency-free `protocol.ts` with an SDK drift test. - New `basic/server-discover.test.sh` e2e suite (one branch per protocol era); README, CHANGELOG and the agent skill updated. Refs #316 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01KHDUfie1HZtvSiqFNTYs17 --- _Generated by [Claude Code](https://claude.ai/code/session_01KHDUfie1HZtvSiqFNTYs17)_ Co-authored-by: Claude <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 88e5f9b - Browse repository at this point
Copy the full SHA 88e5f9bView commit details -
Speed up the E2E suite's process spawning (#353)
The E2E suite is process-spawn bound — around 1000 `mcpc` invocations plus ~40 helper servers — which is why the Windows jobs take ~20 min. These changes cut spawn cost and make two timing-sensitive tests robust, without changing how many tests run at once. - Start helper servers via node and tsx's CLI entrypoint instead of `npx tsx`, which re-resolved the package on every one of ~40 server startups (~0.5s each on Linux, more on Windows). - `run_xmcpc` reuses the caller's own invocation as one of its four `--json`/`--verbose` invariant variants instead of re-running it, cutting ~84 spawns with no loss of coverage. - Report per-test durations and a "Slowest tests" list. Results are printed only after all tests finish, so nothing in the log showed which tests were expensive. - Poll for process exit instead of a fixed `sleep` before asserting a bridge is dead (measured at 1300ms against a 1s sleep), and don't treat an unreadable Windows `tasklist` result as "exited". Parallelising the Windows jobs would take them from ~21 min to ~5.5 min, but it surfaced latent timing races — see the comment below for the data. That is deliberately left out of this PR. Refs #265 https://claude.ai/code/session_01HUzrgoGWLirnc3zyeVZLz5 --------- Co-authored-by: Claude <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for a1bf7cb - Browse repository at this point
Copy the full SHA a1bf7cbView commit details -
Accept MCP JSON-RPC method names as silent command aliases (#356)
mcpc now silently accepts MCP's JSON-RPC-style method names (e.g. `tools/list`, `logging/setLevel`) as aliases for the hyphenated CLI command form (`tools-list`, `logging-set-level`), for users who reach for the raw protocol method name out of habit. - Normalizes the command token before Commander parses or "Unknown command" errors are raised - Undocumented on purpose — not shown in `--help` or "Did you mean?" suggestions - Unmatched slash-style tokens still fail as unknown commands https://claude.ai/code/session_01JSUxP3WUuz3zEgPZmu2hAZ Co-authored-by: Claude <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 330856c - Browse repository at this point
Copy the full SHA 330856cView commit details -
Trim protocol version block in "mcpc help connect" (#358)
The `Protocol version:` section of `mcpc help connect` listed all six pinnable versions, which was redundant — the same paragraph already gives the range, and passing an unsupported `--protocol-version` errors out with the full list. Drops the enumeration, 6 help lines down to 4. - Reworded the block to state the negotiated range instead of enumerating versions - Removed the now-unused `SUPPORTED_PROTOCOL_VERSIONS` import from `src/cli/index.ts` https://claude.ai/code/session_01ECtXbY3oxHD6qTCcrnroDT Co-authored-by: Claude <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 1b1d5c5 - Browse repository at this point
Copy the full SHA 1b1d5c5View commit details -
Install mcpc with Homebrew via apify/homebrew-tap (#357)
Lets macOS and Linux users install mcpc with `brew install apify/tap/mcpc` instead of setting up Node.js or Bun first. The formula lives in [apify/homebrew-tap](https://github.com/apify/homebrew-tap) next to `apify-cli` (added in apify/homebrew-tap#55). Its bump is started **manually for now** — the release workflow only prints the `gh workflow run` command in its run summary rather than dispatching it. That workflow points `Formula/mcpc.rb` at the new npm tarball, installs and `brew test`s it on Linux and macOS, then merges the bump. - README documents Homebrew as the first install option - Changelog entry, plus the manual bump command in the release section of `CLAUDE.md` - The release step is last and `continue-on-error`, so nothing Homebrew-related can fail a release that is already tagged, published to npm and announced - Skipping a bump only leaves Homebrew users on the previous version; npm and Bun installs are unaffected Merge apify/homebrew-tap#55 before the first bump, otherwise there is no formula to update. Fixes #355 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01BcRjUSnuwKjKhQRgKQ1zzv --------- Co-authored-by: Claude <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for ddc305a - Browse repository at this point
Copy the full SHA ddc305aView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v0.5.1...HEAD