Skip to content

Releases: apify/mcpc

v0.4.0

25 Jun 13:07

Choose a tag to compare

Install

npm install -g @apify/mcpc@0.4.0
# or
bun install -g @apify/mcpc@0.4.0

What's Changed

  • Fix macOS+Bun E2E hang by running the bridge under the CLI's runtime by @jancurn in #266
  • Remove deprecated interactive shell command by @jancurn in #270
  • Add login --callback-host flag and required client_id in hosted CIMD by @jancurn in #272
  • Implement resource subscriptions with file sync (resources-subscribe) by @jancurn in #273
  • Expand README with comprehensive mcpc feature documentation by @jancurn in #275
  • Simplify README: consolidate transport/auth/session docs by @jancurn in #276
  • Move login flag validation tests to dedicated test suite by @jancurn in #278
  • Add OAuth client-credentials grant for machine-to-machine auth by @jancurn in #277
  • feat(cli): add "mcpc help --skill" agent skill guide served from the CLI by @MQ37 in #274
  • Document default timeout value in CLI help text by @jancurn in #279
  • Fix OAuth error reporting and session restart cleanup by @jancurn in #281
  • chore: update dependencies to latest versions by @jancurn in #283
  • Update mcpc logo by @jancurn in #284
  • Improve error handling in OAuth flows and fix Windows process exit by @jancurn in #282
  • Fix failing e2e tests: client-credentials Windows crash + stdio server startup by @jancurn in #285
  • Reorder tasks commands in help text by @jancurn in #286
  • Add restart hint for disconnected sessions in list output by @jancurn in #289
  • Tidy the agent-guide pointers in help output by @jancurn in #288
  • Fix OAuth login with query string parameters in server URLs by @jancurn in #290
  • More vivid CLI color palette; revamped VHS demo tapes + record-demo skill by @jancurn in #287
  • Optimize demo GIFs with lossy gifsicle (~60% smaller) by @jancurn in #291
  • Improve login command help text and usage documentation by @jancurn in #292
  • Tidy CHANGELOG ahead of the next release by @jancurn in #293

Full Changelog: v0.3.1...v0.4.0

v0.3.1

08 Jun 20:52

Choose a tag to compare

Install

npm install -g @apify/mcpc@0.3.1
# or
bun install -g @apify/mcpc@0.3.1

What's Changed

  • Suppress structuredContent when visible Content is present by @jancurn in #240
  • Deprecate shell command and hide from help output by @jancurn in #243
  • Add VHS demo tape files for terminal GIF recordings by @jancurn in #242
  • Simplify architecture diagram in README by @jancurn in #244
  • feat(x402): support upto scheme + observability + session marker by @MQ37 in #238
  • Add macOS E2E tests to release workflow by @jancurn in #248
  • chore(deps): update dependencies by @jancurn in #250
  • Improve bridge startup timeout and error reporting by @jancurn in #249
  • Add next-step hints to guide users through command chains by @jancurn in #241
  • Add logs command to show and follow bridge log files by @jancurn in #209
  • Update MCP feature support table with deprecation status by @jancurn in #251
  • Clarify git commit restrictions for local vs web Claude Code by @jancurn in #252
  • Fix log file path assertion in logs test for cross-platform compatibility by @jancurn in #253
  • Add experimental MCP skills extension support (SEP-2640) by @jancurn in #207
  • Support stateless MCP connections with cache TTL and statefulness tracking by @jancurn in #254
  • Refresh Claude skill docs for current mcpc syntax and features by @jancurn in #257
  • Improve mcpc connect (no-args) config discovery output by @jancurn in #255
  • Make update-readme.sh work without global mcpc install by @jancurn in #258
  • Fix bridge startup on macOS (over-long Unix socket paths) and Windows discover test by @jancurn in #259
  • Don't quote plain Windows paths in mcpc connect output by @jancurn in #260
  • Tidy _mcpc JSON output: stateless field, drop log size by @jancurn in #261
  • Wait for bulk-connect sessions to finish MCP handshake before reporting by @jancurn in #262
  • Refactor: Split connect logic into separate connect.ts module by @jancurn in #263
  • Remove auto-connect to mcp.apify.com via APIFY_API_TOKEN by @jancurn in #264
  • Fix macOS+Bun E2E hang (cross-binary keychain read) + per-test timeout watchdog by @jancurn in #265
  • Speed up sessions/bridge-resilience e2e test to fix Windows timeout by @jancurn in #267

