Skip to content

fix(compat): support mcp 1.10.0 - #4

Merged
naji247 merged 1 commit into
mainfrom
meowbot/compat-mcp-compat
Nov 12, 2026
Merged

naji247 merged 1 commit into
mainfrom
meowbot/compat-mcp-compat

Conversation

@meowbot-agent

@meowbot-agent meowbot-agent Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Failing

Scheduled run 43139974718:

  • mcp 1.10.0 (ruby 3.4)
  • mcp 1.10.0 (ruby 3.3)
  • mcp 1.10.0 (ruby 4.0)

Cause

mcp 1.10.0 registers a ServerContext autoload, so const_defined? returns true before the class loads. The fresh-process regression test mistakes that registration for an already loaded class and aborts with MCP::ServerContext is already loaded.

Evidence

  • First failure: PrivateMembersTest#test_probes_server_context_in_a_process_that_has_not_loaded_mcp_server [test/test_private_members.rb:34], followed by MCP::ServerContext is already loaded.
  • Ruby 3.4 failure at 2026-11-12T02:15:30.3265116Z: 779 runs, 2828 assertions, 1 failures, 0 errors, 0 skips.
  • Ruby 3.3 and 4.0 report the same failure and totals in the linked run.
  • Last green run 42944486471 and the failed run use commit a53ca4c72b33a9393dadfad2a3163a837c3d45df. The failed matrix adds mcp 1.10.0.
  • Upstream release, published 2026-11-11T14:05:34Z: “Autoload MCP::ServerContext from the gem entry point (#656)”.
  • Upstream diff: lib/mcp.rb adds autoload :ServerContext, "mcp/server_context".

Change

  • Distinguish pending autoloads from loaded classes with autoload?.
  • Assert that neither Server nor ServerContext loads before the probes run, and retain both probe-result assertions.
  • Correct comments about older MCP versions without changing runtime behavior, dependencies, or the supported matrix.

Test

  • Local: git diff --check passed.
  • CI only for Ruby commands because Ruby and Bundler are not installed in this worktree.
  • Compatibility CI 43143572044 passed all 42 MCP/Ruby jobs at commit e5046d8c5d3519c603eefa3107b06815a8aef5be with bundle exec rake.
  • Each mcp 1.10.0 job on Ruby 3.3, 3.4, and 4.0 reports 779 runs, 2829 assertions, 0 failures, 0 errors, 0 skips.
  • Pull-request CI 43143571925 passed all seven jobs. COVERAGE=1 bundle exec rake and bundle exec rake test:e2e passed on Ruby 3.3, 3.4, and 4.0.
  • bundle exec standardrb, bundle exec srb tc, bundle audit check --update, bundle exec rake type_coverage, and bundle exec rake rbi_freshness passed in that CI run.
  • Push CI 43143564244 also passed on the same commit.

Thread

The task supplied the failed-run URL above but no Slack permalink.

The nightly mcp 1.10.0 jobs fail with "MCP::ServerContext is already loaded" because const_defined? includes registered autoloads. Distinguish pending autoloads from loaded classes while preserving the fresh-process probe assertions.
@naji247
naji247 merged commit a0156c9 into main Nov 12, 2026
60 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant