Skip to content

Update Ruby MCP client example - #177

Merged
olaservo merged 1 commit into
modelcontextprotocol:mainfrom
koic:update_ruby_client
Aug 10, 2026
Merged

Update Ruby MCP client example#177
olaservo merged 1 commit into
modelcontextprotocol:mainfrom
koic:update_ruby_client

Conversation

@koic

@koic koic commented Aug 7, 2026

Copy link
Copy Markdown
Member

Follow-up to #121.

This PR removes the base64 dependency from the Gemfile, as it became a runtime dependency of Claude SDK for Ruby v1.60.0+.
anthropics/anthropic-sdk-ruby#161 (comment)

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Follow-up to modelcontextprotocol#121.

This PR removes the `base64` dependency from the Gemfile, as it became a runtime dependency of
Claude SDK for Ruby v1.60.0+.
anthropics/anthropic-sdk-ruby#161 (comment)
@koic
koic force-pushed the update_ruby_client branch from a9f56b7 to 0c048a9 Compare August 7, 2026 20:19
koic added a commit to koic/modelcontextprotocol that referenced this pull request Aug 7, 2026
Follow-up to modelcontextprotocol/quickstart-resources#177.

This PR removes the `base64` dependency from the `bundle add` arguments,
as it became a runtime dependency of Claude SDK for Ruby v1.60.0+.
anthropics/anthropic-sdk-ruby#161 (comment)

At least when this draft of `build-client.mdx` was written, `bundle add ...` was expected to install
a recent version of the Claude SDK for Ruby that already includes `base64` as a runtime dependency.
@olaservo
olaservo requested a lite review from Copilot August 10, 2026 02:39
olaservo pushed a commit to modelcontextprotocol/modelcontextprotocol that referenced this pull request Aug 10, 2026
Follow-up to modelcontextprotocol/quickstart-resources#177.

This PR removes the `base64` dependency from the `bundle add` arguments,
as it became a runtime dependency of Claude SDK for Ruby v1.60.0+.
anthropics/anthropic-sdk-ruby#161 (comment)

At least when this draft of `build-client.mdx` was written, `bundle add ...` was expected to install
a recent version of the Claude SDK for Ruby that already includes `base64` as a runtime dependency.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Ruby MCP client example’s dependency set to align with newer Anthropic Ruby SDK behavior, simplifying the Gemfile now that base64 is provided transitively at runtime.

Changes:

  • Remove the explicit base64 gem dependency from the Ruby example Gemfile.
  • Add a minimum version constraint for anthropic (>= 1.60.0) to ensure the runtime dependency behavior is present.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@olaservo
olaservo merged commit 12ef7bc into modelcontextprotocol:main Aug 10, 2026
2 checks passed
@koic
koic deleted the update_ruby_client branch August 10, 2026 03:53
olaservo added a commit to olaservo/quickstart-resources that referenced this pull request Aug 10, 2026
CI installed no Ruby toolchain and the suite ran no Ruby example, so
nothing under mcp-client-ruby or weather-server-ruby was exercised by a
green build. A dependency change there -- modelcontextprotocol#177 removes the base64 gem
now that the anthropic gem declares it -- merges on the strength of a
check that never resolved its Gemfile.

The client is drivable without credentials: it connects before it looks
for ANTHROPIC_API_KEY and exits 0 when there is none, the same shape the
Python and TypeScript clients already rely on for their coverage.

The Ruby weather server stays uncovered. The mcp gem's server does not
emit the resultType field that protocol revision 2026-07-28 makes
mandatory, so the test client rejects its responses; that is a fix for
the gem rather than something an example can work around. The README
said the gem could not negotiate the revision at all, which stopped
being true at 1.1.0 -- it negotiates, then answers incompletely.

Ruby 3.4 rather than the 3.2.0 floor the anthropic gem declares: 3.2
reached end of life in March 2026, and a gem's floor says what it
tolerates, not what an example should tell people to run.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
olaservo added a commit to olaservo/quickstart-resources that referenced this pull request Aug 10, 2026
CI installed no Ruby toolchain and the suite ran no Ruby example, so
nothing under mcp-client-ruby or weather-server-ruby was exercised by a
green build. A dependency change there -- modelcontextprotocol#177 removes the base64 gem
now that the anthropic gem declares it -- merges on the strength of a
check that never resolved its Gemfile.

The client is drivable without credentials: it connects before it looks
for ANTHROPIC_API_KEY and exits 0 when there is none, the same shape the
Python and TypeScript clients already rely on for their coverage.

The Ruby weather server stays uncovered. The mcp gem's server does not
emit the resultType field that protocol revision 2026-07-28 makes
mandatory, so the test client rejects its responses; that is a fix for
the gem rather than something an example can work around. The README
said the gem could not negotiate the revision at all, which stopped
being true at 1.1.0 -- it negotiates, then answers incompletely.

Ruby 3.4 rather than the 3.2.0 floor the anthropic gem declares: 3.2
reached end of life in March 2026, and a gem's floor says what it
tolerates, not what an example should tell people to run.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.

3 participants