Full Changelog: v0.3.0...v0.3.1

v0.3.0

20 May 20:59

Choose a tag to compare

Install

npm install -g @apify/mcpc@0.3.0
# or
bun install -g @apify/mcpc@0.3.0

What's Changed

  • Use 127.0.0.1 instead of localhost in OAuth redirect URL by @jancurn in #175
  • Remove shorthand commands and improve command suggestions by @jancurn in #178
  • Print task ID on Ctrl+C interrupt for async tool calls by @jancurn in #177
  • Hide task-cancel hint for completed/failed tasks by @jancurn in #184
  • Improve user guidance for session restart and task management by @jancurn in #182
  • Add security warning for stdio entries in config files by @jancurn in #185
  • Simplify session/target output by removing transport type labels by @jancurn in #180
  • Improve human-mode rendering of tools-call / tasks-result output by @jancurn in #179
  • Add public OAuth CIMD with default hosted document and --callback-port by @jancurn in #187
  • Narrow CIMD callback port range to 5 and drop localhost redirect URIs by @jancurn in #189
  • Update print statement from 'Hello' to 'Goodbye' by @jancurn in #194
  • Add MCP conformance testing framework integration by @jancurn in #196
  • Fix unauthorized sessions to persist without auto-retry by @jancurn in #190
  • Expand MCP conformance test coverage with multiple scenarios by @jancurn in #197
  • Fix config-file:entry parsing to prevent URL misinterpretation by @jancurn in #199
  • Capture stdio server stderr for debugging connection failures by @jancurn in #198
  • Gate releases on MCP spec conformance checks by @jancurn in #200
  • Skip stdio config entries by default in bulk connect, add --stdio flag by @jancurn in #201
  • Add rainbow gradient fills to client logo knife element by @jancurn in #202
  • Document --json flag for mcpc command output by @jancurn in #203
  • Add mcpc logo to README and optimize SVG dimensions by @jancurn in #204
  • Add auto-discovery of standard MCP config files for mcpc connect by @jancurn in #165
  • Add AI agent discoverability requirement to design principles by @jancurn in #208
  • Simplify docs URL to use consistent raw GitHub link by @jancurn in #210
  • Hide task:forbidden hint from tools-list output by @jancurn in #213
  • Add OAuth state parameter to authorization URL by @jancurn in #216
  • Add badges to README for npm, downloads, CI, and license by @jancurn in #217
  • Reduce OAuth callback ports from 6 to 3 for better port allocation by @jancurn in #220
  • Fix bridge auto-reconnect to persist unauthorized status by @jancurn in #221
  • Polish OAuth callback pages with dark-themed design by @jancurn in #219
  • Add Motivation section to README by @jancurn in #222
  • Fix macOS Keychain timeout race condition in bridge startup by @jancurn in #224
  • Unify JSON output format for connect commands to array of entries by @jancurn in #218
  • Add atomic rename with retry logic for Windows file lock issues by @jancurn in #225
  • Simplify CHANGELOG: remove detailed feature descriptions by @jancurn in #226
  • Refactor README for clarity and consistency by @jancurn in #227
  • Clarify breaking change in CHANGELOG for removed shorthand commands by @jancurn in #229
  • Centralize CLI color theme into reusable theme object by @jancurn in #230
  • Fix session-state table rendering on GitHub by @jancurn in #228
  • Update MCP CLI clients table with May 2026 metrics by @jancurn in #231
  • chore: migrate from npm to pnpm 10 by @B4nan in #232
  • docs: align CLAUDE.md, CONTRIBUTING.md, and CHANGELOG with pnpm migration by @jancurn in #233
  • chore: Replace calling reusable actions from apify/workflows/... to apify/actions/... [internal] by @fnesveda in #235
  • chore: Update actions from apify/actions [internal] by @fnesveda in #237
  • chore(test): migrate from Jest to Vitest by @MQ37 in #236
  • Add Linux E2E tests and improve release notes by @jancurn in #239

New Contributors

Full Changelog: v0.2.6...v0.3.0

v0.2.6

15 Apr 21:19

Choose a tag to compare

What's Changed

  • Add tasks-result command to fetch final async task results by @jancurn in #171
  • Shell-quote JSON values in tool call examples by @jancurn in #172

Full Changelog: v0.2.5...v0.2.6

v0.2.4

07 Apr 11:34

Choose a tag to compare

