quickstart-resources/mcp-client-ruby
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Koichi ITO a1838e965a Add client-level connect handshake to stdio transport
## Motivation and Context

Follow-up to https://github.com/modelcontextprotocol/ruby-sdk/pull/336

mcp gem 0.15.0 introduced an explicit `MCP::Client#connect` method for the stdio transport,
aligning with the Python and TypeScript SDKs which require explicit handshake calls regardless
of transport type:

- Python SDK: `ClientSession.initialize()`
  https://github.com/modelcontextprotocol/python-sdk
- TypeScript SDK: `Client.connect(transport)`
  https://github.com/modelcontextprotocol/typescript-sdk

This sample is updated to call `@mcp_client.connect` explicitly after creating the client,
demonstrating the recommended initialization pattern. The Gemfile constraint is bumped to `>= 0.15.0`
to require the new API.

## How Has This Been Tested?

Ran the sample against `weather-server-ruby` and confirmed the connection, tool listing,
and chat loop continue to work as expected.

## Breaking Changes

None. The change updates the sample to use the new explicit `connect` API,
which was added as a non-breaking addition in mcp gem 0.15.0.
2026-05-06 09:27:15 +09:00
..
.env.example Add Ruby MCP client example 2026-03-23 22:45:16 +09:00
client.rb Add client-level connect handshake to stdio transport 2026-05-06 09:27:15 +09:00
Gemfile Add client-level connect handshake to stdio transport 2026-05-06 09:27:15 +09:00
README.md Add Ruby MCP client example 2026-03-23 22:45:16 +09:00

An LLM-Powered Chatbot MCP Client written in Ruby

See the Building MCP clients tutorial for more information.