Skip to content

Releases: dickdavis/model-context-protocol-rb

v0.7.0

Choose a tag to compare

@dickdavis dickdavis released this 13 Mar 21:00
9658cc3

What's Changed

New Contributors

Full Changelog: v0.6.0...v0.7.0

v0.6.0

Choose a tag to compare

@dickdavis dickdavis released this 26 Jan 19:24
4390192

Breaking Changes

Connection pool dependency updated - This release updates the connection_pool gem dependency. If you have other gems that depend on connection_pool, you may need to update them to versions compatible with the latest connection_pool release.

New Features

  • Server logging capability for internal server diagnostics (separate from client logging which sends messages via MCP protocol)
  • Informational and debug logging in streamable HTTP transport

Bug Fixes

  • Ensure stream monitor thread shuts down quickly
  • Ensure streams are closed when the server shuts down
  • Fix stream handling in streamable HTTP transport
  • Ensure empty options don't break the registry
  • Ensure progressable timer tasks do not run indefinitely

v0.5.1

Choose a tag to compare

@dickdavis dickdavis released this 23 Sep 23:42
7c8e2a9

This patch release includes a fix that ensures streams are properly closed when clients are disconnected.

v0.5.0

Choose a tag to compare

@dickdavis dickdavis released this 23 Sep 03:33
053bf75

We're excited to announce version 0.5.0 of the model-context-protocol-rb! This release focuses on production readiness and advanced operational capabilities, particularly around thread safety, state management, and real-time communication.

New Features

Thread-Safe Operations

  • Enhanced streamable HTTP transport with full thread safety through Redis-based state management
  • Implemented Redis connection pooling with robust configuration and management
  • Automatic SSE (Server-Sent Events) upgrade for real-time notification delivery

Advanced Operational Support

  • Added cancellation support via cancellable blocks in prompts, resources, and tools
  • Implemented progress notification capabilities through progressable blocks
  • Enhanced real-time communication patterns for long-running operations

Production Infrastructure

  • Redis integration for scalable state management in multi-threaded environments
  • Improved connection management and resource pooling
  • Enhanced notification delivery mechanisms

Key Improvements

This release represents a significant step toward production readiness, with particular emphasis on:

  • Scalability: Redis-backed state management enables horizontal scaling
  • Reliability: Thread-safe operations and robust connection pooling
  • User Experience: Real-time progress updates and cancellation support

Migration Notes

If you're using the streamable HTTP transport, this version no longer requires you to pass in a Redis client. Instead, configure redis using the ModelContextProtocol::Server.configure_redis block in an initializer.

v0.4.0

Choose a tag to compare

@dickdavis dickdavis released this 08 Sep 05:11
9489354

We're excited to announce version 0.4.0 of the Model Context Protocol Ruby implementation! This release brings significant new features, improved ergonomics, and several breaking changes that enhance the overall developer experience.

New Features

Enhanced Content Support

  • Content Responses: Added helper methods for easily serializing text, image, audio, embedded resource, and resource link content blocks
  • Structured Content: Tools now support output_schema declaration and validation for structured responses
  • Resource Annotations: Implement comprehensive resource annotation support

Protocol Improvements

  • Pagination Support: Added full pagination capabilities for handling large datasets
  • Server Metadata: Added support for server title and instructions
  • Protocol Negotiation: Implemented support for protocol negotiation
  • Default Completion: Added default completion functionality

Developer Experience

  • Prompt Builder DSL: New domain-specific language for easily building message history for prompts, with support for new content block helpers
  • Title Support: Prompts, resources, and tools can now declare the title field
  • Streamable HTTP Transport: Finalized the initial working version of streamable HTTP transport

Breaking Changes

  • respond_with Simplification: Streamlined the ergonomics of respond_with for better usability
  • Method Rename: with_metadata has been renamed to define to avoid confusion with MCP's distinct metadata concept
  • Argument Structure: Argument declarations are now nested within define (formerly with_metadata)

Migration Guide

If you're upgrading from a previous version:

  1. Replace with_metadata calls with define
  2. Update argument declarations to use the new nested structure within define
  3. Review your respond_with usage for the simplified API
  4. Consider leveraging the new content block helpers for improved serialization

v0.3.4

Choose a tag to compare

@dickdavis dickdavis released this 02 Sep 22:28
e784283

This release introduces logging support, an experimental Streamable HTTP transport, improved ergonomics for completions and resource templates, and the ability to provide context to prompts, resources, and tools. It also introduces two breaking changes:

  • Prompts and tools should now reference arguments (with symbolized keys) instead of params when accessing data passed in by MCP clients.
  • Logging should now be configured by setting logging_enabled to true or false instead of enable_log.

v0.3.2

Choose a tag to compare

@dickdavis dickdavis released this 10 May 05:12
f89b644

This release introduces a simple DSL for defining metadata, implements resource templates, and adds completion support.

v0.3.1

Choose a tag to compare

@dickdavis dickdavis released this 05 Apr 01:58
ba5848a

This release introduces the respond_with helper that makes it simple to ensure resource, prompts, and tools return properly formatted data responses. It also introduces configuration options for setting environment variables within the MCP server (thanks @hmk). Lastly, it improves the developer tooling with a rake task for generating an executable to use for testing as well as improved test classes for manual testing with the MCP inspector.

v0.3.0

Choose a tag to compare

@dickdavis dickdavis released this 13 Mar 17:21
169e50c

This release greatly improves the developer experience of building custom handlers for tools, prompts, and resources.

Breaking Changes

  • Router Initialization Replaced: Now using registry initialization during server configuration. The server relies on the registry for auto-discovery of prompts, resources, and tools.

    • Required Action: Use SDK-provided builders to facilitate this change.
  • Data Objects Implementation: Standardized the use of Data objects throughout the codebase.

    • Required Action: Custom handlers must now respond with objects that implement the serialized method.

Improvements

  • Refactored implementation to maintain separation of concerns
  • Enhanced test coverage
  • Upgraded development tooling

v0.2.0

Choose a tag to compare

@dickdavis dickdavis released this 14 Jan 06:10
e5ca04e

This release includes an implementation of a single-threaded MCP server that routes messages to custom handlers.