What's Changed

  • feat: add experimental warning to x402 init and import commands by @MQ37 in #132
  • Add x402 payment documentation and experimental warning by @jancurn in #133
  • Show "ESC to detach" hint immediately in spinner by @jancurn in #135
  • Add Windows E2E tests to CI pipeline by @jancurn in #107
  • Auto-reconnect crashed and unauthorized bridge processes by @jancurn in #103
  • Attempt token refresh before marking session unauthorized by @jancurn in #134
  • Improve CLI help output: reorder sections and update usage text by @jancurn in #138
  • Show instruction snippets in grep results with pattern highlighting by @jancurn in #137
  • Security hardening: XSS prevention, shell injection mitigation, and file permissions by @jancurn in #139
  • Support OAuth access tokens as static Bearer headers by @jancurn in #142
  • Improve grep instructions snippet context and formatting by @jancurn in #143

Full Changelog: v0.2.3...v0.2.4

v0.2.3

31 Mar 06:29

Choose a tag to compare

What's Changed

  • feat: display ETH and USDC balances in mcpc x402 info by @MQ37 in #130
  • fix: avoid auto-detecting OAuth profile when --x402 is used without --profile by @MQ37 in #131

Full Changelog: v0.2.2...v0.2.3

v0.2.2

31 Mar 00:45

Choose a tag to compare

What's Changed

  • chore(deps): update typescript-eslint monorepo to v8.57.2 by @renovate[bot] in #124
  • chore(deps): update dependency undici to v7.24.5 by @renovate[bot] in #121
  • chore(deps): update dependency viem to v2.47.6 by @renovate[bot] in #123
  • Update MCP CLI clients table with metrics and new features by @jancurn in #126
  • Upgraded packages by @jancurn in #127
  • Update apify/mcpc tool comparison table: add Tool search support by @jancurn in #129
  • fix: Secure x402 wallet storage in OS keychain by @MQ37 in #128

Full Changelog: v0.2.1...v0.2.2

v0.2.1

30 Mar 01:04

Choose a tag to compare

What's Changed

  • Fix release action: remove invalid --target flag by @jancurn in #114
  • Replace local release script with GitHub Actions workflow trigger by @jancurn in #117
  • Fix flaky bun e2e auth-errors test by @jancurn in #118
  • chore(deps): update dependency viem to v2.47.5 by @renovate[bot] in #115
  • Extract formatToolLine to shared output module by @jancurn in #120
  • feat: x402 payment support — signature caching and JSON-RPC 402 retry by @MQ37 in #119
  • feat: Add QR code display for wallet addresses in x402 commands by @MQ37 in #122

Full Changelog: v0.2.0...v0.2.1

v0.2.0

25 Mar 09:25

Choose a tag to compare

What's Changed

  • feat: Major CLI syntax overhaul to mcpc [<@session>] [<command>] by @jancurn in #29
  • parseServerArg() now handles well Windows drive-letter config paths as well as other ambiguous cases by @jancurn in #34
  • Split E2E tests into separate Node.js and Bun jobs by @jancurn in #37
  • Add per-request timeout configuration support by @jancurn in #38
  • Add support for pre-configured OAuth client credentials by @jancurn in #36
  • Mark sessions as expired when authentication fails by @jancurn in #40
  • Separate global and subcommand-specific options in CLI parser by @jancurn in #41
  • Cap IPC buffer size at 10 MB to prevent unbounded memory growth by @jancurn in #44
  • Distinguish auth failures from session expiry with new 'unauthorized' state by @jancurn in #46
  • Move --header option from global to connect-specific by @jancurn in #47
  • Remove success field from logging-set-level JSON output by @jancurn in #48
  • Reorganize and expand Related work section with MCP CLI comparison table by @jancurn in #49
  • Update mcp2cli feature support in comparison table by @knowsuchagency in #51
  • Fix logTarget to avoid printing prefix when session not found by @jancurn in #56
  • feat: Add --insecure option to disable TLS certificate verification by @jancurn in #54
  • Fix auth header precedence and prevent conflicting --profile/--header by @jancurn in #58
  • Add randomized exponential backoff to file lock retries by @jancurn in #60
  • Add async task support for tool calls with progress tracking by @jancurn in #45
  • Fixed old merge conflict by @jancurn in #61
  • Configure minimum release age for Renovate by @jancurn in #62
  • Improve release workflow: support major/minor bumps and auto-update changelog by @jancurn in #63
  • Add installation instructions to release workflow summaries by @jancurn in #64
  • Clarify session states and improve documentation formatting by @jancurn in #65
  • Add fallback to manual URL paste when browser cannot open by @jancurn in #66
  • Better error messages by @jancurn in #68
  • Add color formatting to keychain unavailable warning by @jancurn in #67
  • Add progress notification support to async tool execution by @jancurn in #71
  • Auto-detect auth profiles on session restart by @jancurn in #70
  • Add ESC key listener to detach from async tool tasks by @jancurn in #72
  • Remove redundant success field from logging set-level JSON output by @jancurn in #74
  • Convert x402 sign command to use positional argument by @jancurn in #69
  • feat: send x402 payment via MCP _meta alongside HTTP header by @MQ37 in #76
  • Document x402 wallet commands and manual payment signing by @jancurn in #77
  • Fetch all tool pages on cache refresh, add getCachedTools IPC method by @jancurn in #73
  • Better help by @jancurn in #80
  • Remove MCP protocol version display from session output by @jancurn in #81
  • Show inline parameter signatures in tools list by @jancurn in #82
  • Reorganize CHANGELOG: consolidate CLI redesign and improve readability by @jancurn in #83
  • Add bold styling to help text section titles by @jancurn in #84
  • Fix auth loss when reconnecting unauthorized sessions by @jancurn in #85
  • Use PAT token for release workflow to bypass branch protection by @jancurn in #86
  • Add proxy-aware fetch for HTTP_PROXY/HTTPS_PROXY support by @jancurn in #87
  • Fix session expiration handling and keychain fallback logic by @jancurn in #88
  • Add evantahler/mcpx to MCP implementations table by @jancurn in #89
  • Add E2E test prerequisites to CONTRIBUTING.md by @jirispilka in #90
  • chore(deps): update dependency viem to v2.47.4 by @renovate[bot] in #28
  • chore(deps): update dependency @types/node to v25.4.0 by @renovate[bot] in #27
  • chore(deps): update dependency undici to v7.24.0 [security] by @renovate[bot] in #75
  • chore(deps): update dependency @inquirer/select to v5.1.2 by @renovate[bot] in #92
  • chore(deps): update typescript-eslint monorepo to v8.57.0 by @renovate[bot] in #50
  • chore(deps): update dependency jest to v30.3.0 by @renovate[bot] in #52
  • chore(deps): update dependency @types/node to v25.5.0 by @renovate[bot] in #94
  • chore(deps): update dependency undici to v7.24.4 by @renovate[bot] in #93
  • chore(deps): update dependency @inquirer/input to v5.0.10 by @renovate[bot] in #91
  • chore(deps): update typescript-eslint monorepo to v8.57.1 by @renovate[bot] in #96
  • Improve CLI output messaging and reorder server details sections by @jancurn in #99
  • Fix help command missing mcpc <@session> prefix in usage line by @jancurn in #105
  • Added grep command by @jancurn in #100
  • Remove spaces around colons in tool parameter formatting by @jancurn in #110
  • Add async tasks support documentation by @jancurn in #112
  • Add tasks API, improve CLI UX, and fix auth/proxy issues by @jancurn in #113

New Contributors

Full Changelog: v0.1.11...v0.2.0

v0.1.11

05 Mar 21:49
5efdc62

Choose a tag to compare

What's Changed

  • Configure Renovate by @renovate[bot] in #13
  • fix: flush stdout before process.exit() to prevent pipe truncation by @vystrcild in #17
  • fix: add tsx as devDependency to prevent E2E test race condition by @MQ37 in #12
  • chore: add release workflow for stable and beta npm publishing by @MQ37 in #21
  • fix: remove git commits from release workflow, auto-increment beta from npm by @MQ37 in #22
  • Keychain access fallback to file-based credential storage by @jancurn in #23
  • feat: x402 payment protocol support by @MQ37 in #11
  • chore(deps): update dependency node to v24 by @renovate[bot] in #20
  • chore: Added E2E tests with Bun runtime by @jancurn in #25
  • chore(deps): update actions/checkout action to v6 by @renovate[bot] in #15
  • chore(deps): update dependency @types/node to v25.3.3 by @renovate[bot] in #14
  • chore(deps): update dependency viem to v2.47.0 by @renovate[bot] in #24
  • chore(deps): update actions/setup-node action to v6 by @renovate[bot] in #18
  • fix: regenerate package-lock.json for CI compatibility by @MQ37 in #26

New Contributors

Full Changelog: v0.1.10...v0.1.11